FHIR 101: OpenMRS Strategy, Tools, FHIR API, and Help
Community FHIR Contacts
- works on OpenMRS solutions, including the FHIR Module, that support the ability to exchange healthcare data in a widely-used, standards-based format, easing integration with external systems and products.
- Key Contacts: Ian Bacher Technical Lead (Brown Uni), Jan Flowers Industry SME (ITECH), Piotr Mankowski Key FHIR Module Co-Founder (ITECH), Moses Mutesasira (ITECH)
- Calls: We meet on Tuesdays at 7:30pm IST | 5pm EAT | 4pm CAT | 2pm UTC | 10am EST | 7am PST on Zoom at: https://om.rs/zoomfhir Find our agenda, call notes, and recordings here: FHIR Squad Notes
The OpenMRS FHIR Squad - #fhir and #fhir-development (sign up here); community Forum FHIR posts Communication: Slack channel,
- FHIR Board Tickets, Code on Github Code:
The OpenMRS FHIR Implementation Guide (IG) at fhir.openmrs.org
Guide: Using FHIR with OpenMRS
How to Use the OpenMRS FHIR API
You'll need the OpenMRS FHIR2 Module
Download the OpenMRS FHIR Module here, to add to your distribution:
https://addons.openmrs.org/show/org.openmrs.module.openmrs-fhir2-module
- How do I know what FHIR resources are supported by the OpenMRS FHIR API?
- See the list updated in the OpenMRS FHIR IG here: https://fhir.openmrs.org/toc.html
- Why use the OpenMRS FHIR API instead of the REST API?
- Reduce Cognitive Load of Integration: Eventually devs will no longer be building a custom knowledge base, but one that can be used to integrate with any system → reduce cognitive load of integration
- Better Search Capabilities: Lots of things the FHIR API can do search-wise that can’t be retroactively implemented in REST API
- Addresses REST Weaknesses: There are a number of deficiencies in the REST API that are not easy to fix. (e.g. impossible to list all pts) Caveats: There are some things supported more cleanly by the REST API, e.g. global properties.
What to do if an endpoint or resource is not yet supported by the OpenMRS FHIR Module
- First: Check through and see how resources and profiles are being developed following a given example here https://github.com/openmrs/openmrs-contrib-fhir2-ig/commit/4184cc797d50c9acccdf967fba3770974ae14c6f.
- Then: File your need in the OpenMRS FHIR Module Issue tracker. Example: Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.Please mention if you are interested in helping to add this resouce. (Need access to our Jira? Request here.)
- Contact the OpenMRS #fhir expert community in our FHIR Slack Channel (sign up for OpenMRS Slack at slack.openmrs.org)
What to do if a resource is not clear or supported by HL7 FHIR in general?
- Don't worry - the HL7 FHIR community is very friendly, and in fact, they are very keen to hear from folks in Lower- & Middle-Income Countries. Don't hesitate to ask your questions and share your use-cases at: https://chat.fhir.org/
Examples: Showing FHIR being used in real OpenMRS Implementations
For an exhaustive, more detailed list, please see Real-world OpenMRS FHIR Projects and Tutorials. These examples and videos should help inspire you:
Lab Results Exchange
OpenMRS and OpenELIS Interoperability using the OpenMRS FHIR Module
MPI (National Patient Identity Index) Exchange
OpenMRS system and MPI interoperability using the OpenMRS FHIR Module
SHR (Shared Health Record)
OpenMRS system and SHR interoperability using the OpenMRS FHIR Module
Tutorial Videos & More
Tutorial Video: Intro to the FHIR API in General
High-Level Explainer Slides for Non-Technical Folks
Other Applications of FHIR in OpenMRS
Using FHIR for Data Storage
- Some community members are interested in whether a FHIR Database (e.g. HAPI FHIR / SmileCDR) could eventually be used to completely replace the custom OpenMRS backend altogether. It would be ideal to have less technical infrastructure like our custom backend model to for our implementers and community to have to maintain. However, this would obliterate the current OpenMRS Reporting functionality, which would have an enormous impact on the many implementers who depend on OMRS for reporting purposes. There remains world-wide debate about whether FHIR should only be used for data transfer rather than data storage. We are keenly watching the experience of other global goods like Ona who recently completed this switch to a FHIR database. We are on the look out for community interest in and maintenance of the current FHIR Module to help us gauge the actual market demand for FHIR amidst OpenMRS implementers. Given limited resources we need to be clear with our focus on whether we are focused on FHIR for Integration or for Storage - so for now we are focused on Integration use cases and benefit.
Using FHIR for Data Analytics at scale
- Google Health recently collaborated with the OpenMRS Analytics Squad on exactly this use case. The resulting tooling for performant fhir-based data analysis is the "fhir data pipes" project, a collection of tools for extracting FHIR resources and analytics services on top of that data.
Want to know more about FHIR?
FHIR (Fast Healthcare Interoperability Resources) is an HL7 standard for representing healthcare information electronically. It is based on a series of Resources, which define common representations for different kinds of healthcare data. You can find the current version of the FHIR specification at https://www.hl7.org/fhir/index.html.