Date post: | 29-Nov-2014 |
Category: |
Documents |
Upload: | suranga-nath-kasthurirathne |
View: | 483 times |
Download: | 0 times |
The OpenMRS HL7Query module
An introduction to the HLQuery module, its design and use
Suranga Nath Kasthurirathne
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 we’ll cover
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
What, how and 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
Why ?
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
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)
Design cont.…
Please refer to https://wiki.openmrs.org/display/projects/ORU_R01+Specification+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 !
Template hierarchy cont.…
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
Why not Mirth ?
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
Setting up the module
OpenMRS HL7Query Module
Demonstration
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
Querying for ORUR01 messages
patientId idTypeUuid encounterUuid startDate endDate
None of these parameters are mandatory !
Sample query parameters
Wiki : https://wiki.openmrs.org/display/docs/HL7Query+Module
Jira : https://tickets.openmrs.org/browse/HLQRY
Git: https://github.com/openmrs/openmrs-module-hl7query
Resources
Thank you !