When you install Bahmni, it also installs OpenMRS, OpenELIS and OpenERP (each with their own databases), unless you choose to skip installation of some of these products. For instance, some people may want to only use the clinical pieces of Bahmni, and may choose to not install OpenERP. That is also fine. You can also choose to only use the EMR piece, and not install ELIS and ERP.
The Bahmni EMR uses OpenMRS as its backend system. So the Bahmni UI, sends requests for storing data and reading data to OpenMRS, and OpenMRS in turns talks to MySQL Database to store / read data.
In a hospital setup, clinicians, nurses and registration would use the Bahmni EMR UI for viewing/entering data. Even though OpenMRS also has its own UI, in Bahmni context, it is used as an Administration tool, for data setup ā like registering providers, setting up Address hierarchy, setting up concepts, setting up drugs, and other such reference data. But for day to day activity, one would be using the Bahmni EMR UI.
For this reason, Patient registration should be done in Bahmni (and not in OpenMRS), so that features like Picture Upload, and other attributes can be captured.
I hope this explains it. For the context of Bahmni, the OpenMRS UI is the Administration UI to setup data. Certain things though, like Clinical Forms, still need to be uploaded via Bahmni UI, which then gets stored in OpenMRS DB.
Bahmni UI --> OpenMRS APIs (backend) ā> OpenMRS MySQL Database
OpenMRS UI --> OpenMRS MySQL Database
Eventually, both are talking to the same database, but day-to-day functions are easier and configurable in Bahmni UI.
Bahmni also does one more thing: It integrates all the 3 systems⦠OpenMRS, OpenELIS and OpenERP⦠so that when you register a patient from Bahmni UI (which creates a patient in OpenMRS), then automatically a Patient is also registered in OpenELIS (Lab), and a Customer is added to OpenERP. Similarly, if you enter lab results in OpenELIS, they flow to OpenMRS, and hence become visible in Bahmni EMR UI. This way two way data flow happens in Bahmni, so that you only need to enter a single piece of information in a single system, while other systems receive the appropriate data.