Data Integrity Module
What Is the Data Integrity Module?
The Data Integrity Module provides a way to create, manage and review the quality of data audits. Users can view or download the results of an integrity check, ignore certain known results that should not be included in the total count, see a chart representing the history of an integrity check's findings and link directly to encounters, patients, observations and more from the results. It is meant to provide a common place for finding and dealing with multiple common data quality issues.
Some potential integrity checks are:
Patients with no or more than one preferred identifier
Patients with no name
Patient Identifiers with an incorrect check-digit
Unused Concepts in the Concept Dictionary
Unused or duplicate Field Objects for Forms
Unused Locations
Encounters having no Observations
Pregnant male patients
Patients who have a wrong encounter type (e.g.: A pediatric patient with an adult encounter type or form)
Patients with inconsistent data
See the Sample Integrity Checks page for these and more.
Requirements
SQL skills (for integrity check authors)
For versions 4.2.0+
Modules
For versions 4.3.0+
Modules
OpenMRS 1.5.0+
SQL skills (for integrity check authors)
OpenMRS 1.8.x
SQL skills (for integrity check authors)
OpenMRS 1.6.2+
SQL skills (for integrity check authors)
Installation Instructions
Download Data Integrity Module
Install Module: From the OpenMRS home screen, select System Administration → Manage Modules → Add/Upgrade Modules. Here you should upload the .omod data integrity file. The Data Integrity module should now appear and be accessible from the home screen if the module installation was successful.
Note: If you do not have the necessary prerequisite modules for the version of Data Integrity Module that you have downloaded you will also need to install those prior to running Data Integrity Module.
Documentation
Data Integrity Module JIRA project.
Additional pages for versions up to 1.1.3:
Downloads
Data Integrity Module in the OpenMRS Module Repository
Screenshots
Version 2.x
|
|
|
|
|
|
view page results
|
edit page testing discovery code
|
view page context menu
|
view page summary
|
|
|
|
|
|
|
view page history
|
edit page columns configuration
|
migration columns configuration
|
edit page results code
|
|
|
|
|
|
|
edit page discovery code
|
admin page retire check
|
admin page toggling retired
|
admin page migration needed
|
|
|
|
|
|
|
admin page with finished check
|
admin page with check running
|
admin page
|
admin page with new check
|
Version 1.x
|
|
|
|
|
|
set correction server URL
|
results of multiple runs
|
run a single check
|
manage schedules
|
|
|
|
|
|
|
edit a schedule
|
run multiple checks
|
module section in admin page
|
manage checks
|
|
|
|||
|
edit a check
|
The Future
The future is here! See Data Integrity Module - 2.0 Design Overhaul for the design concerns behind the latest UI developments. More innovations await, such as:
adding the ability to use other languages for integrity checks, like Groovy, Javascript or Python!
sparklines and other small but effective visualizations
deeper introspection and analysis over result sets and history statistics
formatted downloads and possible PDF rendering
Release Notes
Version 4.4.0
DINT-73 - Improve filtering of results of results from running the rules
DINT-77 - Dashboard Widget - Should show the note for the result by default, then the names of the rule if there is no note
DINT-76 - Add capability to export rule violations to CSV and/or Excel
DINT-80 - Externalize all labels, messages, and errors into the module messages.properties
Version 4.3.0
RA-1304 (Pull #14) - Data Integrity Violations Widget
Added REST endpoint for Data Integrity Results
Updated documentation to match class refactoring
Excluded duplicate classes in omod
Corrected the developerConnection in the scm tag which was causing bamboo failures
Version 4.2.0
DINT-68 - Add a UI to enable manual runs for the rules and to display the results of violations
Refactored classes and packages to match the layout of other modules
Added ability to run a single rule through the DataIntegrityService
Version 4.1.0
Pull #7 - Provided support for writing rules for Patient violations
Pull #8 - Added support for Groovy based data integrity rules
Version 4.0
Move bahmni data integrity module as version 4.0 snapshot
Changed name of module parent so that it is consistent with other modules
Version 3.0
DINT-62 - Remove JS charting with Highcharts library
Pull #5 - Removing Highcharts JS Library
Fixed mapping files in config.xml
Updated editCheck.jsp to fix an exception
Moved Activator to api sub-module
Removed Highcharts library and its usage
Version 2.1
DINT-59 - The omod does not include the classes from the API submodule
DINT-60 - Module cannot be loaded because the ${omodHbmConfig} resource could not be found
DINT-56 - Build failure at omod in latest master branch
Version 2.0
DINT-20 - Need more than one repair directive link
DINT-37 - Ensure smooth migration of existing checks from 1.x to 2.0
DINT-34 - Use in UID setting not saved
DINT-40 - ActionServerUrl no longer used in links
DINT-30 - Add methods and UI for un-ignoring a result
DINT-18 - Cannot delete an integrity check with results
DINT-31 - Column definitions compromised when integrity check code changes
DINT-33 - Data Integrity module won't run in Openmrs 1.9
DINT-28 - Test and fix emailed summaries (if needed)
DINT-27 - Test and fix scheduled checks (if needed)
DINT-9 - Add hyperlinks on List of Failed Records Page
DINT-23 - Convert results storage to explicit JSON
DINT-17 - Downloadable Summary Sheet for Requesting Paper Patient Medical Records/Charts
DINT-38 - Improve management page UI
DINT-41 - Loading message when testing code does not look right
DINT-6 - Need to add information on creator, date_created, changed_by, and last_changed
DINT-3 - Option of marking that patient record not to show up on next data integrity run
DINT-25 - Remove Transfer Check functionality
DINT-24 - Validate integrity check form before submit
DINT-29 - Add metadata information to check edit and view pages
DINT-26 - Allow for duplicating an integrity check
Version 1.1.2
DINT-5 - Have a separate query +/- template for returning results for a data integrity check
DINT-14 - Add scheduled tasks to run one or more integrity checks
Version 1.1
About / Contributors
Data Integrity Module is selected for Google Summer of Code 2017 and has been developed by @Shivang Nagaria under the mentorship of @Stephen Senkomago Musoke . More details can be found here . This module was initially developed by @Nimantha Baranasuriya for Google Summer of Code 2009 and has continued development by @Jeremy Keiper, @Stephen Senkomago Musoke and AMPATH developers.
Here is the growing list of contributors to Data Integrity Module:
@Nimantha Baranasuriya
@Former user (Deleted)
@Jeremy Keiper
@Jonah S. Mwogi
@Nicholas Ingosi
@Nelson Bore
Antony (AMPATH)
@Stephen Senkomago Musoke
@Daniel Kayiwa