Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


This document lists the various GitHub code repositories that you might need to check out into your PROJECT folder for development on Bahmni (depending on which implementation / sub-project you are working on).


NameGitHub URLFolder nameDescriptionTechnologies

Bahmni EMR Core
Bahmni UI JS based Bahmni UI.Angular.JS
Bahmni Core bahmni backendJava, Hibernate, REST
Utils common classes needed by bahmni-coreJava
Implementer Interface repository for implementer-interfaces like form-builder, reporting, dashboard etc.ReactJS
Bahmni Scripts scripts used by Bahmni like anonymizing, Branching, Deleting Patient Data..etc.Shell Scripting
Form Controls

Repository of reusable custom ReactJS components

Bahmni Reports to host the Reports web application for the BahmniJava
Appointment Scheduling UI for Appointment Scheduling in BahmniAnglar.js + React
Lab Lite Lab Module for uploading Patient Lab reports (using O3 design system).React, Micro-frontends, TypeScript
Bahmni Modules

Bacteriology module for bacteriology - Specimen, Culture, DST and SmearJava
Two Factor Authentication to handle two factor authentication in BahmniJava
Audit Log Service logging of bahmni-core and bahmni-uiJava
Appointment Scheduling for appointment schedulingJava
Fhir2 extension module module for updating implementation of openmrs fhir2 apis. Currently it has  the overridden implementation of DiagnosticReport resourceJava
Episodes Module the use of Episodes of Care for OpenMRS.Java
Bahmni QA & Automation

Bahmni Gauge Automation Test SuiteJava, ThoughtWorks Gauge
Functional Tests tests suit for EMR appsShell Scripting
Performance Tests Test Suite for BahmniScala, Gatling
Test Data Generator and Encounters test data generator for BahmniJava, REST
Performance Tests (Community Repo) tests written by Albion Shala (Deactivated) in his personal repo for Bahmni performance testing using JMeter and Blazemeter. These have not been run by Product Team.JMeter, Blazemeter.
Bahmni Connect (Offline App)
Bahmni Connect of Bahmni Connect code. This supports Android and Chromium apps.AngularJS
Bahmni Connect Sync Connect omod for Android and Chrome extensionJava, Shell Scripting
Event Log Service which provides data to offline devicesJava

OpenMRS & Modules
OpenMRS Core OpenMRS codebase.Java, Spring, Hibernate, MySQL, REST
ID Gen Identifier generation moduleJava
ID Gen Webservices Gen Webservices moduleJava
EMR API API maintained by OpenMRS communityJava, Spring, REST
REST Webservices REST Webservices ModuleJava, REST
Address Hierarchy Module Hierarchy Module for managing locations and patient address levelsJava
Operation Theatre Theatre backend module (frontend is in bahmniapps)Java
Bed Management Module Bed / Ward Management (frontend is in bahmniapps)Java

OpenELIS system (OpenELIS). + AtomFeed for Lab.Java, JSP, Struts, PostGRES

Bahmni OpenERP modules modules on OpenERPPython
Bahmni ODOO modules 0.92+ modules on ODOOPython

ICT4H Atom Feed Atom Feed InfrastructureJava, ATOM
OpenERP Atom Feed service for OpenERP Atom Feed synchronizationJava, ATOM, REST
OpenMRS Atom Feed Atom Feed SynchronizationJava, ATOM, REST
Atomfeed console to view atomfeed consoleJava, Server-Side UI
Example Atomfeed for Bahmni code for Atom Feed Integration with Bahmni, that can be used as a starting point.Java, Spring, REST, ATOM

PACS / DCM4Chee / Radiology

PACS Server (dcm4chee)Java
pacs-integration Feed based service that integrates Bahmni/OpenMRS with DCM4cheeJava
Bahmni MART / Analytics
Bahmni Mart various tables in analytics DB like Patient Information, Program Enrollment Information, Drug Orders, etc.Java, Spring Batch
Bahmni Mart Playbooks ansible playbook to deploy bahmni-mart along with metabase(docker container) and spring cloud data flow server(docker container)Ansible, Docker

