Skip to content
Walter Kaunda edited this page Oct 4, 2021 · 4 revisions

Introduction

This is a web service that provides a REST API for managing Electronic Medical Records (EMR). It can be used to build various Electronic Medical Records Systems (EMRS) such as HIS-Core and e-Mastercard.

Why does the HIS-EMR-API exist?

Historically, a lot of EMRS development in Malawi was done by Baobab Health Trust. The majority of the applications were built as a single monolith that duplicated a lot of functionality. All applications were built on a similar data model that's largely based off OpenMRS hence a lot of the business service and data persistence layers of the applications were very similar. This was what caused a lot of duplicated code across these applications. This setup was very problematic in terms of maintenance.

Besides the duplication of code mentioned above, another problem that existed was sharing of patient data. Most EMRS that were being built to some degree had some tight data dependencies with each other. For the example, the ANC application depended on BART for patient registrations. In essence, every application was required to expose an API to meet the different requirements of the other applications that were integrating with it.

The combination of the factors above prompted the development the EMR-API that consolidated most of the business service and all of data persistence needs of all the EMRS.

Overview of the application components

The HIS-EMR-API can run in a stand alone setup where the only components besides the main ruby application involved is the application database. However, the application provides integrations with various external services to expand on its range of functionality. Currently it integrates with LIMS for handling Lab infrastructure and processes. It also integrates with DDE for sharing patient demographic information with remote applications. More details on this can be found in the Deployment Guide.

Clone this wiki locally