The OpenMRS
           HL7Query module
          An introduction to the HLQuery module,
                     its design and use




Suranga Nath Kasthurirathne
What we’ll cover
Planning and designing
  Specific uses cases
  Design process
What the module currently supports
  Included hl7 message types / structure
Configuring the module
How the module can be extended / modified
Demo
What, how and why

A means of exporting OpenMRS data
Translates OpenMRS data into hl7 messages
Asynchronous
Supports both pipe delimited and xml based
hl7 messages
Groovyscript to design message structure
Why ?

No universally agreed approach to export hl7
from OpenMRS
Jembi Health Systems needed this
requirement
No two people agreed on the same hl7 to
OpenMRS data mapping
Needed to support multiple message types
Design
HL7 message structure
Messages broken down into segments
  Some segments are mandatory, some are
  not
  Some segments can be repeated, others
  cant
All depends on your definition of ‘what's
correct’
  How stringent do you want your message
  to be ?
Design cont.…

How did we do this ?
 Create templates per each segment
 Introduce a template hierarchy
 Parent templates can call child templates
 Parent templates decide hl7 message
 structure
 Child templates decide message contents
 (data)
Template hierarchy
      cont.…
Please refer to
https://wiki.openmrs.org/display/projects/ORU_R01+S
pecification+for+the+hL7output+Module
Example
  ORUR01 template calls the PID template.
  PID template may call PID.3 once or many
  times
  You can even introduce your own PID or
  PID.3 templates !
Why not Mirth ?

Supports integration with mirth
  Module creates message, and hands it over to
  you
  Users can integrate Mirth for routing these
  messages (if you want to)

  Why don’t we provide Mirth as default ?
   We DON’T want a dependency on Mirth
Setting up the module

Required OpenMRS 1.8.2 or higher
Edit global properties
  MSH data fields
  Name of parent template you’re using
Set implementation Id
  Used to export concepts without any
  mappings
OpenMRS HL7Query
    Module

   Demonstration
Querying for ORUR01
     messages
ORUR01 messages represent medical
observations
They are supported by default
In OpenMRS-speak, ORUR01 represent
encounters and observations
Single request can contain one or many
encounters
Sample query
       parameters
patientId
idTypeUuid
encounterUuid
startDate
endDate

 None of these parameters are mandatory !
Resources
Wiki :
https://wiki.openmrs.org/display/docs/HL7Qu
ery+Module

Jira :
https://tickets.openmrs.org/browse/HLQRY

Git: https://github.com/openmrs/openmrs-
module-hl7query
Thank you !

More Related Content

PPTX
OpenMRS Concept Management Tutorial
PPTX
What Is Open M R S
PPTX
OpenMRS presentation
PPTX
OpenMRS Lightning Talk: Pleebo Health Center
PDF
Openmrs Use Examples PDF
PPTX
OpenMRS Reference Application, Getting Started
PPT
Openmrs Use Examples PPT
PPT
OpenMRS Transformation
OpenMRS Concept Management Tutorial
What Is Open M R S
OpenMRS presentation
OpenMRS Lightning Talk: Pleebo Health Center
Openmrs Use Examples PDF
OpenMRS Reference Application, Getting Started
Openmrs Use Examples PPT
OpenMRS Transformation

Viewers also liked (20)

PPTX
Visits in OpenMRS 1.9
PDF
OpenMRS: htmlforms
PPTX
Study of OpenMRS
PPTX
Building an OpenMRS Distribution - Lessons from KenyaEMR
PPTX
FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)
PDF
Partners In Health and Medical Informatics overview (brief)
PPTX
Inability to Say NO
PPTX
OpenMRS Concept Management Tutorial (addendum)
PPT
Darius Open Mrs Examples
PPTX
OpenMRS Presentation
PDF
Cover front and back for leadership asg
PPTX
OpenMRS presentation, part of Google Code-In 2015
PPT
OpenMRS Meeting Boston, Introduction
PPTX
FOSS Asia 2016 - OpenMRS networks for networks
PPT
MVP Open Mrs Update 052609
PPT
Seebregts Omrs Oasis Boston May09
PPTX
Open MRS
PPT
Open Mrs Vision 2
ODP
AngularJS and REST - #omrs15 tutorial
PPTX
Health IT and OpenMRS
Visits in OpenMRS 1.9
OpenMRS: htmlforms
Study of OpenMRS
Building an OpenMRS Distribution - Lessons from KenyaEMR
FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)
Partners In Health and Medical Informatics overview (brief)
Inability to Say NO
OpenMRS Concept Management Tutorial (addendum)
Darius Open Mrs Examples
OpenMRS Presentation
Cover front and back for leadership asg
OpenMRS presentation, part of Google Code-In 2015
OpenMRS Meeting Boston, Introduction
FOSS Asia 2016 - OpenMRS networks for networks
MVP Open Mrs Update 052609
Seebregts Omrs Oasis Boston May09
Open MRS
Open Mrs Vision 2
AngularJS and REST - #omrs15 tutorial
Health IT and OpenMRS
Ad

