Announcing FHIR2 1.5.0

Hi everyone!

Today we’ve release version 1.5.0 of the FHIR2 module. Despite only a couple of months from our previous release, there are many exciting additions and improvements.

First, we have some new headline features:

  • MedicationDispense which maps to the domain of the same name in the 2.6.0 line of OpenMRS Core. This feature is set to be part of the current work on the 3.0 Pharmacy module. This is thanks to the work of @mseaton!
  • ValueSets which is our first foray into a small part of the FHIR Terminology Services. Please note that what we have implemented right now is very limited: you can request a concept set and get the contained concepts back as a FHIR ValueSet. We currently do not support any operations on ValueSets. However, if you have a use-case for FHIR Terminology Services in OpenMRS, we’d love to hear about it. Thanks to @richa09 for this contribution!
  • Support for UCUM, the Unified Code for Units of Measure, a computable terminology system for designating units of measure. This works by mapping user-defined units to (hopefully correct) UCUM representations. Thanks to @pmanko2 for this addition that’s been a long time coming.
  • The Location domain has been updated to support LocationTypes, i.e., a Location attribute that can be used to record the “type” of location. This is initially designed to work with the mCSD profile, but it may be a useful feature for other use-cases. Thanks to @pmanko for this one!
  • Finally, we have greatly improved the logic around which concepts we choose to display from the FHIR module, thanks to the work of @mozzy.

We also have some minor tweaks including support for searching observations by EncounterType, which is targetted at the OpenMRS 3.0 obs-by-encounter widget, allowing widgets to be configured to only use observations from certain types of encounters.

Finally, we have some bug fixes:

  • The FHIR2 module now instructs browsers not to cache READ and SEARCH operation results. This addresses a bug in the 3.0 UI resulting from the browser caching such results on it’s own initiative.
  • commons-io 3 is no longer attempted to be loaded on versions of OpenMRS that already have that library. The library is still included in the OMOD to support older versions of OpenMRS. This should fix an issue that the Bahmni team was running into.
  • The OpenmrsFhirAddressStrategy (which attempts to automatically return the “right” URL for any internal links in OpenMRS FHIR responses) now respects the quasi-official headers X-Forwarded-Proto, X-Forwarded-Host, and X-Forwarded-Port. This should hopefully result in more sensible links generated inside OpenMRS’s FHIR responses.
  • Finally, the OHRI team has reported that on occasion, the FHIR2 module on their development server stops responding to FHIR requests. I haven’t been able to reliably reproduce this issue, but I had a guess as to what might be causing it and if that’s the case this commit should address it.

Thank you, as always, to all of our contributors!