Integrating OpenMRS with External HAPI FHIR Servers Using Different Implementation Guides: Challenges and Best Practices

Hi all,

I’m currently working on integrating OpenMRS with external HAPI FHIR servers. A key challenge is submitting data to an external FHIR server that might use a different Implementation Guide (IG).

Here’s what I understand so far:

  • It seems that OpenMRS does not directly support submitting data to an external FHIR server through its native interfaces.
  • The OpenMRS FHIR module appears to act as a facade/gateway, handling GET and POST requests internally, but not as a standalone data messenger for external submissions.
  • The Atom Feed module logs resource changes, and I was initially planning to ride on this with an event listener but relying on it for external submission adds complexity.
  • OpenHIM could be a promising middleware/bus for extracting data from OpenMRS and pushing it to external HAPI FHIR servers, though I haven’t fully tested it yet. (is OpenHIM the right approach?)
  • A significant hurdle is the potential need for data transformation or mapping due to different IGs used by external FHIR servers.

I’m open to the possibility that I might have misunderstood or missed some documentation or capabilities regarding this integration. Therefore, I’m seeking insights on:

  1. Are there existing mechanisms in OpenMRS to support direct submission or synchronization with external FHIR servers using different IGs?
  2. Any recommendations on handling data transformation or mapping between OpenMRS’s FHIR resources and external FHIR servers?
  3. Best practices or middleware solutions that the community prefers for managing this integration complexity.

Any advice, experiences, or pointers to relevant resources would be greatly appreciated. If there’s documentation I might have missed, please let me know.

Thanks so much!

2 Likes

Hi @niccoreyes, It’s interesting to see your interest in integrating OpenMRS with an external FHIR server. Have you taken a look at this project: openmrs-eip It can help integrate OpenMRS with different systems. You may just need some time to investigate how and then use the right approach.

2 Likes