Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS »
Discussion: OpenMRS Talk »
Real-Time: IRC Chat


Skip to end of metadata
Go to start of metadata

Primary mentor

Stephen Senkomago Musoke

Backup mentor

Mayank Sharma

Assigned to

Shivang Nagaria


The Data Integrity module is used to find data quality violations in data entered in OpenMRS from different sources like the Web app or the Android Client and it is not always possible to validate data while taking input. It is often used for validations that cannot be done within the form capture tools.

The violations are checked across any OpenMRS objects visits, encounters, observations and patient attributes even across time. The violations are checked against the rule written in Java or Groovy. As the rules can be programmed, there is very little scope for inconsistency. Added rules can also be configured to run on scheduled time.

The current module based on code donated from a rewrite by ThoughtWorks for the Bahmni project. The long term plan is to support data quality improvement projects and best practices.

Project Champions

Skills Needed

  • Java
  • HTML
  • CSS


The project currently needs the following enhancements and improvements:

  • DINT-70 - Add the ability to run SQL based rules Needs Assessment
  • DINT-71 - Make module ready for Platform 2.x Closed
  • DINT-72 - Display patient data violations on the patient dashboard Closed
  • DINT-73 - Improve filtering of results of results from running the rules Closed
  • DINT-74 - Improve the workflow for running a single rule Needs Assessment
  • DINT-75 - Liquibase changesets do not delete old tables from versions older than 4.x In Progress

  • DINT-76 - Add capability to export rule violations to CSV and/or Excel Closed
  • DINT-77 - Dashboard Widget - Should show the note for the result by default, then the name of the rule if there is no note Closed
  • DINT-78 - Update Data Integrity Wiki Page to reflect latest updates In Progress
  • DINT-79 - Update README Needs Assessment
  • DINT-80 - Externalize all Labels, messages and errors into the module Needs Assessment
  • DINT-82 - create and expose API of the dataintegrity module In Progress