Versions Compared


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


This document explains how you can run an anonymize script on Bahmni database to anonymize patient data. It is a good idea to anonymize data before sharing it with outsiders to ensure privacy of medical data. Note: Anonymization of data is hard, and usually some "noise" has to be added into the DB, along with dropping personal information, for making data irreversible, and to protect patient privacy. See this: and


It is also illegal in many countries to share medical data with outsiders / tech staff without proper authorization. For instance in the USA see: and this:



This is tested for v0.80. It hasn't yet been tested for the latest version of Bahmni. If you have feedback with regards to this script please do connect with us. Thanks!!


To make bahmni data anonymous first download all the files from:


Note, the scripts are only examples. You should revisit the scripts and modify them based on your context. For example, you should identify all possible PII information that you capture first up and subsequently anonymize through techniques such as masking, pseudonymization, generalization and data swapping.  If you want to generate fake but realistic data, check for tooling like fakerjs.

Go inside vagrant box: 

Code Block
vagrant ssh;

Stop services:

Code Block
sudo service openmrs stop;
sudo service bahmni-lab stop;
sudo service openerp stop;

Then goto the directory where you have downloaded all the files from the above mentioned link.

For example if you have kept it inside "bahmni" then you have to do: 

Code Block
cd /bahmni/<directory-name>/

From the directory, run this:

Code Block
sh ./

It will execute with the following message: 

Then Start the services:

Code Block
sudo service openmrs start
sudo service bahmni-lab start
sudo service openerp start

See the changes in Bahmni page (before and after data anonymization):

                          Before                                                               After

titleOn this page

Table of Contents