I2B2 Export Module


The i2b2export module exports OpenMRS data, including patients, providers, concepts, concept_sources, encounters, observations, and drug orders, into an custom XML schema for import into i2b2. The XSD for resulting XML document is available here: http://o2i2b2.googlecode.com/files/o2i2b2Template.xsd.  The i2b2export module is part a larger framework for loading data into i2b2.  A companion program, i2b2Import, which is run as a standalone application parses the i2b2 XML and loads the data into an i2b2 instance.  See the diagram below to visualize the data migration process.

A sample snippet of the resulting XML is available below:

For a more thorough discussion of all the topics described on this page, please refer to Final--DesigningaPublicHealthSoftwareFrameworkPortingOpenMRSdatatoi2b2o2i2b2.pdf.


i2b2 is a scalable open source data warehousing tool for medical data. i2b2 is primarily used for research and excels at rapidly identifying patient cohorts through the running of ad-hoc queries. i2b2 can be used either as a data mart (project scope), a data warehouse (enterprise scope), or between multiple instances or i2b2 using [SHRINE|https://community.i2b2.org/wiki/display/SHRINE/SHRINE+Home].  i2b2 is particularly useful in hosting data from multiple systems where querying between disparate systems is typically difficult.  i2b2 is also helpful in providing researchers access to clinical data without compromising patient confidentiality.  This can be accomplished by deidentifying patient data before importing into i2b2.

Some common use cases for i2b2 include, identifying a research population and answering the simple question, "How many patients with X exist in my database?" i2b2 can also be used as a patient registry and for quality improvement.  

Documentation / How-To

  1. Download install i2b2export module
  2. From the OpenMRS Administration dashboard, click on the i2b2Export Dashboard link
  3. Choose the parameters for your i2b2 export
  4. Chick on the "Export Data" button
  5. The export will begin behind the scenes.  The export can take a very long time depending on the size of your OpenMRS database and the export parameters you have chosen.  You are free to leave this form and come back later to pickup your export.
  6. Once the export is complete, download the resulting XML file.
  7. Download the i2b2Import application (see the Downloads section below).
  8. Run the executable JAR file i2b2export.jar.
  9. Step through the wizard interface, entering the location of your XML export file and all i2b2 database parameters.  Be sure to use the "Test Connection" button after each step to confirm your database settings are correct.
  10. Click on the "Finish" button to start the i2b2 import.


You can download the i2b2 Export module here: https://addons.openmrs.org/#/show/org.openmrs.module.i2b2export.  The standalone i2b2 Import Application can be downloaded here: http://code.google.com/p/o2i2b2/downloads/list.  The framework XSD is available here: http://o2i2b2.googlecode.com/files/o2i2b2Template.xsd.



This module was started as a class project for an MIT course, Health Information Systems to Improve Quality of Care in Resource-Poor Settings.  The goal of the project was to develop a framework to import data into i2b2 from any source system.  We used OpenMRS as our reference source system and deidentified data from a Partners In Health Malawi dataset.  We had four design objectives in the development of our framework; our framework must be:

  • Four design objectives for framework and tools:
    open source
  • use open-standards, where possible
  • be data source agnostic
  • be simple to implement without compromising core functionalityopen source
    use open-standards, where possible
    be data source agnostic
    be simple to implement without compromising core functionality