OpenMRS Support for the OHDSI Project

Project ChampionPaul Biondich
ODHSI ContactsJon Duke, Patrick Ryan

Suranga Kasthurirathne

Sri Maurya Kummamuru

Source code

Module Design

Our initial proof of concept involved exporting the OpenMRS database into an plsql database, and then performing OHDSI compliant changes to this database. As of 10th July 2015, we have decided that the best approach to support integration with OHDSI would be via an OpenMRS module that can provide data that could be directly consumed by an ODSHI CDM5 compliant database.

We made this decision in order to limit the number of steps that were required from users who wanted to use our work - the proof of concept was complicated and involved multiple steps, and required that we perform mysql to plsql using other third party steps. The new process irradiates the need for any additional steps. Instead, the OpenMRS OHDSI module assumes that the consumer of OHDSI data has already setup a CDM compliant database. The module makes JDBC connections to extract OpenMRS data from the mysql database, converts them into OHDSI compliant format, and exports a set of insert into statements that can be fed directly into a OHDSI CDM5 database.

Development work

 OHDSI uses different tables in its schema to populate diferent aggregate applications. Therefore, we do not need to populate the entire OHDSI database in order to leverage certain OHDSI applications. A flowchart depicting what tables must be populated in order to use which OHDSI application is as follows,


Based on the above, development work will be completed in the following stages:

Step 1: Complete data export to the OHDSI Person and Observation tables. This will allow users to implement the OHDSI Achilles application

Step 2: 

Mapping between the OpenMRS database and the OHDSI CDM schema were completed by experts during a face to face meeting. The agreed to mappings can be seen in OpenMRS ETL.docx.

OpenMRS OHDSI module interface design

At this point, we plan to support two workflows for exporting data to OHDSI CDM schema. 

Scenario 1: Create backup script that is executed offline

In this approach, the user asks the module to create a file of plsql insert statements that are stored in the local system as a flat file. This file can be moved to the OHDSI system, and executed manually

Scenario 2: Move data to OHDSI system in real time

In this approach, we assume that the user has access to the OHDSI database. The user is asked to enter access details for the OpenMRS OHDSI module to connect to the OHDSI database. Once a connection is established, data will be posted directly to the ODHSI database in real time.