Integrating OpenMRS with an HIE

@darius, @mseaton, @mogoodrich,

Did you guys make progress with creating a centralized registration process for PIH? I’m talking to @ryan and he’s interested in getting the OpenHIE demo site working again with OpenMRS as the point of care registration system. OpenHIE used to use a POC Adapter Module that connected an OpenMRS instance to the HIE (i.e., MPI and fetching some data from the shared health record), but that worked with an older version of OpenMRS and older version of OpenHIE.

I was thinking that it’d be good for both OpenMRS and OpenHIE if the out-of-the-box registration module for OpenMRS could optionally support connecting to an HIE’s MPI (query the MPI, send out a PIX/PDQ message)… which made me think of the project you guys were talking about at Maputo. Remember, when the other Ryan (@rcrichton) blew all your minds by saying “setting up OpenEMPI took about a day.” :grinning:



Hi @burke,

We have not made progress on this at PIH (since our focus for the first half of this year is on going deep with point-of-care at one site, rather than going broad to many sites).

This year we have a summer of code project (@approce is the student, I’m the mentor, and @mseaton is the backup) to do exactly what you’re suggesting: Integrate Registration Module with a Master Patient Index. Mike and I are interested from the PIH perspective, because we’ll want to leverage this later this year, but it would be awesome if while @approce is working this summer, he can do that in the context of building a real demo.

(Also, I had no idea that the POC Adapter Module existed. @approce, you will want to check this out.)

Thanks @darius. This is great news!

@ryan, if OpenHIE helped advise @approce & @darius in this GSoC project, it sounds like we could end up with an enhanced registration module for OpenMRS that allows anyone, including PIH and OpenHIE’s demo site, to configure OpenMRS to work with an external MPI. You (or someone from OpenHIE) may want to volunteer as a project champion for the GSoC project and/or share your functional requirements with @approce & @darius soon. POC functionality (i.e., pulling or pushing data from/to the shared health record beyond registration) would be out of scope for this GSoC project, but a registration module for OpenMRS that optionally supports an external MPI and is useful both OpenMRS & OpenHIE would be a great thing for everyone. :smile:

Hi all,

I think it would be great if we could get the OpenMRS reference app to be able to fully interoperate with OpenHIE (both patient registration and clinical document submission and query) out of the box. The first step and the easiest project is patient registration as you mentioned.

I did mentor a GSoC project last year that looked at starting some of this work. You can find the resultant module here: and the wiki page here:

Cheers, Ryan

Thanks Ryan, we’ll have to look at this. (From a quick peek at the module code I don’t see very much implemented there. Perhaps you can give us a sense of what’s good to leverage.)

It would be really valuable if someone experienced can help @approce quickly get OpenEMPI (or some other MPI) set up in the cloud, so that he can focus most of his effort on the OpenMRS side of things. @rchrichton, can you recommend a way to do that?

It would be just awesome if someone experienced can help me to set up OpenEMPI in the cloud :smile:

Hi @approce, I have set up OpenEMPI up quite a few times for testing in OpenHIE. I have written a few ansible scripts to automate the process of installing OpenEMPI. This is the main role, and it has a few dependent roles listed as well. If you have never used ansible before, message me or send me an email and I can give you more details on how to set this up.

Hi Darius, so the bit that would probably be most useful would be the code that creates the PIX messages from a patient (see here) and perhaps the code to fire off a message and receives the response (see here).

Really, sending off messages to an MPI using PIX/PDQ is quite easy once you get past the message specifications.

Hope this helps.