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.
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
Liquibase changesets do not delete old tables from versions older than 4.x
- 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 messages.properties Needs Assessment
- DINT-82 - create and expose API of the dataintegrity module In Progress
- GSoC-2017 Data Integrity Module Talk Thread
- Data Integrity Module Wiki Page
- Github Repository
- Data Quality Dashboard - discussion on talk