OpenMRS Content Packages & Templates

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 🤝

Key Links

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

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.0.0-SNAPSHOT

When you rebuild your distribution in the normal way, the content will now be available.

Backend and Frontend Modules

Content packages may depend on the presence of certain frontend apps or OMODs to fully utilize the content in a content package. If your distribution does not include and required dependencies, the SDK will out put an error message telling you which app or OMOD you need to add an which version. These can be added to your distribution either via editing your distro.properties file or by running the SDK’s add command, which will prompt you for the type name and version of the dependency to add.

Frontend Configurations

Content packages may provide frontend configurations in order to setup certain views in the app. These will be added to your distribution’s frontend directory via the SDK. However, in order to enable them, you will need to add them to the distribution’s configuration URLs. To do this, either add or modify the line for the spa.configUrls to include them. For example, to use the clinical-visits settings from the HIV content package, your spa.configUrls line should look like:

spa.configUrls=/openmrs/spa/hiv/clinical-visits.json

You can also add multiple configurations like this:

spa.configUrls=/openmrs/spa/hiv/clinical-visits.json,/openmrs/spa/hiv/general-counselling.json

Current Content Packages

Package Name

Contents Description

Contributing Orgs

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!

 

 

Related pages