Content Packages are for you if:
You’re looking for ready-made content, like templates & forms for a specific specialty 🔎
You don’t want to start from scratch 😅
You want to share your clinical content work 🤝
Table of Contents
Key Links
Content Package template repo: openmrs-content-template
What is a Content Package?
An OpenMRS distribution consists of both code, i.e., the OpenMRS platform and modules, all of this code uses various metadata to help it. Metadata in OpenMRS covers a range of things, from the concept dictionary to form schemas to encounter types, visit types, reports, programs, etc. This metadata is important to how the code actually works.
The idea of content packages is to provide a mechanism for sharing metadata between different instances of OpenMRS, whether this be as a way of packaging up the shared configurations for a distribution or to share content between different distributions. For example, a content package might define a set of forms that helps capture disease-specific data, such as for HIV or COVID-19. In addition to containing these forms, the content package might also include the necessary concepts to use the forms and configurations to help display these forms in relevant places in the EMR.
Key Components of a Content Package:
Concepts: These are standardized clinical terms and definitions sourced from resources like the Columbia International eHealth Laboratory (CIEL) Dictionary. Concepts ensure consistency in how clinical information is captured and interpreted across the system, forming the foundational building blocks for patient care, decision support and reporting.
Forms: Content package forms are designed to collect essential patient information during clinical visits, supporting accurate data entry for patient management and clinical care. These forms are customized to capture data relevant to the specific health program.
Reports: Reports are designed to provide insights into program performance, patient outcomes, and data trends. They help healthcare providers and administrators make informed decisions by offering a comprehensive view of the program's effectiveness.
Configuration: Configuration settings define how the content package integrates with the healthcare system, including how data is stored, processed, and displayed. These settings ensure that the content package is customized to meet the specific needs of the healthcare program.
Additional Metadata: In addition to the key components outlined here, content packages may contain other metadata necessary to utilize the content. Generally, these metadata will be provided in a format that is consumable by the Initializer module, which covers a wide array of OpenMRS metadata.
Current Content Packages
Package Name | Contents Description | Contributing Orgs |
---|---|---|
HIV Care & Treatment Package | The HIV Content Package is designed to streamline and support the management of HIV care. It achieves this by providing a comprehensive set of clinical forms, encounter types, workflows, and metadata that support the structured capture, tracking, and analysis of patient information. | UCSF USA CDC |
PMTCT Package | Underway by UCSF | UCSF USA CDC |
COVID Package | Underway by UCSF | UCSF USA CDC |
Cervical Cancer Screening Package | Underway by UCSF | UCSF USA CDC |
More coming soon! |
How to use a Content Package
Content packages can be added to new OpenMRS distributions or to existing OpenMRS distributions. The process to do so varies depending on how your distribution is constructed, but below we show how to use the community-supported tooling to add content packages.
Content packages are distributed as zip files stored in Maven repositories. This means that content packages can be easily added to distributions built or managed by the OpenMRS SDK simply by modifying the distribution definition, just like adding a new module to a distribution. Simply modify the distribution’s distro.properties
file to include any content packages. Content packages are identified by having the prefix content.
For example, you might use an HIV package by adding this line to your distro.properties
file:
content.hiv=1.1.0-SNAPSHOT
If you rebuild your distribution in the normal way, it should now have the content available.
How to publish a Content Package
OpenMRS modules are typically published by a continuous integration plan configured in the OpenMRS Bamboo continuous integration server.
At present, there is a project that has been configured as a parent for all content package plans. We envision having multiple content package plans for various content packages (HIV, MH, MCH, NCD etc.)
To configure, create a plan under the project - Content:
Fill in the details of the plan:
Configure repositories:
Add a maven 3.x build configuration task: - This task runs maven (configured in Executable
) commands (configured in Goal
) that cleans
the project, builds
it, validates
the configuration, creates the archive and deploys
it to OpenMRS maven repository, or otherwise, as configured in the distributionManagement
element in the project's base pom.xml file.
The configuration for publishing a content package project is complete and any commit to the branch configured in the Configure repositories
section will trigger this action which will run the task configured above.