OpenEMPI Integration
Integration of OpenMRS with OpenEMPI
Introduction
In addition to patient-centered data, electronic medical record, laboratory, radiology and other such health care systems need to manage patient identity and demographic information (such as data of birth, gender, and ethnicity). To improve the quality of care provided to patients, these different health care systems must be integrated and share patient data, thereby providing a comprehensive view of a patient's health care history across the group of colaborating providers. An "Enterprise Master Person Index" (EMPI) or an "Entity Identification System" (EIS) is used to provide identity management services, including identification of duplicate patients within a single system, identification of the same patient across multiple systems, and automated linkage of new inbound clinical data to existing results. OpenEMPI is an open source EMPI that is currently hosted as a project in the Open Health Tools group and which is currently under active development. A federation of OpenMRS instances can utilize OpenEMPI both for the purpose of maintaining a central registry of patients across sites as well as for the purpose of allowing a given OpenMRS instance to determine what other OpenMRS sites a patient has visited, following the Record Locator model for building an Electronic Health Record (EHR).
Deliverables
Target: The target of this project is to explore the integration of the open source EMPI (OpenEMPI) with OpenMRS. The following is a list of deliverables that are expected from this project.
• Explore possible messaging alternatives for integrating OpenEMPI with OpenMRS.
o There is a deduplication module currently available for OpenMRS that uses the HL7 interface to receive patient identity and demographics from remote sites and then adds/updates the local patient registry using this information. This module could be used as the integration endpoint into OpenMRS for updating a given site using information from OpenEMPI.
o OpenEMPI currently provides a pure Java interface for tightly coupled integration, an EJB interface, and a web services interfaces is planned for the near future.
• Define and design the integration scenarios between the two systems
• Implement and unit test the interface between OpenEMPI and OpenMRS
• Extend the OpenMRS UI to provide a query mechanism that retrieves and presents data from OpenEMPI
Extra credit: The following are extra credit tasks that the student may explore if time permits
• Evaluate the performance of the OpenMRS/OpenEMPI integration and establish the performance characteristics of the interface
• Based on the observations made during the previous task, optimize the interface to enhance the performance. This will involve bottleneck detection to find the layer or component in the software architecture that limits the performance and refactoring to alleviate the bottleneck.
• Extend OpenEMPI to allow it to maintain location/connection information about each participating OpenMRS site so that a given OpenMRS site can not only identify other OpenMRS sites that a patient has visited but also obtain the information needed to contact the other sites and retrieve patient data from them.