The Lab Order workflow between OpenELIS and OpenMRS will use the FHIR Workflow Module and suggested Communication Patterns to implement the ordering of lab tests from OpenMRS to OpenELIS and the returning the results to OpenMRS.
The current communication workflow uses HL7 V2.5.1 messages as documented here: (https://github.com/openelisglobal/openelisglobal-core/wiki/Result-Reporting). This functionality is implemented in openmrs-module-labintegration, an OpenMRS module made for an implementation of OpenMRS deployed in Haiti called iSantePlus.
Required FHIR Resources
The Task resource is created along with the corresponding ServiceRequest resource when a clinician creates a TestOrder and decides to send it to OpenELIS.
This resource is used to track the status of the lab order request from initiation to completion, and as a container for all other resources related to the given order.
The ServiceRequest resource represents the TestOrder placed in OpenMRS. It is referenced from the Task with the Task.basedOn element, and sent to OpenELIS with the Task to initiate the processing of the order.
The DiagnosticReport resource is the container for the results of an Order, and holds these results in the DiagnosticReport.result element as references to Observation resources.
The Observation resource contains the results of the Lab Order request;.
The Patient resource contains vital information for OpenELIS to fullfill the lab order request, and is referenced by the Task.
Relevant FHIR Docs
- Using Tasks in a RESTful Context: https://www.hl7.org/fhir/task.html#184.108.40.206
- Workflow Module: https://www.hl7.org/fhir/workflow-module.html
- Diagnostic Module: https://www.hl7.org/fhir/diagnostics-module.html
- Example: Workflow states for a lab order for a blood test: https://www.hl7.org/fhir/workflow-communications.html#220.127.116.11
- Option G: POST of Task to fulfiller's system: https://www.hl7.org/fhir/workflow-management.html#optiong
Relevant Talk Posts
Relevant Github Links
- PR #14 - FHIR Support for Lab Orders