Offline Patient Search and Registration in remote sub-centres of JSS using Bahmni Connect

Sharing the experience of taking Bahmni Connect to field to meet a need at JSS to capture data remotely

Need for offline system at JSS
Jan Swasthya Sahyog(JSS) is a health based NGO working in rural Chhattisgarh, India. Being able to record data in mobile clinic has been one of their original requirements. 
JSS has a 3 tier based health care delivery system.

Image source : http://www.jssbilaspur.org/all-project-list/community-health/

Bahmni is already deployed at JSS hospital (Tier 3 - Referral Centre in the diagram) since last 4 years and almost all major features of Bahmni get used there. The hospital caters to the needs of patients from 2500 nearby villages.

70 villages (Tier 1 in the diagram) where JSS runs the village programme fall in forest and forest fringe areas. Certain areas have very poor accessibility, only solar electricity for limited hours and not even telephone connectivity, let aside internet connectivity. The villages are divided into clusters with 3 sub-centres (Tier 2 in the above diagram).

Bamhani Sub-centre

The diagram below shows the forest area and the pins show villages in different clusters.

Image source : http://www.jssbilaspur.org/all-project-list/community-health/

As it is extremely inconvenient for the villagers to travel to the JSS hospital, a Mobile clinic or Outreach clinic is held at each of these sub-centres once a week by a team of doctor, lab technician, registration clerk and pharmacist from hospital. The workflow at the sub-centre mobile clinic is similar to what happens at the hospital Registration — Consultation1 — Lab test — Consultation2 — Billing — Pharmacy.

When a new patient is registered, a small card with a registration number is given to the patient and a paper booklet is created to record patient’s medical notes.

Doctor and health worker doing consultation and writing notes on paper booklet

When leaving from the clinic, the patient only carries back the small card. The paper booklet is kept at the sub-centre.

Paper Booklets at the sub-centre

Papers travelling
When a patient ends up at hospital, which is about 30–40km from these catchment area and sub-centre, either through referral from sub-centre or otherwise, the patient or accompanying village health worker is supposed to carry the paper booklet from the sub-centre. This is for the doctors to be able to refer the past notes. After the visit to the hospital, the paper booklet are supposed to be carried back to the sub-centre to be available for any subsequent visits by the patient.

Many times the paper booklet gets misplaced in such transits and / or is not available at right time and place.

Remote Data Entry
To avoid notes not being available and to digitise the records, a new process was setup a couple of years back after usage of Bahmni had stabilised in the hospital. The team from mobile clinic carries the cards of the patients seen along with them to the hospital. The entry is then made in the Bahmni EMR. The entry is done sequentially by personnel from each department except doctors. To record doctor’s notes photos are taken and attached to the digital record.

Data entry operator taking pics of doctor’s notes using Patient Documents app of Bahmni to attach to EMR using iPAD and this Jugaad

While doctors in hospital are able to refer to history, the solution has its own set of issues

  • Increase in already heavy workload of the staff in hospital
  • Patient booklets still have to travel and so often get misplaced
  • Doctors in mobile clinic not able to refer to history if paper gets misplaced
  • Problems in the mobile clinic like duplicate patient record creation are not solved due to difficulties in manual search of paper booklets

Hence, a point-of-care system is desirable, that is Bahmni on the field!


A solution like the proposed hub & spoke would be ideal for this requirement. Hub & spoke provides for the ability to have a server running complete Bahmni application with ELIS and ERP installed on a laptop which could sync data with the main server at hospital. However the development for that started only recently in 2017 and will take some time to be ready.


Bahmni Connect as an intermediate solution
In late 2016 we decided to use Bahmni Connect which was already getting ready to be used by Health Workers in Bangladesh. Bahmni Connect is a trimmed down version of Bahmni available as chrome extension as well as android app. A subset of a data (read catchment) can be synced to the Connect app, taken to the field, all regular operations using (sub)apps like registration and clinical can be performed, When the Connect is taken back to the network having Bahmni server, the data can be synced back.

This provided us opportunity to solve a few pointed problems

  1. Registration
    * Many times villagers forget to bring the small card. Help registration clerk to be able to search patients quickly by name and village to avoid duplicate registrations
    * Register the patients then and there itself reducing one step to be performed in the process after going back to hospital.
  2. Help doctors see the past records in case the patient file is not found

We decided to do this in a phase by phase manner with Registration being the first phase and catering to doctors’ needs in the second phase, with the hope of hub & spoke available by end of phase 2.

The development team supported a new ID based strategy to support the catchments in scenarios like at JSS.

Trial in October 2016 and Issues
In October, when we went to JSS to roll it out for Registration, Bahmni Connect was just out in its alpha version and trialled just once before in Bangladesh where the number of patients per health worker was relatively less. But we were still hoping that it would work. During our visit at JSS we faced issues because of legacy data and the volume of data (we are talking here data of about 6000–10,000 patients in a catchment which is not huge as per regular software standards). We sanitised the data. Product development team provided fixes for a few issues. And we worked around the volume problem by muting existing encounters by changing filter in the database. For registration rollout we just needed all patients belonging to the catchment and so the workaround was acceptable. By the time we could do all of this, the time for us to leave JSS had arrived. We had to leave without trying and seeing ourselves in one of the mobile clinics.

However local IT support team at JSS tried it out after we left. They faced issues. They conveyed us the feedback and stopped using after that. The issues ranged from usability to performance to robustness.

The Connect team at Bahmni worked hard from November through January. Usability and robustness around Sync was improved. However during performance benchmarking some major issues related to performance got uncovered when all the encounters were to be synced.

The dev team discovered that the performance issues are due to lovefield wrapper being used in Connect app and will require some major rework to make it work.


Jan 2017

While the dev team was still discussing solutions to the performance problem due to data size, in January, we decided again to give Registration rollout a try by muting the existing encounters. All known issues around registration were sorted out and so we thought of going ahead with it with the intent of solving at least one problem and getting some more feedback from the ground.
The rollout went smooth barring a few issues like multiple patient creation with same ID for which the product team provided a patch release with ID validation in Connect app. The users were happy with the usability and performance. They in fact caught a few duplicate patients in front of us! We were happy :)

Below is what the registration user had to say after using the system when i asked him a few questions during one of the mobile clinics

Video courtesy : Pritam

He mentions that

  • The app is same now as how it is at hospital (meaning no usability or performance issues)
  • The app is useful as it helps them detect duplicate patients
  • They would now continue using it

Now next is how do we have the doctors be able to refer to patient records. When i asked doctors to consider that complete data can’t be available due to technical limitations and suggest what minimal set of data would they require in mobile clinic to be able to give effective patient care, they suggested

  • All data from last 5 visits
  • Diagnosis and any form filled like Discharge summary from all the visits
  • If possible, then X-rays of the patient

Let’s see how the dev team decides to solve this problem and by when we are able to deliver the solution.


The problems and the challenges in solving them at JSS and other Bahmni implementations reminds me of what Dr. Yogesh Jain, one of the founding members of JSS, had described in his super inspiring talk at ThoughtWorks, “People in small places do not have small problems”. Our experience while working in Bahmni and resource-constrained settings like the one mentioned in this post corroborates that.