Setup, Config and Environment / DevOps
Reference Data data setup for BahmniGroovy / Grails
OpenMRS-Distro-Bahmni OpenMRS mods, and publishes Bahmni mods to bahmni repo.Maven
Bahmni Package deployment and RPMsGradle, Java, Shell scripting
Bahmni Vagrant of vagrant box using packer. It comes with Bahmni on CentOS 6.8JSON, Shell Scripting
Bahmni Playbooks playbooks used for deploymentsShell Scripting
Bahmni on Kubernetes Configuration for Bahmni ComponentsYAML, Kubernetes Config
Bahmni Infra configuration for provisioning resources for Bahmni on Cloud.Terraform
Helm Charts to store helm charts of Bahmni components. The artifacts are served using github pages .Helm Repsitory

Hospital / Implementation Specific
Demo Config based configurationJSON, SQL, Liquibase, Scripts
JSS (Jasper Reports) Reports specific to JSS Hospital implementationJasper
JSS-Config (Chattisgarh) Hospital based configurationJSON, SQL, Liquibase, Scripts
Search-Config (Gadchiroli) Hospital based configurationJSON, SQL, Liquibase, Scripts
Search Reports (Gadchiroli) specific Jasper ReportsJasper
Amman Config Configuration for AmmanJSON, SQL, Liquibase, Scripts
Possible Health Config Configuration for Possible HealthJSON, SQL, Liquibase, Scripts
Banyan Config Configuration for BanyanJSON, SQL, Liquibase, Scripts
Bangladesh Config Configuration for Bangladesh Upazilla Health Centers

JSON, SQL, Liquibase, Scripts

Bangladesh Master Data Master Data for OpenMRS Shared Health records
Hemalkasa Config Configuration for Lok Biradari Parakalp (Hemalkasa)JSON, SQL, Liquibase, Scripts
EndTB Config Configuration for EndTB ProjectJSON, SQL, Liquibase, Scripts
Bahmni EndTB Module module for EndTBJava
Bahmni EndTB Batch Application for full data export based on spring-batch for endTBJava
Gudalur Config Configuration for Gudalur Adivasi HospitalJSON, SQL, Liquibase, Scripts
Bhutan ePIS Config Configuration for Bhutan hospitalsJson, SQL, Liquibase, Scripts
PIH Config Bahmni configurations done by PIH for facilities like wellbody clinic, endTB, Liberia, Compañeros En Salud (Mexico), etc.
Lesotho Country Wide eRegister
  1. Lesotho country wide implementation of Bahmni, called eRegister. Read more here and here.
  2. Lesotho concept dictionary of terms. And here.

Haiti (Mekom)
  1. Mekom solution configuration and master data for Haiti distribution.
  2. See initialiser module setup data in configuration folder here.
  3. This configuration also contains FRENCH translations for each of the "concepts" in the initialiser module csv.
Json, SQL, Liquibase, Scripts
Cameroon (Jembi) Configuration for Cameroon (HIV), maintained by Jembi. (Switch to branch = staging)JSON, SQL, Liquibase, Scripts
Other Community Repositories related to Bahmni
Bahmni INDIA Distro
  1. ABDM related extensions for Bahmni
  2. Bahmni configurations for India specific distributions (master data, clinic screens, etc)

Bahmni India Helm Umbrella Chart Umbrella Chart configuration for Bahmni India Distro which includes consuming of helm charts from Bahmni Product

Helm, YAML

OpenMRS Config Initialiser OpenMRS Initializer module is an API-only module that processes the content of the configuration folder when it is found inside OpenMRS' application data directory. This is useful to creating seed/configuration data for an OpenMRS instance. An example configuration folder is available here:, Scripts, CSV
Initialiser CSV generator these scripts to export OpenMRS concepts and other data into CSV, for initialiser to read/import.Python
Bahmni Mobile App (POC) Flutter application (Mobile App) integrating with Bahmni/OpenMRS. Depending on the capability of the server, certain features may not work. As of now, this project is experimental, only a starting point and far from being used in production. See sample video here: Demo video of Doctor Mobile appFlutter
Speech Assistant (front end) is an experimental Voice Assistant for Bahmni actions/data entry. This is in initial prototype mode, being developed by Prakalp team at Thoughtworks. It uses underlying opensource project Vakhyansh, which supports various Indic Languages. React, microfrontend
SenaiteLIMS integration integrated with BikaLIMS/Senaite LIMS over HL-7 (as an alternative to using OpenELIS). Read discussion here: This is not currently adopted into core product by Bahmni team.Java, Mirth Connect
Krishna/Hindi Font Transformer transformer for converting Marathi/Hind Krishna phonetic font to Java Unicode font (for patient name data migration). Was used in SEARCH hospital migrations here.Java