Data Synchronization Admin UI Project

Data Synchronization Admin UI Project

See the main Data Synchronization Project for more information about the background and breakdown of the OpenMRS Synchronization Project

GSoC 2008 Intern: Nzeyimana Antoine
Mentor(s): Maros Cunderlik and Christian Allen
Other Developers(s): Darius Djazayeri,Chase Yarbrough

General Ideas and Description

Data synchronization is a new OpenMRS feature allowing synchronization of data amongst a set of loosely networked servers. Such ability to exchange data is essential for operation of EMR system in rural areas where connectivity amongst sites maybe unreliable yet the need for timely centralized collection and analysis of data from remote sites exists.
Because of the distributed and disconnected nature of the sites where servers may be deployed, having a set of administration views that provide key statistics about the status of the synchronization process is critical to the local administrators.
We need a comprehensive Sync Status Page; that page should help local administrators to:
1) Visualize every synced record/item real-time sync status; the tracked-out change set record may be:

  • Waiting for Synchronization

  • Pending for send . . .

  • Being transmitted . . .

  • Committed

  • Failed and waiting for Retry . . .

  • Retried . . .

  • Failed and Stopped

TO DISCUSS
-Having an individual Sync Log page where we can monitor all sync related events that
occurred on the server side.
-If possible have progress indicator bar/icons and associated percentage of
transmission

2) View statistical sync reports between two selected date/times:

  • How many records/items were tracked-out for synchronization

  • How many of them have been uploaded successfully to the server (+percentage)

  • How many failed (+percentage)

  • How many of them (percentage) have been sent after retry( # of retry)

  • Which sync method was used for both above cases:-manually synced via web, -manually synced via file, -automatic synced via web(scheduled sync)

TO DISCUSS
-Connectivity history graph: it seems preferable/recommendable to synchronize
automatically via web if there is reliable internet connection in the area where
OpenMRS is installed. The connectivity graph should give a point of view of which
sync method is convenient in that given area.

-Do we have to print out how many KB/MB have been synchronized i.e. monthly report ?
3) Be able to:

  • View and Edit details of record items being synchronized

  • Search Logs

  • . . .
    4) Perform maintenance tasks such as:

  • Archive sync journal

  • Change various timeouts

  • . . .

Project Complete Goals

1.User login to the Admin screen and find Synchronization section links
2.Click on one of the following links to enter related Sync Pages:

  • Sync Settings

  • Manage Synchronization

  • Sync Statistics

  • View Sync Changes

3.The SETTINGS screen is divided in three main parts:



a)_General Settings_ where you can:

-Enable or Disable Synchronization process by check/uncheck a check box

-Set up automated (scheduled) synchronization (check box and input field)

-Input or Edit local server name and administrator Email

-View local server ID

-Save your settings by clicking a save button(settings change or take effect after this
button is pressed)

b)_Servers Settings_ :

-Here you can Add,View Details,Edit or Remove currentls configured synchronization servers

-Click on Add a Child Server link to configure a new Child server that will synchronize
data with this local server

-On the "Child Server Configuration Page" you input the Child Server Nickname,username and
password and optionally its admin email then save

-Click on Set Up a Parent Server link to go to the Parent Server Configuration Page