One of the key strengths of the OpenMRS platform is the concept dictionary, which allows for the mapping of real world health care data needs into concepts that provide the questions and answers.
The concept dictionary provides ability to map real life concepts to specializations across health care domains such as: SNOMED CT (clinical healthcare terminology), LOINC (laboratory observations), ICD-10/11 (disease classifications), RxNORM (normalized names for clinical drugs), CVX (vaccination codes) in addition to leaders in certain medical fields such as Partners In Health and AMPATH (HIV Care and treatment).
However with great power comes great responsibility, the concept dictionary coding can easily get out of hand, with duplicate concepts leading to inability to extract data for reporting and improving the efficiency clinical care that are key goals of health informatics activities.
This guide is based on my personal experience from working across multiple diverse implementations and the fact that Open Concept Lab (OCL) is not yet in widespread production usage which would alleviate most of the pains, which includes:
The key principles to this approach are as follows:
The setup involves using the following OpenMRS instances:
There are multiple options for moving concepts from the CIEL to the Custom Concepts Server and finally to the implementation servers
Approach | Description | Notes |
---|---|---|
Use of Metadata sharing and metadata deploy modules to build of metadata packages (zip files) | - Manually downloaded from the servers and uploaded where needed - faces the challenges of manual processes - Provide a dedicated url from source servers that clients can subscribe to get updates as the deploy packages are updated following the pub-sub model | - The creation of the metadata packages is manual - The metadata packages are zip files which are difficult to debug |
Download the concept data into CSV or DB Unit compliant XML | The concept files are then loaded into the implementation using either Initializer or Data Exchange modules | - This requires developers to extract the concept data from the different tables, without making mistakes. - This is still a manual and error prone process |
Open Concept Lab (OCL) | Allows creation of custom dictionaries and extraction of data through an online web interface | This tool is not yet production ready but would provide the automation that solves all issues |
The following additional tools can be leveraged for this purpose