Does anyone want to test Bahmni Mart as an OpenMRS Data Warehouse solution?

Continuing the discussion from 2018 Collaborative Data Innovations for Sustainable Development - Call for Collaboration on OpenMRS Proposal:

In the end we will not submit for this World Bank funding opportunity, but this topic recently came up, I would like to explore a bit further whether this tool could be used as the basis for a standard OpenMRS Data Warehouse solution.

Basically, a Bahmni project team has done some nice work in creating a reusable tool that:

Under the hood it uses Spring Batch, and stores data in postgres.

In theory this should work* out of the box for a plain OpenMRS implementation. Would anyone be interested to test this out, and share some feedback on whether it seems like a worthwhile direction for a generic/standard OpenMRS tool.

  • = one thing that will not work out of the box for plain OpenMRS is the ability to automatically flatten to row-per-encounter & column-per-question, because this is driven by the Bahmni form-entry technology. One could add similar code to support HTML Form Entry, XForms, etc, if this seems like a promising direction.
1 Like

@darius I will give this a try for FGH Mozambique.

1 Like

Hi @willa, please go through this link to deploy Bahmni Mart on your environment.

A couple of dependencies you should take care before installing bahmni mart on a Non-Bahmni project.

  • Edit bahmni-mart inventory file and add a proper hostname for bahmni-emr-db (it will point to your openmrs DB host)
  • By default, bahmni mart will try to connect bahmni-emr-db using openmrs-user as username and password as the password. If this credential is not valid for you, please override the values for openmrs_db_username and openmrs_db_password using setup.yml.

Once these above dependencies are resolved, please go ahead and install bahmni mart. Once the installation is done, you have to edit /var/www/bahmni_config/bahmni-mart/bahmni-mart.json (it will create /var/www/bahmni_config/bahmni-mart/ folder and link to /opt/bahmni-mart/conf). This config will have all the default job for any Bahmni project. Some job type (eg: obs) might not work for Non-Bahmni implementation as there are some values hardcoded in the code itself (you can easily change it). But all the other job types (eg: customSql, patients, programs etc) will work. Please check here for implementers note/config.

Once everything is done and bahmni-mart successfully ran on your environment, you can access the data using Metabase (depends on your firewall settings you might have to open 9003 port manually to be able to access Metabase). During Metabase configuration use (default docker IP) to connect to analytics DB


@willa, I’m just wondering if you had a chance to test this out.