Data Integrity Workflow Module
Primary mentor | @Jeremy Keiper |
Backup mentor | @Ada Yeung |
Assigned to | @Harsha Kumara |
Abstract
The Data Integrity Module allows users to run integrity checks against the database and identify problems for review. Each integrity check has several records with a status of New, Ignored or Voided. Users browse through the records, look up paper forms and verify the data. The only way to remove a record from the listing is to mark it as Ignored or re-run the integrity check after fixing the problem (at which point the record is voided because it is no longer an error). It's very hard to manage and fix large number of integrity checks with having thousands of record for each check.Data Integrity Workflow Module allow users to efficiently and collaboratively manage data integrity checks.This module enable manager to assign records in a particular integrity check to users(can be a analytic people) for analyse the issue with the record and fix it.
Objectives
Allow a manager to assign individual results or entire groups of results to another user for follow-up
One of the major feature of this module is to assign single or group of records of each integrity check to users(can be analytic people) for follow up and fix the errors in the records.Data Integrity Module not having a option to assign records.Because of this only few privilege people can be access and fix the errors in each a integrity check by going through all the records.This is not feasible approach for OpenMRS instances which having large data capacities.There may be thousands of records results in a integrity check which having numerous errors.One of main objective of this module is to collaboratively solve the errors in a database by dividing task to responsible people.Allow a user to log in and see just his or her assigned results
After manager assign records to a users,it's required users to view their assigned checks for further investigation for fix errors.User will receive a table of assigned records.Through this web interface user will select preferred reports to work on.Allow a record to move through workflow stages, such as In Progress, Waiting on Information, Verified, etc. (this workflow can be provided by implementer community members)
Managers need to keep track of the stages of the records which are assigned to follow up users. User can be change the status of a record to a another stage to indicate the he/she progressing on that record.Allow managers and follow up users to comment on records
Sometimes managers or the follow up users required to comment the details about a particular record. Follow up users will have lot's of issues in the process of solving integrity problems in a database which are can be express through the comments.May be managers also want to highlight some description about a record through a comment.Provide summaries for seeing workflow stages and progress over time.
It's very useful to have summaries and reports about a record. These summaries and reports will include assigner changes,stage changes and other required details.
Module functionality
Data integrity workflow module enable very flexible environment for manage the integrity records within openmrs databases. When someone use data integrity module which is the parent module of this project, he may experience with large number of integrity checks followed by number of integrity check records per each check. Within very few administrative people, it's very hard to manage all the integrity workflow records spread within all the integrity records of the system. So this module enable managers or administrative people to assign people for each records to follow on and fix particular records. Record assign capability and privilege will only be granted for managerial persons in the system. Followers can change the working status and comment on particular records for get further clarifications on the process of fixing the particular integrity record.
System Privileges
Manage Record Assignees //for managers privilege
View Record Assignments //for followers privilegSystem functions
System Functions
Managerial level user can view integrity records and assign results of records to low level users to follow up and fix integrity violations associated with each records.
Managerial level user can remove assginees from assigned records
Managerial level user can comment on particular record and can change the current working stage of a particular record
Managerial level user can view record wise summary and also whole check wise summary
Managerial level user can add and edit workflow stages and keys associated with integrity checks
Follow up user can view set of assigned records to him
Follow up user can comment on a particular record and change the current workflow stage of a record
System Views
Module is consist of several views to achieve the required functions mention in above, In following sections will contains the set of functions associate with each view and how it can be use for achieve the required functionalists.
Administrative links for manager
In this view managerial level person views set of links to goto different views.In Manage Records link, it allow managerial users to see the available integrity checks in the system
Change Check Key link will direct to page which shows the available checks with keys to change keys of selected checks.
View records link allows to view the assigned checks for logged user
Add Workflow Stage link allows to users to add new workflow stages
Low level user links
Low level user will only see the View Records view which allow them to see the assigned records for them
Integrity Check View
Managerial person only can view this page by clicking Manage Record link
This window shows available integrity checks in the system with associate key for each key which will be default key at initially
By clicking one of check,user can view the associate checks for a particular check
View records for a check
In this view managerial user can view the available records for a selected check
This view allows managerial user to assign set of records for a user by simply tick the check boxes and then clicking assign button in the page.It will popup a dialog which users can enter the name assignee to assign the selected or all the records within a check
As same way managerial person can remove users from record by tick the check boxes and hit unassigned button in the page
By clicking a the username link,managerial person can view the set of records assign for user for a currently viewed check
history link allows users to see the set of actions perform within a record from the beginning
Assign User View
After managerial level person hit the assign button, pop up dialog will appear to enter the username of a user need to associted with selected records
Another option is in the popup dialog which allows to managerail person to choose assign selected or all records for user
Check Summary View
This is the second tab in the integrity check records view which enables several functions for managerial level person
In this view managerial level person can view summaries of a check by assignee, stage or record status.
Managerial level person can identify which records assign to users,how many records in each workflow stage and status of the records.
Managerial level person can simply click links and navigate to pages which shows the records associated with each category in summary view
In later custom query view enable managerial level person to filter out set of a records within user specified constraints.For eg: if managerial level person want to list the set of fixed records within specific time duration by a particular user, it can be done through this query view.
Record History View
This window is the page which user navigate after clicking a particular record's history link
Managerial level person can view set of operations perform upon a integrity record from the beginning
Integrity Record View
Simply clicking the record id of integrity record will be naviagated to this view
This view is enable managerial user to normal low level user to discuss and change the status and stages of records
For managerial level person, module will be given privileges to reassign user to particular check.This function is can be achieved by change button next to the username in the view.But low level user will NOT have this button enabled for change the assignee of a record.
Low level user can comment and change the status and working stage of the record
Managerial level person also can be done above mentioned operations and addition operation which allows to change the user.
Change Check Key View
Managerial level person can simply click upon the key particular record and change the check key in the navigated page.
Add Workflow Stage
This view allows managerial level person to add a custom workflow stage to the system
Low Level User View
For normal integrity record follow up user will be see this view, after follow up user click the View Records link,user will be directed to this view which shows the all assigned records for the user
Follow up user can click the record id to enter into full integrity record view
These are the set of views in the module which provide the required functionality specified in the module.
Final evaluation demonstration
Requirements
Initial version of the module will be compatible with OpenMRS 1.8.x
Use Cases
UI Mockups
Manager Views
Analytic user's view
E-R Diagram
Storyboard
Project Plan
Project Timeline
May 27-Jun17
Discuss about the final project deliverables with the mentors and update the project requirements documents according to it.
Improve the user interfaces for manager and user while researching about possible approaches.
Getting more familiar with hibernate and Spring framework.
Jun 17-Jun 25
Finalize the user interfaces in the project
Designing and creating necessary table schemas
Explore more about writing module in openMRS
Jun 25-Jul 29
Implement the first phase of the project
Goal-Finishing manager view implementations
Creating the table structures through liquibase
Creating backend services with use of the dependent data integrity module
Implement the manager view
Creating pages for view report summaries
Finalise the manager view implementations
Get a initial start of implementing user view
Partially implementing the user views
Jul 29 -Aug 2
Mid evaluations
Aug 2- Sep 9
Implement the second phase of the project
Goal-Finishing user view implementations and finalise the project
Polishing first phase implementations according to feedbacks
Implement the user view front end pages
Perform necessary changes at the backend
Finishing user view implementations
Writing test cases and test the project for verify its’ functionality
Creating wiki pages for the module
Sep9-Sep16
Extra week for finishing and wrap up project work
Sep16-Sep23
Final evaluation
Extra Credit
Resources
https://github.com/openmrs/openmrs-module-dataintegrity
https://modules.openmrs.org/modules/view.jsp?module=dataintegrity