Data Comparison Module
Primary mentor | @Daniel Kayiwa |
Backup mentor | @Suranga Kasthurirathne |
Assigned to | @Bhashitha Wijewardhane |
Abstract
There is a need for a new module, which will allow the user to compare for example an old and a modified concept. The module should accept two objects and display views of them next to each other highlighting differences in fields. It will be used by the Metadata Sharing Module to compare existing with incoming metadata and produce nice import reports (what actually changed). It could be also used to compare patients when resolving duplicate entries.
Project Champions
Objectives
Create a new module following Creating Modules (improve the documentation if needed)
Apply for a repository at https://github.com/openmrs and a JIRA project
Create tickets in JIRA for tasks to be completed during GSoC
Create UI mockups of the comparison view
Prepare a simple comparison view of basic fields like String, Data, Boolean, etc.
Expand the view to include related objects e.g. comparing Concepts we need to be able to compare related ConceptClass or ConceptDatatype (it can be a tree like view developed with the use of javascript)
Expand the view to inlclude collections of related objects e.g. comparing Concepts we need to be able to compare related ConceptNames (same names will need to be displayed next to each other)
Embed the comparison view in the Metadata Sharing Module assessment page
Create a wiki page for the module
Extra Credit
Load related objects only when requested with AJAX
Create an import report page for the Metadata Sharing Module, which uses the comparison view
Resources
UI Mockups
Following mockups shows the suggested UI for the metadata object comparison view. The objects used for the mockups are only for the demonstration purpose and may not the real metadata objects.
1. Simple object comparison view for similar objects.
2. Comparison view of different objects which have object as propertises, collections, and null properties
3. Comparison view of different objects which have collection of objects