List of Repositories needed for Development on Bahmni


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

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
Bahmni QA & Automation

Bahmni Gauge Automation Test SuiteJava, ThoughtWorks Gauge
Functional Tests tests suit for EMR appsShell Scripting

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
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
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.Flutter

Sublime Folders Screenshot (Bahmni)