SlideShare uma empresa Scribd logo
1 de 14
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 !

Mais conteúdo relacionado

Destaque

Visits in OpenMRS 1.9
Visits in OpenMRS 1.9Visits in OpenMRS 1.9
Visits in OpenMRS 1.9djazayeri
 
OpenMRS: htmlforms
OpenMRS: htmlformsOpenMRS: htmlforms
OpenMRS: htmlformslnball
 
Building an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMRBuilding an OpenMRS Distribution - Lessons from KenyaEMR
Building an OpenMRS Distribution - Lessons from KenyaEMRrowanseymour
 
FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)
FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)
FHIR for OpenMRS: How, what and Why (Maputo 2015, Lightning talks)Suranga Nath Kasthurirathne
 
Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)lnball
 
OpenMRS Concept Management Tutorial (addendum)
OpenMRS Concept Management Tutorial (addendum)OpenMRS Concept Management Tutorial (addendum)
OpenMRS Concept Management Tutorial (addendum)lnball
 
Darius Open Mrs Examples
Darius Open Mrs ExamplesDarius Open Mrs Examples
Darius Open Mrs Exampleshamishfraser
 
OpenMRS Presentation
OpenMRS PresentationOpenMRS Presentation
OpenMRS PresentationAnnieLGCI
 
Cover front and back for leadership asg
Cover front and back for leadership asgCover front and back for leadership asg
Cover front and back for leadership asgSokunthea So
 
OpenMRS presentation, part of Google Code-In 2015
OpenMRS presentation, part of Google Code-In 2015 OpenMRS presentation, part of Google Code-In 2015
OpenMRS presentation, part of Google Code-In 2015 Ioana-Andreea Berdei
 
OpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, IntroductionOpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, Introductionhamishfraser
 
FOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networksFOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networksSaptarshi Purkayastha
 
MVP Open Mrs Update 052609
MVP Open Mrs Update 052609MVP Open Mrs Update 052609
MVP Open Mrs Update 052609hamishfraser
 
Seebregts Omrs Oasis Boston May09
Seebregts Omrs Oasis Boston May09Seebregts Omrs Oasis Boston May09
Seebregts Omrs Oasis Boston May09hamishfraser
 
AngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorialAngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorialSaptarshi Purkayastha
 

Destaque (20)

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

Semelhante a The open mrs hl7query module

Strategic Directions for Health Informatics Content Interoperability in NZ
Strategic Directions for Health Informatics Content Interoperability in NZStrategic Directions for Health Informatics Content Interoperability in NZ
Strategic Directions for Health Informatics Content Interoperability in NZHealth Informatics New Zealand
 
The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3Intelliware Development Inc.
 
Implementing an HL7 version 3 modeling tool from an Ecore model
Implementing an HL7 version 3 modeling tool from an Ecore modelImplementing an HL7 version 3 modeling tool from an Ecore model
Implementing an HL7 version 3 modeling tool from an Ecore modelSnow Owl
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship ChecklistRyan Polk
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOAMohamed Samy
 
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.DicksonHL7Trainer
 
Top 30 Technical interview questions
Top 30 Technical interview questionsTop 30 Technical interview questions
Top 30 Technical interview questionsSohailSaifi15
 
What is OOP_ (Object Oriented Programming) (1).pptx
What is OOP_ (Object Oriented Programming) (1).pptxWhat is OOP_ (Object Oriented Programming) (1).pptx
What is OOP_ (Object Oriented Programming) (1).pptxhreempandya
 
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...Timothy Cook
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)James Towers
 
Software design principles - jinal desai
Software design principles - jinal desaiSoftware design principles - jinal desai
Software design principles - jinal desaijinaldesailive
 
E health interoperability layer through kafka
E health interoperability layer through kafkaE health interoperability layer through kafka
E health interoperability layer through kafkaIfunga Ndana
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflowDatabricks
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 

Semelhante a The open mrs hl7query module (20)

Strategic Directions for Health Informatics Content Interoperability in NZ
Strategic Directions for Health Informatics Content Interoperability in NZStrategic Directions for Health Informatics Content Interoperability in NZ
Strategic Directions for Health Informatics Content Interoperability in NZ
 
Data structure
Data structureData structure
Data structure
 
The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3
 
Implementing an HL7 version 3 modeling tool from an Ecore model
Implementing an HL7 version 3 modeling tool from an Ecore modelImplementing an HL7 version 3 modeling tool from an Ecore model
Implementing an HL7 version 3 modeling tool from an Ecore model
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship Checklist
 
chapter - 1.ppt
chapter - 1.pptchapter - 1.ppt
chapter - 1.ppt
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOA
 
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.
FHIR Corporate Training in INDIA,USA,CANADA ,UAE ,QATAR,DUBAI.
 
Top 30 Technical interview questions
Top 30 Technical interview questionsTop 30 Technical interview questions
Top 30 Technical interview questions
 
What is OOP_ (Object Oriented Programming) (1).pptx
What is OOP_ (Object Oriented Programming) (1).pptxWhat is OOP_ (Object Oriented Programming) (1).pptx
What is OOP_ (Object Oriented Programming) (1).pptx
 
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...
AeHIN 28 August, 2014 - Innovation in Healthcare IT Standards: The Path to Bi...
 
MLHIM FHIES 2013
MLHIM FHIES 2013 MLHIM FHIES 2013
MLHIM FHIES 2013
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
 
Software design principles - jinal desai
Software design principles - jinal desaiSoftware design principles - jinal desai
Software design principles - jinal desai
 
Oss questions
Oss questionsOss questions
Oss questions
 
E health interoperability layer through kafka
E health interoperability layer through kafkaE health interoperability layer through kafka
E health interoperability layer through kafka
 
PHP Training In Chandigarh
PHP Training In ChandigarhPHP Training In Chandigarh
PHP Training In Chandigarh
 
HL7 - Whats Hot and Whats Not
HL7 - Whats Hot and Whats NotHL7 - Whats Hot and Whats Not
HL7 - Whats Hot and Whats Not
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflow
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 

Mais de Suranga Nath Kasthurirathne (14)

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

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 !