Support Laboratory Data Exchange with FHIR

Primary mentorSuranga Kasthurirathne
Backup mentorHarsha Kumara
GSoC studentMilan Karunarathne


The purpose of this project is to expand upon the OpenMRS FHIR module so that it can consume a subset of FHIR resources and persist them in the OpenMRS database. OpenMRS has recently undertaken a commitment to implement FHIR in order to ensure better interoperability between healthcare systems. The OpenMRS FHIR module was developed as part of these efforts.

The purpose of this project is to expand upon the OpenMRS FHIR module so that it can consume laboratory information. There is currently a use case for OpenMRS to consume laboratory data sent by a third party system such as Cerner. The aim of this project is to support this use case through the adoption of the FHIR Diagnostic report resource.


Question: There is a similar FHIR based OpenMRS GSoC project to import other FHIR resources into OpenMRS. Why a separate GSoC project for this task?

Answer: While our primary use case is to support Laboratory data, the Diagnostic report is inherently complex, and used for a wide variety of purposes including,

  • Laboratory (Clinical Chemistry, Hematology, Microbiology, etc.)
  • Pathology / Histopathology / related disciplines
  • Imaging Investigations (x-ray, CT, MRI etc.)
  • Other diagnostics - Cardiology, Gastroenterology etc.

Therefore, We will need to make significant efforts to ensure that our adaption of the Diagnostic report for laboratory data import does not affect its ability to be re-used for other intended purposes.

Secondly, this task will involve significant changes / decisions as to how the OpenMRS database will persist Lab data, and raise questions as to wether the OpenMRS data model can indeed support Lab data. Therefore, implementing this resources will be inherently complex.


  • Good Java skills
  • Familiarity with J2EE web programming (e.g., JSPs)
  • Ability to learn and work with FHIR and the HAPI
  • Soft skills to interact with the HAPI and FHIR community in order to gather requirements and technical feedback

Project champions


  • Build support for the FHIR module to accept and persist a FHIR diagnostic resource
  • Create or update existing data elements in the OpenMRS database in response to these requests
  • Make appropriate modifications to the OpenMRS database in order to support the FHIR diagnostic resource
  • Forward an acknowledgement message to third party applications once the transaction is completed

Extra credit

  • Demonstrate how Diagnostic resources used to model pathology or other imaging results, and how they will be persisted in the OpenMRS database.