Bahmni RPM Packages

Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications.

Bahmni has a micro service architecture : Bahmni Services.

The different services are packaged as RPMs. Here is the list of all the RPM's:

  • atomfeed-console.noarch
  • bahmni-emr.noarch
  • bahmni-erp.noarch
  • bahmni-erp-connect.noarch
  • bahmni-implementer-interface.noarch
  • bahmni-installer.noarch
  • bahmni-lab.noarch
  • bahmni-lab-connect.noarch
  • bahmni-openmrs.noarch
  • bahmni-reports.noarch
  • bahmni-web.noarch

Code for packaging the services as RPMs is here: https://github.com/Bahmni/bahmni-package. Bahmni Package picks up artifacts of repositories (like bahmni-core, bahmniapps, ...) and packages them as RPMs.

Details of what each RPM contains : (Note: Git links are accessible if you open the Gliffy in full screen mode)


RPMs and the services they install

RPMs install and setup a service. They also provide lifecycle scripts to start, stop and restart a service.

bahmni-installer: Installs the code required to install and setup Bahmni. Includes bahmni-playbooks, bahmni command (bahmni.py).

bahmni-openmrs: Installs openmrs war file and sets up the openmrs MySQL database.

bahmni-emr: Installs default OpenMRS modules required for Bahmni.

bahmni-web: Installs UI code. Has httpd as a dependency.

bahmni-reports: Installs reports war and sets up the bahmni-reports MySQL database.

bahmni-erp: Installs OpenERP, its modules and sets up the openerp PostgreSQL database.

bahmni-erp-connect: Installs bahmni-erp-connect service which serves as the integration point between OpenMRS and OpenERP.

bahmni-lab: Installs OpenELIS and sets up the clinlims PostgreSQL database.

atomfeed-console: Installs and sets up the atomfeed-console service.

bahmni-implementer-interface: Installs the UI code required for the implementer interface app.

bahmni-lab-connect: Installs the openelis-atomfeed omod.

bahmni-two-factor-auth: Installs and sets up the two factor authentication service.

dcm4chee: Installs the dcm4chee service and sets up the pacsdb PostgreSQL database.

pacs-integration: Installs the pacs-integration service and sets up the bahmni-pacs PostgreSQL database.



As Bahmni has a microservice architecture, one could choose install only a subset of these services depending on the use case. For example if a hospital only has only clinical and pharmacy and does not have laboratory to perform tests, they can install only those components. Please refer the steps here to install on a subset of above services.   


The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)