Detailed Technical Implementation of the HIV CT Package within the O3 Reference Application

Detailed Technical Implementation of the HIV CT Package within the O3 Reference Application

Forking the reference application

The Reference Application can be easily set up on an instance using Docker by cloning the repository - https://github.com/openmrs/openmrs-distro-referenceapplication. However, since the PATH DRC project had custom requirements and customizations to metadata, we opted to fork the Reference Application repository - https://github.com/openmrs/path-drc-emr and use the docker approach instead of using the SDK. This approach allowed us to make the customizations iteratively, test our changes locally and deploy them to the instance.

To set up the instance with Docker, the detailed instructions are provided in the Development Guide.- https://openmrs.atlassian.net/wiki/spaces/docs/pages/150930190/Set+Up+an+Instance+of+O3#Using-Docker

Configuring branding

The navbar logo, login page logo, and favicon were configured to feature the logo of the DRC’s Ministry of Health.

  1. How to change the navbar logo - https://openmrs.atlassian.net/wiki/spaces/docs/pages/151060758/Configure+Branding#Changing-the-logo-used-on-the-navbar

  2. How to change the login page logo - https://openmrs.atlassian.net/wiki/spaces/docs/pages/151060758/Configure+Branding#Changing-the-logo-used-on-the-login-page

  3. How to change the favicon - https://openmrs.atlassian.net/wiki/spaces/docs/pages/151060758/Configure+Branding#Changing-the-favicon

Configuring Metadata

The instance's metadata was configured and customized to meet PATH DRC-specific requirements and to support the HIV CT package developed by OHRI.

Configuring DRC specific metadata

  1. Address template

    • The address template displayed in the patient registration form needed to be customized.

    • How to customize the address template - https://openmrs.atlassian.net/wiki/spaces/docs/pages/185565250/Configuring+Metadata#Updating-the-address-template

      PATH DRC address template
      Default address template
  2. Default locale

  3. Visit types

  4. Relationship types

  5. Locations

  6. Forms

  7. Concepts

For adding localized strings for metadata such as visit types and relationship types, check - https://github.com/mekomsolutions/openmrs-module-initializer/blob/main/readme/csv_conventions.md#localized-header-display

Configuring HIV CT package specific metadata

The content packages were still in development at the time so all the guidelines here on custom setting up the HIV CT package could be obsolete once it is released - https://github.com/openmrs/openmrs-content-hiv

Backend Config

All the content found in https://github.com/openmrs/openmrs-content-hiv/tree/main/configs/backend_config were added to the respective folders within distro/configuration. These are the configurations that would get picked up the initializer module.

  1. Forms

  2. Encounter types

  3. Concepts

  4. Concept sources

  5. Patient Identifier types

Frontend Config

  1. Frontend modules

"@ohri/openmrs-esm-ohri-hiv-care-treatment-app": "latest", "@ohri/openmrs-esm-ohri-core-app": "latest"
  1. Overriding forms

  2. Translation overrides