Reference Client Application for SHR


We use Bahmni distribution of OpenMRS as a reference application to demonstrate integration with SharedHealth HIE.  

For information on Bahmni features, installation etc please refer to the Bahmni WIKI

The current supported version of Bahmni is release-0.86.

Bahmni allows us to showcase different types of Facility implementation and integration with SHR. 

Upon, Bahmni installation, there are implementation specific configuration that are needed.

  • bdshr-config - contains additional configuration; data migrations scripts and application configuration. This is a very cut-down version and reflects configuration for a cloud hosted application for CHW functions.
  • bd-uhc-config - contains configuration for a representative hospital used in a sub-district


There are 2 main modules that are needed to interface with SHR. These modules should be put under the directory /opt/openmrs/modules/

The current interface module version supported with Bahmni release-0.86 is R2.6.

To setup a new installation of Bahmni, refer to Steps after new bahmni installation

The above interface modules require a set of configuration files, which are required to be  under the directory /opt/openmrs/

  1. facility_instance.properties (sample file)
    facility.catchments:- This accepts the list of catchments for the current facility. E.g :- for a gazipur district hospital it will be 3033, for Kaliganj UHC it will be 303334, It signifies the area which falls under it. But for a hospital in Dhaka it can’t be 30, Because it accepts minimum 4 chars, so it will be a comma separated list of all possible catchments in Dhaka division. E.g. :- 3033,3026…
    facility.facilityId :- This is the facility id in HRM of the current hospital.
    facility.apiToken:- This is the token from HRM for user.
    facility.clientId :- This is the user id from HRM.

  2. identity.properties (sample file)

  3. lr.properties (sample file)

  4. fr.properties (sample file)

  5. pr.properties (sample file)

  6. tr_atomfeed_properties.properties (sample file)

  7. shr.properties (sample file)

  8. mci.properties (sample file)

  9. fhir_mapping.properties (sample  file)
    visitTypeToEncounterClassMap :- This is a JSON representing a map from openmrs visit type to fhir encounter class (A fhir value-set) names , this will be used while uploading an encounter to shr.
    encounterClassToVisitTypeMap :- This is a JSON representing a map from fhir encounter class name to openmrs visit type name ,this will be used while downloading an encounter from shr.
    mrsEncounterTypeToFhirEncounterTypeMap :- This is a JSON representing a map from openmrs encounter type to Fhir encounter type (A value-set in TR) , this will be used for uploading an encounter to shr.
    fhirEncounterTypeToMrsEncounterTypeMap :- This is a JSON representing a map from fhir encounter type to openmrs encounter type, this will be used for downloading an encounter from shr.


The reference libraries are standard OpenMRS modules and have no dependency to Bahmni enhancements as such. However, using the OpenMRS native interfaces, it is extremely hard to visualize or capture information. The reference libraries do not modify or append to the OpenMRS core data model but does interpret some OpenMRS observation structures in a specific manner. For example, "Immunization Incident", "Family Member History", "Procedure", "Diagnosis", "Chief Complaints" etc.