Versions Compared

Key

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

What this module does

The module OXDImporter is designed and built for use by Partners In Health (PIH), Peru. It facilitates the study in Lima by importing cell-phone collected in OpenXData from the OpenMRS system. OpenMRS is the primary data source of the study and contains all the CRFs

Documentation / How-To

Environment

The module runs on Windows environment and has been tested with extensively with Windows XP and Ubuntu Linux. The module requires OpenMRS 1.6 and is not backward compatible with older versions due to irreversible changes in the OpenMRS API post 1.5 version of OpenMRS. The environment can be summarized as follows:

...

Java Version: 1.6

Database: MySQL 5.1

How it works?

The module runs as a task that runs repeatedly and checks for any new data submitted in by cell phones to OpenXData. The module does not have a user interface as such but uses the Global Properties page in OpenMRS for setting required parameters for its functionality.

...

  1. Dependent OpenMRS modules
  2. Required OpenMRS tasks
  3. OpenXData database with study and forms under the study
  4. Corresponding OpenMRS Forms (CRFs) for the Study forms in OpenXData
  5. Mapping spreadsheets

Dependent OpenMRS modules

  • FormEntry module version 4.5.4
  • Peru fitness study 1.4

Required OpenMRS tasks

Following tasks need to be running. These can be checked by going to Manage Scheduler in Admin section.

  • ‘Process Form Entry Queue’ with 30 seconds interval and the class should be set to ‘org.openmrs.module.formentry.ProcessFormEntryQueueTask’
  • ‘Process HL7 Task’ with 30 seconds interval the class should be set to ‘org.openmrs.scheduler.tasks.ProcessHL7InQueueTask’

OpenXData database with study and forms under the study

The study database should have been created in OpenXData with the all the required study forms under it. It should be insured that the cell phones can connect to OpenXData server and download studies and submit filled forms.

Corresponding OpenMRS Forms (CRFs) for the Study forms in OpenXData

For each OpenXData form (except FILI) a corresponding CRF must be in place in OpenMRS which contain the questions present in the cell-phone forms. Eg. A PPDA form in OXD must have its counterpart PPDA CRF in OpenMRS.

Administering OXDImporter

Settings (formerly Global Properties from 1.8 downwards)

Settings (formerly Global Properties are from 1.8 downwards) are used to store data that is used by the module to carry out its functionality. These can be accessed on the following page

...

Any new form would need a same single letter form name in both systems ie OXD and OpenMRS and would need to be added to the list above after a ‘|’ sign.

Scheduler Task

  1. Go to Manage Scheduler in Administration
  2. Make sure that the pre-requisite processes are running.
  3. Click on Add Task
  4. Now add the following for Task Configuration:
    1. Name: Process OXD Importer
    2. Schedulable Class: org.openmrs.module.oxdimporter.scheduler.ProcessOXDImporterTask
    3. Description: task for importing data from a given OpenXData instance repeatedly.
    4. For Schedule: Repeat Interval : 30 seconds
  5. Click 'Save'

Creating Mappings

Mappings refers to the linking of OpenXData forms with those in OpenMRS. This is done in two stages:

...

The following section deals with the proper way of creating the mappings

OXD-OpenMRS Forms Mapping

This mapping is used for linking names of forms from both systems. This information is stored in

...

Eg. For OXD form ELIN with VersionID 35 a CRF in OpenMRS exists in ‘form’ table. If the form_id is 100, then the row in ‘oxdimporter_oxdomrs_form_mapping’ for ELIN mapping should have value of 100 for the form_id column.

Question Mapping

This requires Excel sheets in the following naming format:

...

Now using, these two columns, the mapping excel sheet can be created for each form using the methods described.

Answer Mapping

Answer mapping is done to insure that the response from cell phones is interpreted the right way in OpenMRS. Following table needs to be populated in OpenMRS: oxdimporter_answer_mapping

...

This table needs to be populated by script by the user.

Downloads

The module is in the process of being open-sourced. We hope to post it to the openMRS repository soon.

About

This module was authored by Omar Ahmed in collaboration with implementation and technical support from: Socios en Salud, InterActive Research & Development, Partners in Health, the research team at Brigham Women's, Sarah Bird, David Thomas, Evan Waters and Brent Atkinson.