
Project Overview
MPI runs on web platform as a server application with providing high accessibility to every request. APIs were implemented to serve each and every request in a timely manner with minimal latency. Furthermore analytics information was captured to the server database for future references. Also authentication layer was implemented to authenticate users, data and usage.
Background of the Project
Ministry of Health, Nutrition and Indigenous Medicine has implemented a Personal Health Number (PHN) which is intended to be a lifelong unique identifier for a particular patient when seeking healthcare. The PHN, associated technologies and procedures are expected to function as a Healthcare Recipient Identification System (HRIS) enabling linking of all health related information of an individual that is accessible to the authorized personal to improve the healthcare quality.
A master patient index (MPI) is a data repository that is used across a healthcare organization to maintain consistent, accurate and current demographic and essential medical data on the healthcare. The MPI would prevent or reduce the chances of duplications and errors occurring in an Electronic Medical Record or Hospital Information Management System (HIMS).
The developed MPI would be expected to be the prototype for an Open Source Enterprise-wide Master Patient Index for the State Health Sector
Objectives of the Project
- Development of a Master Patient Index.
- Development and implementation of eHealth standards based API for communication with various Hospital Information Systems and e-Indoor Morbidity and Mortality Reporting System (eIMMR) in the state health sector.
- To collect & analyse data MPI usage, data duplications & errors, network & hardware utilization to project requirements for island-wide implementation and data required for ensuring patient data security and management.
Features of the Software System
- Mapping PHN issued to the healthcare recipient to an internal identifier at the database level of the MPI by implementing enterprise-wide unique identifier (EUID)
- Receiving and storing patient identification and demographic data through MPI
- Check and validate duplicate profiles through deterministic and probabilistic matching algorithms
- Updating external systems thorugh data exports
- Management module for data matching operations and analytics
- Implementing system audits
System Architecture
The API for HRIS was implemented using Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) architectural pattern. Considering the use of HL7 integrations in requests and responses above technologies were easier to use. Emphasis was given to make API concrete as possible to make it less confusing to users.

Database
MySQL will be used as the database management system. MySQL runs as a separate service and is connected to via TCP/IP: which means that it can be run physically separate from the application server.
Error Handling
Granular level error messages will be provided by every action method of application by mostly using HTTP status codes as much as possible.
Security
We recommend SSL and HTTPS protocol to communicate across the API. Time stamping each and every request and response with a logging mechanism and use of an access token (API Key) to restrict unauthorized API invokes.
Stability and Consistency
Load Balancing and Database Mirroring are considered as critical requirements for high availability of the application along with considerable attention on hardware also.