Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are multiple technologies in use to make synchronization possible. The Android App to OpenSRP server connection uses a CouchDB sync and a mobile technology called CloudantREST Application Programming Interface (API) to exchange information with the OpenSRP Server's CouchDB. These technologies provide an automatic synchronization system that provides two-way data synchronization between the Android app and the OpenSRP server. 

The OpenMRS to OpenSRP connection uses two technologies, atom-feed and REST API. OpenMRS has a robust REST Application Programming Interface ( API ) that allows developers to interact with the information in OpenMRS in a structured way. The REST API allows other computers to GET data from OpenMRS and POST data to OpenMRS using well documented commands. The OpenSRP server does just this. Every time there is a change in the OpenSRP server, it POSTs data to the OpenMRS server. If it needs to get a single piece of information it can also GET data from OpenMRS.

...

When a document is stored on the mobile device and there's a sync, CouchDB sync and Cloudant take overthe Android App pushes the change to the OpenSRP server and queries for updates, making sure the device is 100% synchronized with the data it should have access to that's stored in the OpenSRP server. The diagram below shows how data moves from the Android App to OpenMRS:

...

The core system architecture (Android App, OpenSRP Server and OpenMRS) can be extended to include a number of other systems that allow for new workflows and cross-system reporting. This section includes information on known workflows and connections and can be extended in the future. Currently, we are able to connect OpenMRS to DHIS2, Tableau to both the OpenSRP server and OpenMRS as well as RapidPro to the OpenSRP serverElectronic Data Warehouses (EDWs) and RapidPro. Each of these connections adds value to an implementation.

...

Info
titleETL

It's appropriate to note some challenges faced by reporting on the OpenMRS transactional data model. The OpenMRS data model was built to allow for quick retrieval of data in the patient-provider interaction. It stores all patient information in a fixed set of tables that are excellent for extracting one record at a time, but not optimized for reporting at national scale. Due to this, a number of OpenMRS implementations have created reporting solutions that extract, transform and load (ETL) the data into a different database structure or a third-party reporting tool. A number of OpenSRP implementations are working on ETL-based solutions at this time and we expect to have a set of standard solutions for OpenSRP implementers in the future.

OpenSRP Server and DHIS2

A new connection is under development that directly connects the OpenSRP server to DHIS2 to be is able to push aggregate information data sets in to DHIS2 . Additionally, individual patient information is able to be pushed to DHIS2's Tracker application.

...

that were directly created from the user's Android App. This reporting feature allows frontine users to submit monthly reports that were previously only able to be submitted on paper.

Electronic Data Warehouse, OpenSRP Server and OpenMRS

Tableau is Electronic Data Warehouse (EDW) technology is able to connect to the OpenSRP Server and OpenMRS databases. It uses an ETL process to extract individual patient data from these systems into their server for processing and analysis. Tableau EDW provides a graphical interface for understanding all data that's in both systems, allowing for cross-platform reporting. When connected, Tableau EDW can provide dashboards on the implementation, based on information from the OpenSRP server, track individual patient records over time based on OpenMRS and create ad-hoc reports through a user interface. We should note that Tableau EDW isn't the only reporting system that's able to do this task. Other systems like Jasper Reports and Pentaho are also able to function in this way.

RapidPro

...

with OpenSRP Server

RapidPro is able to connect directly with the OpenSRP server through form submissions. RapidPro is able to query the OpenSRP server for new information, collect information from the end user and push the data to the OpenSRP's form submission endpoint. This allows frontline health workers to interact with the data through SMS, Facebook Messenger, and the Telegram app. This integration also opens up a number of new direct-to-patient workflows that could allow patients to have access to their child's record and be reminded of their appointments. This integration focuses on sharing individual patient records that are in the OpenSRP Server and does not interact with OpenMRS.

...