Integration with OpenMRS over FHIR

Hi All,

I am looking to investigate out of box support for OpenMRS and OEG2.

I have looked into the FHIR workflow and also the approach of using OpenHIE and IOL. However, my requirements are much simpler, where I have an OpenMRS instance which needs to send ServiceRequest to an OpenELIS instance. (there’s some more context to that, but I will post a different thread for that). Hence I want to cut down on OpenHIE and IOL, which in our context is overhead and does not need the complexity.

I am looking at the following OMODs on OpenMRS. Please let me know if my understanding is clear.

  1. OpenMRS Lab on FHIR module: GitHub - openmrs/openmrs-module-labonfhir: A FHIR-based Lab Workflow for OpenMRS and FHIR Based LIS - This module only deals with sending the “order” to OEG2 - where it creates a FHIR transaction bundle with details of Task, Patient, encounter and order (task:based-on) details.

  2. OpenMRS Lab Integration module - GitHub - IsantePlus/openmrs-module-labintegration: Module for integration with lab systems. This deals with receiving the message from OEG2.

However, the above only can receive HL7v2 message, and not HL7 FHIR.

My questions on the above are:

  1. Is my understanding right on the above? that we send a FHIR task with reference data (patient, servicerequest, encounter details) and get back an HL7 v2 response for results? if yes, why so? Can OEG2 return a FHIR DiagnosticReport, or return a reference or link (As part of the task output) to the FHIR DiagnosticReport, which can be fetched by OpenMRS?
  2. What all configurations do I need? Looking at the Lab on FHIR module, do I need setup all the variables as global property? I understand much of the truststore, keystore variables are for secure communication with certs over HTTPS. Can I get started with just basic auth?

cc: @caseyi @Moses_Mutesasira if you can provide some direction please?

The Lab Integration module was specifically done for IsantepLUS ditro and doesnt necessarily integrate with OpenELIS Global

For general OpenMRS integration with OEG2 , we primarily use the Lab On FHIR module and FHIR2 module.
The exchage is purely FHIR based ie OEG2 recives FHIR input ie ServiceRequest , Patient and sends back FHIR output ie Diagnostic Report , Obersavtaion.
The Task Resource is mainly a container Resource to track the status of the Order at any point during the exachange

You can litelraly run the setup with no Authentication at all for example if all services are running with in the same internal network and the FHIR server is not exposed to the external/public network
Note that the exchange goes through a FHIR server yet by default it comes with no Auth meachanism at all.

We use OpenHIM as a proxy to secure the FHIR server ,and in that setup we use basic auth through OpenHIM ,though it supports other auth mechanisam like HTTPS certs etc.

Here is a quick setup that you can run to explore the integration .This uses OpenHIM to provide basic auth for the FHIR server

1 Like