List of Repositories needed for Development on Bahmni
Development
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).
Clone Bahmni Code (Bash Script)
You can use this bash script to clone all the code quickly to your local machine: clone_bahmni_code.sh
Name | GitHub URL | Folder name | Description | Technologies |
---|---|---|---|---|
Bahmni EMR Core | ||||
Bahmni UI | https://github.com/Bahmni/openmrs-module-bahmniapps.git | openmrs-module-bahmniapps | Angular JS based Bahmni UI. | Angular.JS |
Bahmni Core | https://github.com/Bahmni/bahmni-core.git | bahmni-core | Core bahmni backend (and Atom feed client for OpenELIS) | Java, Hibernate, REST |
Utils | https://github.com/Bahmni/bahmni-java-utils.git | bahmni-java-utils | Some common classes needed by bahmni-core | Java |
Implementer Interface | https://github.com/Bahmni/implementer-interface.git | implementer-interface | A repository for implementer-interfaces like form-builder, reporting, dashboard etc. | ReactJS |
Bahmni Scripts | https://github.com/Bahmni/bahmni-scripts.git | bahmni-scripts | Utility scripts used by Bahmni like anonymizing, Branching, Deleting Patient Data..etc. | Shell Scripting |
Form Controls | https://github.com/Bahmni/form-controls.git | form-controls | Repository of reusable custom ReactJS components | ReactJS |
Bahmni Reports | https://github.com/Bahmni/bahmni-reports.git | bahmni-reports | Repository to host the Reports web application for the Bahmni | Java |
Appointment Scheduling UI | https://github.com/Bahmni/openmrs-module-appointments-frontend | openmrs-module-appointments-frontend | UI for Appointment Scheduling in Bahmni | Anglar.js + React |
Lab Lite | https://github.com/Bahmni/bahmni-lab-frontend | bahmni-lab-frontend | New Lab Module for uploading Patient Lab reports (using O3 design system). | React, Micro-frontends, TypeScript |
Bahmni Modules | ||||
Bacteriology | https://github.com/Bahmni/bacteriology.git | bacteriology | OpenMRS module for bacteriology - Specimen, Culture, DST and Smear | Java |
Two Factor Authentication | https://github.com/Bahmni/two-factor-auth.git | two-factor-auth | Application to handle two factor authentication in Bahmni | Java |
Audit Log Service | https://github.com/Bahmni/audit-log | audit-log | Audit logging of bahmni-core and bahmni-ui | Java |
Appointment Scheduling | https://github.com/Bahmni/openmrs-module-appointments | openmrs-module-appointments | Backend for appointment scheduling | Java |
Fhir2 extension module | https://github.com/Bahmni/openmrs-module-fhir2Extension | openmrs-module-fhir2Extension | Extension module for updating implementation of openmrs fhir2 apis. Currently it has the overridden implementation of DiagnosticReport resource | Java |
Episodes Module | https://github.com/Bahmni/openmrs-module-episodes | openmrs-module-episodes | Demonstrates the use of Episodes of Care for OpenMRS. | Java |
Bahmni QA & Automation | ||||
Bahmni Gauge | https://github.com/Bahmni/bahmni-gauge.git | bahmni-gauge | Bahmni Automation Test Suite | Java, ThoughtWorks Gauge |
Functional Tests | https://github.com/Bahmni/emr-functional-tests.git | emr-functional-tests | Functional tests suit for EMR apps | Shell Scripting |
Performance Tests | https://github.com/Bahmni/performance-test | performance-test | Performance Test Suite for Bahmni | Scala, Gatling |
Test Data Generator | https://github.com/Bahmni/bahmni-test-data-generator | bahmni-test-data-generator | Patients and Encounters test data generator for Bahmni | Java, REST |
Performance Tests (Community Repo) | https://github.com/albionshala/asha-bahmni-performance | asha-bahmni-performance | Performance 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 | https://github.com/Bahmni/bahmni-offline.git | bahmni-offline | Repository of Bahmni Connect code. This supports Android and Chromium apps. | AngularJS |
Bahmni Connect Sync | https://github.com/Bahmni/bahmni-offline-sync.git | bahmni-offline-sync | Bahmni Connect omod for Android and Chrome extension | Java, Shell Scripting |
Event Log Service | https://github.com/Bahmni/event-log-service.git | event-log-service | Service which provides data to offline devices | Java |
OpenMRS & Modules | ||||
OpenMRS Core | https://github.com/openmrs/openmrs-core.git | openmrs-core | Core OpenMRS codebase. | Java, Spring, Hibernate, MySQL, REST |
ID Gen | https://github.com/openmrs/openmrs-module-idgen | openmrs-module-idgen | Patient Identifier generation module | Java |
ID Gen Webservices | https://github.com/Bahmni/openmrs-module-idgen-webservices.git | openmrs-module-idgen-webservices | ID Gen Webservices module | Java |
EMR API | https://github.com/openmrs/openmrs-module-emrapi.git | openmrs-module-emrapi | EMR API maintained by OpenMRS community | Java, Spring, REST |
REST Webservices | https://github.com/openmrs/openmrs-module-webservices.rest.git | openmrs-module-webservices.rest | OpenMRS REST Webservices Module | Java, REST |
Address Hierarchy Module | https://github.com/openmrs/openmrs-module-addresshierarchy.git | openmrs-module-addresshierarchy | Address Hierarchy Module for managing locations and patient address levels | Java |
Operation Theatre | https://github.com/openmrs/openmrs-module-operationtheater | openmrs-module-operationtheater | Operation Theatre backend module (frontend is in bahmniapps) | Java |
Bed Management Module | https://github.com/openmrs/openmrs-module-bedmanagement | openmrs-module-bedmanagement | IPD Bed / Ward Management (frontend is in bahmniapps) | Java |
OpenELIS | ||||
OpenELIS | https://github.com/Bahmni/OpenElis.git | OpenElis | Lab system (OpenELIS). + AtomFeed for Lab. | Java, JSP, Struts, PostGRES |
OpenERP / ODOO | ||||
Bahmni OpenERP modules | https://github.com/bahmni/openerp-modules.git | openerp-modules | Bahmni modules on OpenERP | Python |
Bahmni ODOO modules | https://github.com/Bahmni/odoo-modules | odoo-modules | Bahmni 0.92+ modules on Odoo V10 | Python |
JSS Custom OpenERP modules | https://github.com/JanSwasthyaSahyog/openerp-modules | openerp-modules | JSS Specific customisations to OpenERP | Python |
ATOM Feed | ||||
ICT4H Atom Feed | https://github.com/ICT4H/atomfeed.git | atomfeed | Main Atom Feed Infrastructure | Java, ATOM |
OpenERP Atom Feed | https://github.com/bahmni/openerp-atomfeed-service.git | openerp-atomfeed-service | Gateway service for OpenERP Atom Feed synchronization | Java, ATOM, REST |
OpenMRS Atom Feed | https://github.com/ICT4H/openmrs-atomfeed | openmrs-atomfeed | OpenMRS Atom Feed Synchronization | Java, ATOM, REST |
Atomfeed console | https://github.com/ICT4H/atomfeed-console | atomfeed-console | UI to view atomfeed console | Java, Server-Side UI |
Example Atomfeed for Bahmni | https://github.com/Bahmni/bahmni-feed-integration-example | bahmni-feed-integration-example | Example code for Atom Feed Integration with Bahmni, that can be used as a starting point. | Java, Spring, REST, ATOM |
PACS / DCM4Chee / Radiology | ||||
DCM4chee | https://sourceforge.net/projects/dcm4che/files/dcm4che2/2.0.28/ | PACS Server (dcm4chee) | Java | |
pacs-integration | https://github.com/Bahmni/pacs-integration | pacs-integration | ATOM Feed based service that integrates Bahmni/OpenMRS with DCM4chee | Java |
Bahmni MART / Analytics | ||||
Bahmni Mart | https://github.com/Bahmni/bahmni-mart | bahmni-mart | Create various tables in analytics DB like Patient Information, Program Enrollment Information, Drug Orders, etc. | Java, Spring Batch |
Bahmni Mart Playbooks | https://github.com/Bahmni/bahmni-mart-playbook | bahmni-mart-playbook | Automated 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 | https://github.com/bahmni/reference-data.git | reference-data | Reference data setup for Bahmni | Groovy / Grails |
OpenMRS-Distro-Bahmni | https://github.com/bahmni/openmrs-distro-bahmni.git | openmrs-distro-bahmni | Collects OpenMRS mods, and publishes Bahmni mods to bahmni repo. | Maven |
Bahmni Package | https://github.com/Bahmni/bahmni-package.git | bahmni-package | Bahmni deployment and RPMs | Gradle, Java, Shell scripting |
Bahmni Vagrant | https://github.com/Bahmni/bahmni-vagrant.git | bahmni-vagrant | Management of vagrant box using packer. It comes with Bahmni on CentOS 6.8 | JSON, Shell Scripting |
Bahmni Playbooks | https://github.com/Bahmni/bahmni-playbooks.git | bahmni-playbooks | Ansible playbooks used for deployments | Shell Scripting |
Bahmni on Kubernetes | https://github.com/Bahmni/bahmni-k8s.git | bahmni-k8s | Kubernetes Configuration for Bahmni Components | YAML, Kubernetes Config |
Bahmni Infra | https://github.com/Bahmni/bahmni-infra.git | bahmni-infra | Terraform configuration for provisioning resources for Bahmni on Cloud. | Terraform |
Helm Charts | https://github.com/Bahmni/helm-charts.git | helm-charts | Repository to store helm charts of Bahmni components. The artifacts are served using github pages . | Helm Repsitory |
Hospital / Implementation Specific | ||||
Demo Config | https://github.com/Bahmni/default-config.git | default-config | Demo based configuration | JSON, SQL, Liquibase, Scripts |
JSS (Jasper Reports) | https://github.com/jss-emr/jss-reports.git | jss-reports | Jasper Reports specific to JSS Hospital implementation | Jasper |
JSS-Config | https://github.com/JanSwasthyaSahyog/jss-config.git | jss-config | JSS (Chattisgarh) Hospital based configuration | JSON, SQL, Liquibase, Scripts |
Search-Config | https://github.com/searchgadchiroli/search-config | search-config | SEARCH (Gadchiroli) Hospital based configuration | JSON, SQL, Liquibase, Scripts |
Search Reports | https://github.com/searchgadchiroli/search-reports | search-reports | SEARCH (Gadchiroli) specific Jasper Reports | Jasper |
Amman Config | https://github.com/bahmni-msf/amman-config.git | amman-config | Bahmni Configuration for Amman | JSON, SQL, Liquibase, Scripts |
Possible Health Config | https://github.com/Possiblehealth/possible-config.git | possible-config | Bahmni Configuration for Possible Health | JSON, SQL, Liquibase, Scripts |
Banyan Config | https://github.com/Bahmni/banyan-config.git | banyan-config | Bahmni Configuration for Banyan | JSON, SQL, Liquibase, Scripts |
Bangladesh Config | https://github.com/SharedHealth/bd-uhc-config.git | bd-uhc-config | Bahmni Configuration for Bangladesh Upazilla Health Centers | JSON, SQL, Liquibase, Scripts |
Bangladesh Master Data | https://github.com/SharedHealth/HIE-Data/tree/master/src/main/resources/data/openmrs-concept/tr | HIE-Data | Bangladesh Master Data for OpenMRS Shared Health records | |
Hemalkasa Config | https://github.com/Bahmni/lokbiradari-config.git | lokbiradari-config | Bahmni Configuration for Lok Biradari Parakalp (Hemalkasa) | JSON, SQL, Liquibase, Scripts |
EndTB Config | https://github.com/Bahmni/endtb-config.git | endtb-config | Bahmni Configuration for EndTB Project | JSON, SQL, Liquibase, Scripts |
Bahmni EndTB Module | https://github.com/Bahmni/openmrs-module-bahmniendtb.git | openmrs-module-bahmniendtb | Bahmni module for EndTB | Java |
Bahmni EndTB Batch | https://github.com/Bahmni/bahmni-endtb-batch.git | bahmni-endtb-batch | Standalone Application for full data export based on spring-batch for endTB | Java |
Gudalur Config | https://github.com/Bahmni/ashwini-gudalur-config.git | ashwini-gudalur-config | Bahmni Configuration for Gudalur Adivasi Hospital | JSON, SQL, Liquibase, Scripts |
Bhutan ePIS Config | http://github.com/ePISBhutan/bhutan-config | bhutan-config | Bahmni Configuration for Bhutan hospitals | Json, SQL, Liquibase, Scripts |
PIH Config | https://github.com/PIH/pih-bahmni-config | pih-bahmni-config | Various Bahmni configurations done by PIH for facilities like wellbody clinic, endTB, Liberia, Compañeros En Salud (Mexico), etc. | |
Lesotho Country Wide eRegister | https://github.com/eRegister | bahmni_configs |
| |
Haiti (Mekom) | https://github.com/mekomsolutions/openmrs-config-haiti/ | openmrs-config-haiti |
| Json, SQL, Liquibase, Scripts |
Cameroon (Jembi) | https://github.com/jembi/cameroon-bahmni-config/tree/staging | cameroon-bahmni-config | Bahmni Configuration for Cameroon (HIV), maintained by Jembi. (Switch to branch = staging) | JSON, SQL, Liquibase, Scripts |
Other Community Repositories related to Bahmni | ||||
Bahmni INDIA Distro | https://github.com/BahmniIndiaDistro |
| ||
Bahmni India Helm Umbrella Chart | https://github.com/BahmniIndiaDistro/helm-umbrella-chart.git | helm-umbrella-chart | Helm Umbrella Chart configuration for Bahmni India Distro which includes consuming of helm charts from Bahmni Product | Helm, YAML |
OpenMRS Config Initialiser | https://github.com/mekomsolutions/openmrs-module-initializer | openmrs-module-initializer | The 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: https://github.com/mekomsolutions/openmrs-config-haiti/tree/master/configuration | Java, Scripts, CSV |
Initialiser CSV generator | https://github.com/PIH/iniz-exporters | iniz-exporters | Use these scripts to export OpenMRS concepts and other data into CSV, for initialiser to read/import. | Python |
Bahmni Mobile App (POC) | https://github.com/angshu/connect2Bahmni | connect2Bahmni | Simple 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 app | Flutter |
Speech Assistant (front end) | https://github.com/Bahmni/speech-assistant-frontend | speech-assistant-frontend | It 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 | https://github.com/bgeVam/lis-integration | lis-integration | Bahmni integrated with BikaLIMS/Senaite LIMS over HL-7 (as an alternative to using OpenELIS). Read discussion here: https://talk.openmrs.org/t/introducing-bahmni-hl7-lis-integration/34198. This is not currently adopted into core product by Bahmni team. | Java, Mirth Connect |
Krishna/Hindi Font Transformer | https://github.com/Bahmni/bahmni-java-utils/tree/master/font-transformer | bahmni-java-utils | Font 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 |
Insurance Connect with openIMIS | https://github.com/Bahmni/bahmni-insurance-connect/tree/master | bahmni-insurance-connect | Integration with opensource openIMIS (for Nepal). Read more here: Bahmni and openIMIS Integration (done by PossibleHealth) | Java |
Coding IDEs for Bahmni Code
For Coding purposes, you can use Visual Studio Code (for UI/JS code) and IntelliJ Community Edition (for Java/Backend code)
Visual Studio Code (for UI/JS code) | IntelliJ Community Edition (for Java/Backend Code) |
---|---|
https://code.visualstudio.com/downloadExample screenshot of all bahmni-global code folders opened in Visual Studio Code | https://www.jetbrains.com/idea/download/ (Community Edition if free for use on Open Source Projects) Example screenshot of bahmni-core folder opened as a Java Maven Project on IntelliJ: |
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)