Pulling Data From OpenMRS via OpenHIM

Hello all ,
We are working on a project ,where we want to Get data from openMRS ,via OpenHIM finaly to XNAT.
If am not mistaken , fetching data from OpenMRS to OpenHIM can either be done by an OpenHIM mediator , an OpenMRS module , or probably a completely independent APP.

I would like to know if theres some work around this that we could build on top , or any existing recommended design in place ,
cc @daniel.futerman @slubwama

1 Like

Hi @mozzy, thanks for getting in touch, I’d be happy to discuss these options further, and outline existing work on the OpenHIM that may provide a starting point for this. It would be good to understand the type of info/data that you’re looking to share, particularly if this includes DICOM imaging. The other key point is to understand if there are any existing interfaces for getting this data out of OpenMRS (e.g. via an API). We have an Interoperability Layer community call next week (Tue. 18th at 4pm GMT+2), if you’re available we could add this to the agenda, otherwise will continue the discussion here.

1 Like

@daniel.futerman , exactly , primariry we are looking at DICOM imaging.

And as regards OpenMRs , i would think it can be fetched as complex obs via an API , or better as attachments

sure , ill try to be available. But we can still continue the discussions here.

@mozzy we have done something here in Uganda for the viral load use case. In this case the OpenMRS intense UgandaEMR are distributed across and do not have a public IP. which means they are the ones to do the pulling and pushing. In your case you may need to have an approach on how you push data from the intense of OpenMRS to OpenHIM.
Remember that OpenHIM is just a mediator which allows data to go through. Thou It is possible to create a mediator with a schedule to it to poll and pull data from one source.


@mozzy A few follow ups here:

  • The OpenMRS FHIR Squad has been looking at developing FHIR-based API’s for getting data in/out of OpenMRS using FHIR. As I understand, the initial focus is on a lab system use case, but it might be worth checking in to see if anyone’s considered imaging.
  • The v5.3.0 release of the OpenHIM includes some changes to better support processing of larger payloads, which may be relevant if you’re looking to send DICOM images and binary data.
  • Jembi has been working on the OpenHIM mapping mediator as a starting point for development of custom data exchange use cases. One of the sample use cases that’s included as reference is Bahmni/OpenMRS to FHIR patient resource mapping, which leverages the OpenMRS API to get data out of OpenMRS. This may be relevant here as a base to start from.
  • As @slubwama mentioned, you could also create a polling mediator that periodically checks for (or pulls) new data from a data source.
1 Like

Thanks @daniel.futerman and @slubwama , i shall take a look at all the above options and see what would be more apropriate for our use case. ill let you know on our conclusion.

1 Like

We have been going through several design meetings with different stake Holders , and looking at different prefered work flows , one of the most appropriate solution will be to create a mediator that pulls and validates/clean up data .

it would be great if i can have a look at any existing mediator that can do the above.
NB, data would include both Imaging data specifically DICOMS and also patient clinical data

1 Like

it would be easier for us to leverage on any existing work ,rather than building the entire component from scratch

@mozzy You may want to browse the OpenHIM Mediator Library for any mediators relevant to your use case, although I’m not aware of any DICOM-specific mediators. Other good starting points for mediator development are the Mediator Tutorials and OpenHIM mapping mediator. Otherwise, the offer still stands to present this use case on one of the OpenHIE IOL or community calls, which may help us understand this a bit better and point you in the right direction.

1 Like

Thanks @daniel.futerman.
Sorry I was a bit slow to take this into the call just because we were still going through several meetings with stake holders and defining the requirements.
Yes you can shedule this in the call and I explain more what we want to achieve.

If you don’t mind ,i can shedule a call with you ,so that you can get to know about what we are trying to achieve

To give a high level overview of what we want to do ,

we want to Create a cloud-based health information Platform For Both Clinical Imaging data and Patient Clinical data.

The propsed solution is to use OpenMRS as Central repository for clinical data and XNAT as the Central repository for clinical imaging(DICOMS).

We proposed to use a middle ware component as OpenHIM and with mediators to do data validationand automated data pulling from the client servers.

We also propose to have a Client Registry Component

we hope to leverage on the existing Sync2 Archtecture for Syncying data from clients into Central Repository since it supports FHIR out of the box ,though this still has a few downsides.

My question would be on the registry Componets in the OpenHIE archtecture ,
are those componets also meant intercept all client requests (as the middle ware operates??) ,and then route the requests to the Actual data repositories ??

cc @daniel.futerman

1 Like