Versions Compared

Key

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

...

You can see a demo of Bahmni Metabase/Mart analytics tool in the following demo environments: Bahmni Lite Environments . The aim of Metabase+Mart is to allow Bahmni users to be able to perform reporting/analytics on data collected across Bahmni systems. Bahmni MART will collect data across OpenMRS, Odoo, ELIS, Crater, etc and bring it in an easy-to-query fashion into one MartDB. Then you can use any BI/Analytics tool to connect to MartDB (postgres-db) and build visualizations/dashboards/reports. This also ensures main systems/databases do not get stressed due to analytics jobs. Out of the box, Bahmni ships with opensource metabase as a query/visualisation tool.

What is Metabase

Metabase is an open-source business intelligence tool. Metabase lets you ask questions about your data and displays answers in formats that make sense, whether that’s a bar chart or a detailed table.

You can save your questions and group questions into handsome dashboards. Metabase also makes it easy to share questions and dashboards with the rest of your team.

...

Benefits of  Metabase

With the help of Metabase the users can generate reports by applying necessary conditions and required filters and can view them either in regular tabular structure or any other form of representation like bar graph , line chart etc that might deem fit to express the findings better, and all this can be done very easily without having to bother about writing the SQL queries for the same as the Metabase UI provides option to directly choose and query the required fields  from the database and applying required conditions without any hassle.

...

It is a Spring batch application responsible for transferring data from OpenMRS DB (and in future, from other databases) to an Analytics DB based on a scheduled cron job. You can see the current jobs in this configuration file: https://github.com/Bahmni/bahmni-mart/blob/master/conf/bahmni-mart.json

As OpenMRS database is a transaction database it is being used constantly . Querying the same DB by a lot of systems which eventually increases the load on it, and as it is not an analytics database for creating a single report  you would need to query multiple tables and that is where . Bahmni-Mart comes to the rescue as it transfers the data from OpenMRS to an Analytics DB which is a simplified database wherein hierarchical structures have been flattened and pivoted and many other entities denormalised de-normalised hence for generating reports the querying of database would be easier.

The need for Dockerizing Bahmni Mart and Metabase with Bahmni Docker

As of now the Bahmni Mart and Metabase are not dockerized with Bahmni docker hence we are unable to access and leverage its benefits along with the Bahmni application from Bahmni Docker directlyFor instance, for every form created in Bahmni, a single Form table is created in MartDB, and each row of this table represents the data entered in one form. This makes querying reports on forms much easier, than the original obs data model followed by OpenMRS. As an example, in the Demo Lite environments, you can see the Malaria form (of EMR) represented as a Malaria table in the Mart DB.

The proposed solution

As we are aware of the benefits of having Bahmni-mart and Metabase configured with Bahmni docker, we decided on the stories required to be worked on to deliver our MVP.

...

To view and access the predefined reports after logging in the user has to open Collections -> Bahmni Analytics and then  they will find reports Clinic Visits and Registered Patients.

For more details on Bahmni MART and its architecure, please read: Bahmni Mart