More from Suranga Nath Kasthurirathne (14)

PPTX
Interoperability, the rise of HL7 and FHIR
PPTX
Aehin 2016 backup
PPTX
Pgim 2016-finalized
PPT
Gsoc 2016-iit-snk-v1.0
PPTX
Decision Modelling for n00bs
PPTX
Ghi diagnostic-reports
PPTX
Towards a fhir based api: lessons learnt with supporting interoperability for...
PPTX
Powerpoint Karaoke, Maputo 2015
PPTX
Regenstrief WIP 07012015
PPTX
Snk fhir-for-OpenMRS-wip-07102014
PPTX
Sk ghi (wip) 22052014
PPT
PPTX
Expanding on obs
PPTX
Gsoc 2011 suranga
Interoperability, the rise of HL7 and FHIR
Aehin 2016 backup
Pgim 2016-finalized
Gsoc 2016-iit-snk-v1.0
Decision Modelling for n00bs
Ghi diagnostic-reports
Towards a fhir based api: lessons learnt with supporting interoperability for...
Powerpoint Karaoke, Maputo 2015
Regenstrief WIP 07012015
Snk fhir-for-OpenMRS-wip-07102014
Sk ghi (wip) 22052014
Expanding on obs
Gsoc 2011 suranga
Ad

The open mrs hl7query module

  • 1. The OpenMRS HL7Query module An introduction to the HLQuery module, its design and use Suranga Nath Kasthurirathne
  • 2. What we’ll cover Planning and designing Specific uses cases Design process What the module currently supports Included hl7 message types / structure Configuring the module How the module can be extended / modified Demo
  • 3. What, how and why A means of exporting OpenMRS data Translates OpenMRS data into hl7 messages Asynchronous Supports both pipe delimited and xml based hl7 messages Groovyscript to design message structure
  • 4. Why ? No universally agreed approach to export hl7 from OpenMRS Jembi Health Systems needed this requirement No two people agreed on the same hl7 to OpenMRS data mapping Needed to support multiple message types
  • 5. Design HL7 message structure Messages broken down into segments Some segments are mandatory, some are not Some segments can be repeated, others cant All depends on your definition of ‘what's correct’ How stringent do you want your message to be ?
  • 6. Design cont.… How did we do this ? Create templates per each segment Introduce a template hierarchy Parent templates can call child templates Parent templates decide hl7 message structure Child templates decide message contents (data)
  • 7. Template hierarchy cont.… Please refer to https://wiki.openmrs.org/display/projects/ORU_R01+S pecification+for+the+hL7output+Module Example ORUR01 template calls the PID template. PID template may call PID.3 once or many times You can even introduce your own PID or PID.3 templates !
  • 8. Why not Mirth ? Supports integration with mirth Module creates message, and hands it over to you Users can integrate Mirth for routing these messages (if you want to) Why don’t we provide Mirth as default ? We DON’T want a dependency on Mirth
  • 9. Setting up the module Required OpenMRS 1.8.2 or higher Edit global properties MSH data fields Name of parent template you’re using Set implementation Id Used to export concepts without any mappings
  • 10. OpenMRS HL7Query Module Demonstration
  • 11. Querying for ORUR01 messages ORUR01 messages represent medical observations They are supported by default In OpenMRS-speak, ORUR01 represent encounters and observations Single request can contain one or many encounters
  • 12. Sample query parameters patientId idTypeUuid encounterUuid startDate endDate None of these parameters are mandatory !