Connect Installation Steps on Server

This guide is currently In-Progress. Over the next few months, content will be added to it. 

If you have any suggestions or would like to add pages which talk about the functionality of Bahmni, please feel free to add them.

Purpose and Benefits

To install Bahmni Connect, you need to install the "bahmni" command line tool, which provides various options for installing / configuring Bahmni. Please refer to Install Bahmni on CentOS to perform the basic installation steps. Additionally, for the Bahmni Connect server setup two other modules have to be installed - the bahmni-offline module and the bahmni-event-log-service which is used for pulling the event logs to use the data offline as described here.

Bahmni Connect App was originally called the Offline App. Its new name is now Bahmni Connect.


  1. As mentioned earlier the bahmni-event-log-service and bahmni-offline modules are necessary for Bahmni Connect.
  2. To install Bahmni Connect specific components, please add the host entry in respective groups of the inventory file along with other entries such as bahmni-emrbahmni-reports etc. For example, to install bahmni-event-log-service and bahmni-reports components, the host entry should be present in the bahmni-event-log-service  and bahmni-offline group. Here is a find sample inventory file.
  3. To run Bahmni Connect, Offline concepts needs to be added into the OpenMRS database. This can be easily done using the script at Copy this into the machine where Bahmni has been installed and run python If any errors occur such as ImportError: No module named MySQLdb, install pip by sudo easy_install pip followed by sudo pip install MySQL-python. Then run the aforementioned command again to install offline concepts.

  4. Refer to (Bahmni Connect Features) to install and configure the synchronization strategies, especially for Location based strategy. 

Pre-requisites for older versions  

Visit Location Migration

If you are migrating Bahmni-offline server from 0.83 version to 0.84, make sure that each visit is tied to some login location (Refer: Visit Location)

The query below checks whether location_id info available in the encounter table for corresponding visits and populates them in visit table. If no visit info is in the encounter table, it will populate the visits with unknown location.

UPDATE visit
SET location_id = (SELECT location_id FROM encounter WHERE visit.visit_id = encounter.visit_id GROUP BY encounter.visit_id);

UPDATE visit SET location_id = (SELECT location_id FROM location WHERE name = "Unknown Location" LIMIT 1) WHERE location_id IS NULL;

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)