Versions Compared

Key

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


Info
titleDevelopment

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

...


...

Tip

...

titleClone Bahmni Code (Bash Script)

You can use this bash script to clone all the code quickly to your local machine: clone_bahmni_code.sh



Bahmni Modulesbacteriology.Bahmni Bahmni Connectbahmnioffline.gitbahmniofflineBahmni Connect Syncofflinesync.gitofflinesyncBahmni Connect omod for Android and Chrome extension Shell ScriptingEvent Log ServiceBahmnieventlogservice.giteventlogserviceOpenMRS CoreopenmrscoreID Gen Webservicesopenmrsmoduleidgen-webservicesopenmrsmoduleidgen-webservicesID Gen Webservices moduleEMR APImodule-emrapiwebservices.rest.gitwebservices.restOpenMRS REST Webservices Module, RESTAddress Hierarchy ModuleBahmni Packagepackage.gitpackageBahmni Vagrantvagrant.gitvagrantBahmni PlaybooksBahmnibahmniplaybooksbahmniplaybooksinfrainfraHelm ChartshelmchartshelmchartsJSS (Jasper Reports)bahmnisearchsearchSEARCH (Gadchiroli) Hospital Bahmni EndTB ModuleBahmniopenmrs-module-bahmniendtb.gitBahmni EndTB Batchbahmniendtb-batchbahmniendtb-batchhttpePISBhutanbhutanconfig/BahmniIndiaDistroBahmni India Helm Umbrella Chart
NameGitHub URLFolder nameDescriptionTechnologies





Bahmni EMR Core
Bahmni UIhttps://github.com/Bahmni/openmrs-module-bahmniapps.gitopenmrs-module-bahmniappsAngular JS based Bahmni UI.Angular.JS
Bahmni Corehttps://github.com/Bahmni/bahmni-core.gitbahmni-coreCore bahmni backend (and Atom feed client for OpenELIS)Java, Hibernate, REST
Utilshttps://github.com/Bahmni/bahmni-java-utils.gitbahmni-java-utilsSome common classes needed by bahmni-coreJava
Implementer Interfacehttps://github.com/Bahmni/implementer-interface.gitimplementer-interfaceA repository for implementer-interfaces like form-builder, reporting, dashboard etc.ReactJS
Bahmni Scriptshttps://github.com/Bahmni/bahmni-scripts.gitbahmni-scriptsUtility scripts used by Bahmni like anonymizing, Branching, Deleting Patient Data..etc.Shell Scripting
Form Controlshttps://github.com/Bahmni/form-controls.gitform-controls

Repository of reusable custom ReactJS components

ReactJS
Bahmni Reportshttps://github.com/Bahmni/bahmni-reports.gitbahmni-reportsRepository to host the Reports web application for the BahmniJava
Appointment Scheduling UIhttps://github.com/Bahmni/openmrs-module-appointments-frontendopenmrs-module-appointments-frontendUI for Appointment Scheduling in BahmniAnglar.js + React
Lab LiteBacteriologyhttps://github.com/Bahmni/bahmni-lab-frontendbahmni-lab-frontendNew Lab Module for uploading Patient Lab reports (using O3 design system).React, Micro-frontends, TypeScript
Bahmni Modules



Bacteriologyhttps://github.com/Bahmni/bacteriology.gitbacteriologyOpenMRS module for bacteriology - Specimen, Culture, DST and SmearJava
Two Factor Authenticationhttps://github.com/Bahmni/two-factor-auth.gittwo-factor-authApplication to handle two factor authentication in BahmniJava
Audit Log Servicehttps://github.com/Bahmni/audit-logaudit-logAudit logging of bahmni-core and bahmni-uiJava
Appointment Schedulinghttps://github.com/Bahmni/openmrs-module-appointmentsopenmrs-module-appointmentsBackend for appointment schedulingJava
Fhir2 extension modulehttps://github.com/Bahmni/openmrs-module-fhir2Extensionopenmrs-module-fhir2ExtensionExtension module for updating implementation of openmrs fhir2 apis. Currently it has  the overridden implementation of DiagnosticReport resourceJava
Bahmni QA & AutomationEpisodes Modulehttps://github.com/Bahmni/openmrs-module-episodesopenmrs-module-episodesDemonstrates the use of Episodes of Care for OpenMRS.Java
Bahmni QA & Automation



