Bahmni Architecture

Bahmni is made up of four services which are integrated with each other. All integration happens using the atom (this RSS) feeds exposed by the individual services and consumed by the background threads in consuming processes. The first two slides below are for application and reporting architecture (This excludes all of OpenERP and canned OpenELIS reports)

Please see this training video on Bahmni Architecture also: Bahmni - Starting off the Bahmni Journey - Dec 2021 (Training)

Integration between application services

Each service publishes the key state changes via a RSS kind of feed (ATOM). The services also run background jobs which consume the feed published by other services. (e.g. When a patient is registered in OpenMRS then it captures the event for it. Both OpenERP and OpenELIS consume these events via the OpenMRS's change feed)


SourceDestinationSource ResourceDestination Resource
OpenMRSOpenELISLab OrderDraft Accession
OpenELISOpenMRSAccession, Sample & ResultsEncounter (lab results)
OpenMRSOpenELISConceptSample types, Lab Test, Panel


For Bahmni PACS design, please refer to this document: Bahmni PACS Roadmap

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