Consuming FHIR Resources for OpenMRS
Primary mentor | @Suranga Kasthurirathne |
Backup mentor | @Vaibhav Agarwal |
GSoC student | @Sashrika Waidyarathna |
Abstract
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. Currently, the FHIR module supports the export of FHIR Patient, practitioner, observation, location and Encounter resources. We are also working on implementing support for AllergyIntolerance and Condition resources. During the summer, the student will work to reverse engineer this work so that external applications can also send FHIR resources to OpenMRS.
This task involves understanding the data representation of the FHIR resource and its relationship with the OpenMRS database based on how we export OpenMRS data, and using this knowlege to persist data sent as FHIR
Requirements
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
@Paul Biondich
@Grahame Grieve
Objectives
Identify the best approach to create and update OpenMRS objects using the FHIR module.
Build support for the FHIR module to accept a subset of FHIR resources sent from third party applications. At minimum, the student should complete support for FHIR patient, practitioner, Observation, location, AllergyIntolerance and encounter resources.
Support (a) creation (b) conditional creation (c) update (d) conditional updates of FHIR resources
Forward an acknowledgement message to third party applications once the transaction is completed
Extra credit
Build an audit mechanism to track transactions and their outcome
Identify and implement support for additional FHIR resources
Add security features to manage transactions