Bahmni Gaugehttps://github.com/Bahmni/bahmni-gauge.gitbahmni-gaugeBahmni Automation Test SuiteJava, ThoughtWorks Gauge
Functional Testshttps://github.com/Bahmni/emr-functional-tests.gitemr-functional-testsFunctional tests suit for EMR appsShell Scripting
Bahmni Connect (Offline App)
Performance Testshttps://github.com/Bahmni/performance-testperformance-Repository of Bahmni Connect code. This supports Android and Chromium apps.AngularJStestPerformance Test Suite for BahmniScala, Gatling
Test Data Generatorhttps://github.com/Bahmni/bahmni-test-data-generatorbahmni-test-data-generatorPatients and Encounters test data generator for BahmniJava, REST
Performance Tests (Community Repo)https://github.com/albionshala/asha-bahmni-performanceasha-bahmni-Service which provides data to offline devicesJava
OpenMRS & Modules
performancePerformance 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 Connecthttps://github.com/openmrsBahmni/openmrsbahmni-coreoffline.gitbahmni-Core OpenMRS codebase.Java, Spring, Hibernate, MySQL, RESTID GenofflineRepository of Bahmni Connect code. This supports Android and Chromium apps.AngularJS
Bahmni Connect Synchttps://github.com/openmrsBahmni/openmrsbahmni-moduleoffline-idgensync.gitopenmrsbahmni-moduleoffline-idgenPatient Identifier generation moduleJavasyncBahmni Connect omod for Android and Chrome extensionJava, Shell Scripting
Event Log Servicehttps://github.com/Bahmni/event-log-service.gitevent-log-serviceService which provides data to offline devicesJava





OpenMRS & Modules
OpenMRS Corehttps://github.com/openmrs/openmrs-core.gitopenmrs-module-emrapiEMR API maintained by OpenMRS communitycoreCore OpenMRS codebase.Java, Spring, Hibernate, MySQL, RESTREST Webservices
ID Genhttps://github.com/openmrs/openmrs-module-idgenopenmrs-module-idgenPatient Identifier generation moduleJava
ID Gen Webserviceshttps://github.com/openmrsBahmni/openmrs-module-addresshierarchyidgen-webservices.gitopenmrs-module-addresshierarchyAddress Hierarchy Module for managing locations and patient address levelsidgen-webservicesID Gen Webservices moduleJavaOperation
TheatreEMR APIhttps://github.com/openmrs/openmrs-module-operationtheateremrapi.gitopenmrs-module-operationtheaterOperation Theatre backend module (frontend is in bahmniapps)JavaBed Management ModuleemrapiEMR API maintained by OpenMRS communityJava, Spring, REST
REST Webserviceshttps://github.com/openmrs/openmrs-module-bedmanagementwebservices.rest.gitopenmrs-module-bedmanagementIPD Bed / Ward Management (frontend is in bahmniapps)Java
OpenELIS
OpenELISwebservices.restOpenMRS REST Webservices ModuleJava, REST
Address Hierarchy Modulehttps://github.com/Bahmni/OpenElisopenmrs/openmrs-module-addresshierarchy.gitOpenElisLab system (OpenELIS). + AtomFeed for Lab.Java, JSP, Struts, PostGRES
OpenERP / ODOO
Bahmni OpenERP modulesopenmrs-module-addresshierarchyAddress Hierarchy Module for managing locations and patient address levelsJava
Operation Theatrehttps://github.com/bahmniopenmrs/openerp-modules.gitopenerp-modulesBahmni modules on OpenERPPythonBahmni ODOO modulesopenmrs-module-operationtheateropenmrs-module-operationtheaterOperation Theatre backend module (frontend is in bahmniapps)Java
Bed Management Modulehttps://github.com/Bahmniopenmrs/odooopenmrs-module-modulesbedmanagementodooopenmrs-module-modulesBahmni 0.92+ modules on ODOOPython
ATOM Feed
ICT4H Atom FeedbedmanagementIPD Bed / Ward Management (frontend is in bahmniapps)Java





OpenELIS
OpenELIShttps://github.com/ICT4HBahmni/atomfeedOpenElis.gitatomfeedMain Atom Feed InfrastructureJava, ATOMOpenERP Atom FeedOpenElisLab system (OpenELIS). + AtomFeed for Lab.Java, JSP, Struts, PostGRES





