2016-02-04 Developers Forum

How to Join

 Click here to expand...

By Browser

By telephone

  • US telephone number: +1 201.479.2627



  • Quickly review previous meeting minutes (5 min)
  • OCL Project Update, KenyaEMR Update 
  • Review next meeting agenda



  • Burke
  • Rafal
  • Jon Payne
  • Jamie Thomas
  • Tim N
  • Daniel Kaywia 
  • Wyclif Luymia
  • Nicholas Ingosi
  • Ulrich Tchuenkam
  • James deGraft-Johnson 
KenyaEMR - Nicholas Ingosi
OCL Update  - Jonathan Payne
KenyaEMR is a distribution of OpenMRS used widely within Kenya (more than 340 facilities).
OCL is the "github of terminologies" that grew out of the popular Maternal Concept Lab, a tool to search various OpenMRS concept dictionaries. While currently focused on CIEL (the primary shared dictionary within the OpenMRS community), OCL's goal is to be the primary service used to find, share, and harmonize concepts within OpenMRS and other health-related systems.
The problem
Updates of CIEL (concept dictionary) and managing local concepts for KenyaEMR was challenging. CIEL is delivered via SQL scripts, making updates a technical task.
The solution
OCL Subscription Module was created to connect to the CIEL dictionary on the OpenMRS Concept Lab servers. This module was designed to allow CIEL updates to be downloaded and updated automatically.
OCL Subscription module is now running on KenyaEMR's central vocabulary server without errors (as of Jan 2016).
How long does it take to run initial synchronization – i.e., get updates – using OCL Subscription module? It takes ~6 hours for a decent sized server. On a VM, it can take longer (e.g., >15 hours).
Subsequent updates are just for changes since the last update (the client sends the timestamp of last update and the server just sends changes since that time), so subsequent updates should be quicker. This is the next step in testing (testing subsequent updates).
Is bandwidth an issue? The first step is a download. After the update download, the rest of the process is performed locally. It's not obvious when the download is complete vs. processing begins.
CIEL is doing regular (e.g., monthly) releases.
OCL Updates:
  • CIEL (to date) has been delivered via SQL updates, which means that API level validation is skipped. Part of the initial effort for OCL has been ensuring that CIEL updates are validated both at the database and API level.
  • A primary goal of OCL is to allow for updates that do not overwrite local changes. Concepts are created & updated based on unique UUIDs.
  • OCL plans to also support partial downloads (e.g., subscribing to a subset of the CIEL dictionary)
  • Initial work has been focused on "clinical" concepts. OCL also considering expanding to other domains (drugs, indicators...)
  • Working with volunteer efforts for now
  • Still have some performance bottlenecks
  • Is OCL now the "official" source for CIEL? If not, is that the plan?
  • Not yet. We hope to get there.
  • Are there plans to get the OCL Subscription module working for a second organization?
  • Have been talking with PIH
  • Figure out features Andy needs to manage the concept dictionary in OCL
  • Consider a SQL export from OCL so Andy can move over before all sites are ready (or OCL subscription module is ready)
  • Consider OCL-relevant GSoC project(s)



  • Audio recording of the call: Listen online or download (available after the meeting)