OpenERP / ODOO
Bahmni OpenERP moduleshttps://github.com/bahmni/openerp-atomfeed-service.modules.gitopenerp-atomfeed-serviceGateway service for OpenERP Atom Feed synchronizationJava, ATOM, RESTOpenMRS Atom FeedmodulesBahmni modules on OpenERPPython
Bahmni ODOO moduleshttps://github.com/ICT4HBahmni/openmrsodoo-atomfeedmodulesopenmrsodoo-atomfeedOpenMRS Atom Feed SynchronizationJava, ATOM, RESTAtomfeed consolemodulesBahmni 0.92+ modules on Odoo V10Python
JSS Custom OpenERP moduleshttps://github.com/ICT4HJanSwasthyaSahyog/atomfeedopenerp-consolemodulesatomfeedopenerp-consolemodulesUI to view atomfeed consoleJava, Server-Side UIExample Atomfeed for BahmniJSS Specific customisations to OpenERPPython
ATOM Feed
ICT4H Atom Feedhttps://github.com/Bahmni/bahmni-feed-integration-examplebahmni-feed-integration-exampleExample code for Atom Feed Integration with Bahmni, that can be used as a starting point.Java, Spring, REST, ATOMPACS / DCM4Chee / RadiologyDCM4cheeICT4H/atomfeed.gitatomfeedMain Atom Feed InfrastructureJava, ATOM
OpenERP Atom Feedhttps://sourceforgegithub.netcom/projects/dcm4che/files/dcm4che2/2.0.28/PACS Server (dcm4chee)Javapacs-integrationbahmni/openerp-atomfeed-service.gitopenerp-atomfeed-serviceGateway service for OpenERP Atom Feed synchronizationJava, ATOM, REST
OpenMRS Atom Feedhttps://github.com/BahmniICT4H/pacsopenmrs-integrationatomfeedpacsopenmrs-integrationatomfeedATOM Feed based service that integrates Bahmni/OpenMRS with DCM4cheeJava
Bahmni MART / Analytics
Bahmni MartOpenMRS Atom Feed SynchronizationJava, ATOM, REST
Atomfeed consolehttps://github.com/BahmniICT4H/bahmniatomfeed-martconsolebahmniatomfeed-martCreate various tables in analytics DB like Patient Information, Program Enrollment Information, Drug Orders, etc.Java, Spring BatchBahmni Mart PlaybooksconsoleUI to view atomfeed consoleJava, Server-Side UI
Example Atomfeed for Bahmnihttps://github.com/Bahmni/bahmni-martfeed-integration-playbookexamplebahmni-feed-martintegration-playbookAutomated 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 DataexampleExample code for Atom Feed Integration with Bahmni, that can be used as a starting point.Java, Spring, REST, ATOM





PACS / DCM4Chee / Radiology


DCM4cheehttps://github.com/bahmni/reference-data.gitreference-dataReference data setup for BahmniGroovy / GrailsOpenMRS-Distro-Bahmnisourceforge.net/projects/dcm4che/files/dcm4che2/2.0.28/
PACS Server (dcm4chee)Java
pacs-integrationhttps://github.com/bahmniBahmni/openmrs-distro-bahmni.gitopenmrs-distro-bahmniCollects OpenMRS mods, and publishes Bahmni mods to bahmni repo.Mavenpacs-integrationpacs-integrationATOM Feed based service that integrates Bahmni/OpenMRS with DCM4cheeJava
Bahmni MART / Analytics
Bahmni Marthttps://github.com/Bahmni/bahmni-martbahmni-Bahmni deployment and RPMsGradle, Java, Shell scriptingmartCreate various tables in analytics DB like Patient Information, Program Enrollment Information, Drug Orders, etc.Java, Spring Batch
Bahmni Mart Playbookshttps://github.com/Bahmni/bahmni-mart-playbookbahmni-Management of vagrant box using packer. It comes with Bahmni on CentOS 6.8JSON, Shell Scriptingmart-playbookAutomated 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 Datahttps://github.com/bahmni/reference-data.gitreference-Ansible playbooks used for deploymentsShell ScriptingBahmni on KubernetesdataReference data setup for BahmniGroovy / Grails
OpenMRS-Distro-Bahmnihttps://github.com/Bahmnibahmni/openmrs-distro-bahmni-k8s.gitopenmrs-distro-bahmni-k8sKubernetes Configuration for Bahmni ComponentsYAML, Kubernetes ConfigBahmni InfraCollects OpenMRS mods, and publishes Bahmni mods to bahmni repo.Maven
Bahmni Packagehttps://github.com/Bahmni/bahmni-package.gitbahmni-Terraform configuration for provisioning resources for Bahmni on Cloud.TerraformpackageBahmni deployment and RPMsGradle, Java, Shell scripting
Bahmni Vagranthttps://github.com/Bahmni/bahmni-vagrant.gitbahmni-Repository to store helm charts of Bahmni components. The artifacts are served using github pages .Helm Repsitory
Hospital / Implementation Specific
Demo ConfigvagrantManagement of vagrant box using packer. It comes with Bahmni on CentOS 6.8JSON, Shell Scripting
Bahmni Playbookshttps://github.com/Bahmni/defaultbahmni-configplaybooks.gitdefaultbahmni-configDemo based configurationJSON, SQL, Liquibase, ScriptsplaybooksAnsible playbooks used for deploymentsShell Scripting
Bahmni on Kuberneteshttps://github.com/jss-emrBahmni/jssbahmni-reportsk8s.gitjssbahmni-reportsJasper Reports specific to JSS Hospital implementationJasperJSS-Configk8sKubernetes Configuration for Bahmni ComponentsYAML, Kubernetes Config
Bahmni Infrahttps://github.com/JanSwasthyaSahyogBahmni/jssbahmni-configinfra.gitjssbahmni-configJSS (Chattisgarh) Hospital based configurationJSON, SQL, Liquibase, ScriptsSearch-infraTerraform configuration for provisioning resources for Bahmni on Cloud.Terraform
Helm Chartshttps://github.com/Bahmni/helm-charts.githelm-chartsRepository to store helm charts of Bahmni components. The artifacts are served using github pages .Helm Repsitory





Hospital / Implementation Specific
Demo Confighttps://github.com/Bahmni/default-config.gitdefault-configDemo based configurationJSON, SQL, Liquibase, Scripts
Search JSS (Jasper Reports)https://github.com/bahmnijss-emr/searchjss-reports.gitsearchjss-reportsSEARCH (Gadchiroli) specific Jasper Reports specific to JSS Hospital implementationJasper
Amman JSS-Confighttps://github.com/bahmni-msfJanSwasthyaSahyog/ammanjss-config.gitammanjss-configBahmni Configuration for AmmanJSS (Chattisgarh) Hospital based configurationJSON, SQL, Liquibase, Scripts
Possible Health Search-Confighttps://github.com/Possiblehealthsearchgadchiroli/possiblesearch-config.gitpossiblesearch-configBahmni Configuration for Possible HealthSEARCH (Gadchiroli) Hospital based configurationJSON, SQL, Liquibase, Scripts
Banyan ConfigSearch Reportshttps://github.com/Bahmnisearchgadchiroli/banyansearch-config.gitreportsbanyansearch-configBahmni Configuration for BanyanJSON, SQL, Liquibase, ScriptsBangladesh reportsSEARCH (Gadchiroli) specific Jasper ReportsJasper
Amman Confighttps://github.com/SharedHealth/bd-uhcbahmni-msf/amman-config.gitbdamman-uhc-configBahmni Configuration for Bangladesh Upazilla Health CentersAmmanJSON, SQL, Liquibase, Scripts
Bangladesh Master DataPossible Health Confighttps://github.com/SharedHealthPossiblehealth/HIE-Data/tree/master/src/main/resources/data/openmrs-concept/trHIE-DataBangladesh Master Data for OpenMRS Shared Health recordsHemalkasa possible-config.gitpossible-configBahmni Configuration for Possible HealthJSON, SQL, Liquibase, Scripts
Banyan Confighttps://github.com/Bahmni/lokbiradaribanyan-config.gitlokbiradaribanyan-configBahmni Configuration for Lok Biradari Parakalp (Hemalkasa)BanyanJSON, SQL, Liquibase, Scripts
EndTB Bangladesh Confighttps://github.com/BahmniSharedHealth/endtbbd-uhc-config.gitendtbbd-uhc-configBahmni Configuration for EndTB ProjectBangladesh Upazilla Health Centers

JSON, SQL, Liquibase, Scripts

Bangladesh Master Datahttps://github.com/SharedHealth/openmrs-module-bahmniendtbBahmni module for EndTBJavaHIE-Data/tree/master/src/main/resources/data/openmrs-concept/trHIE-DataBangladesh Master Data for OpenMRS Shared Health records
Hemalkasa Confighttps://github.com/Bahmni/lokbiradari-config.gitlokbiradari-Standalone Application for full data export based on spring-batch for endTBJavaGudalur configBahmni Configuration for Lok Biradari Parakalp (Hemalkasa)JSON, SQL, Liquibase, Scripts
EndTB Confighttps://github.com/Bahmni/ashwiniendtb-gudalur-config.gitashwini-gudalurendtb-configBahmni Configuration for Gudalur Adivasi HospitalEndTB ProjectJSON, SQL, Liquibase, ScriptsBhutan ePIS Config
Bahmni EndTB Modulehttps://github.com/Bahmni/openmrs-bhutan-configBahmni Configuration for Bhutan hospitalsJson, SQL, Liquibase, Scripts
Other Community Repositories related to Bahmni
Bahmni INDIA Distromodule-bahmniendtb.gitopenmrs-module-bahmniendtbBahmni module for EndTBJava
Bahmni EndTB Batchhttps://github.com
  1. ABDM related extensions for Bahmni
  2. Bahmni configurations for India specific distributions (master data, clinic screens, etc)
/Bahmni/bahmni-endtb-batch.gitbahmni-endtb-batchStandalone Application for full data export based on spring-batch for endTBJava
Gudalur Confighttps://github.com/BahmniIndiaDistroBahmni/helmashwini-umbrellagudalur-chartconfig.githelmashwini-umbrellagudalur-chartHelm Umbrella Chart configuration for Bahmni India Distro which includes consuming of helm charts from Bahmni Product

Helm, YAML

OpenMRS Config InitialiserconfigBahmni Configuration for Gudalur Adivasi HospitalJSON, SQL, Liquibase, Scripts
Bhutan ePIS Confighttp://github.com/ePISBhutan/bhutan-configbhutan-configBahmni Configuration for Bhutan hospitalsJson, SQL, Liquibase, Scripts
PIH Confighttps://github.com/mekomsolutionsPIH/openmrspih-modulebahmni-initializerconfigopenmrspih-modulebahmni-initializerThe 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: configVarious Bahmni configurations done by PIH for facilities like wellbody clinic, endTB, Liberia, Compañeros En Salud (Mexico), etc.
Lesotho Country Wide eRegisterhttps://github.com/eRegisterbahmni_configs
  1. Lesotho country wide implementation of Bahmni, called eRegister. Read more here and here.
  2. Lesotho concept dictionary of terms. And here.

Haiti (Mekom)https://github.com/mekomsolutions/openmrs-config-haiti/openmrs-config-haiti
  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)https://github.com/jembi/cameroon-bahmni-config/tree/stagingcameroon-bahmni-configBahmni Configuration for Cameroon (HIV), maintained by Jembi. (Switch to branch = staging)JSON, SQL, Liquibase, Scripts
Other Community Repositories related to Bahmni
Bahmni INDIA Distrohttps://github.com/BahmniIndiaDistro
  1. ABDM related extensions for Bahmni
  2. Bahmni configurations for India specific distributions (master data, clinic screens, etc)

Bahmni India Helm Umbrella Charthttps://github.com/BahmniIndiaDistro/helm-umbrella-chart.githelm-umbrella-chartHelm Umbrella Chart configuration for Bahmni India Distro which includes consuming of helm charts from Bahmni Product

Helm, YAML

OpenMRS Config Initialiserhttps://github.com/mekomsolutions/openmrs-module-initializeropenmrs-module-initializerThe 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/configurationJava, Scripts, CSV
Initialiser CSV generatorhttps://github.com/PIH/iniz-exportersiniz-exportersUse 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/connect2Bahmniconnect2BahmniSimple 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)https://github.com/Bahmni/speech-assistant-frontendspeech-assistant-frontendIt 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 integrationhttps://github.com/bgeVam/lis-integrationlis-integrationBahmni 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 Transformerhttps://github.com/Bahmni/bahmni-java-utils/tree/master/font-transformerbahmni-java-utilsFont 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 openIMIShttps://github.com/mekomsolutionsBahmni/openmrsbahmni-configinsurance-haiticonnect/tree/master/configurationJava, Scripts, CSV
Bahmni Mobile App (POC)https://github.com/angshu/connect2Bahmniconnect2BahmniSimple 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)

...

masterbahmni-insurance-connectIntegration with opensource openIMIS (for Nepal). Read more here: Bahmni and openIMIS Integration (done by PossibleHealth)Java


Coding IDEs for Bahmni Code


Tip

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/download

Example screenshot of all bahmni-global code folders opened in Visual Studio Code

Image Added

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:

Image Added