openmrs-esm-patient-chart

esm-patient-immunizations-app

The immunizations widget provides a visual, intuitive system for clinicians to record immunizations, track vaccination schedules, and monitor a patient’s vaccination status.

Usage

This module is a patient chart widget that can be added to any patient chart dashboard. It provides two main views:

  1. Immunization Summary: A detailed, collapsible table that groups immunizations by vaccine type. It provides an overview of the patient’s vaccination history with expandable rows for more detail. From this view, users can add new immunizations or edit/delete existing doses, which launches the immunization workspace form.

  2. Immunization History: A separate card that provides a simple, chronological list of all immunizations the patient has received. This card, in conjunction with the summary view, helps clinicians track whether a patient’s next scheduled dose is upcoming or overdue.

Key Features

Enhanced Immunization Form

Detailed Summary & History

Next Dose Tracking

Full Record Management

Configuration

Available Widgets

This module registers several extensions that create the complete immunization feature. Here is a breakdown of the key widgets and how they are used:

  1. Immunizations Dashboard Link (immunization-summary-dashboard): Adds the “Immunizations” link to the patient chart’s side navigation menu and automatically creates a dedicated dashboard page for immunization widgets.

  2. Immunization Summary Table (immunization-details-widget): The main collapsible table that groups immunizations by vaccine type. Automatically placed on the Immunizations Dashboard.

  3. Immunization History Card (immunization-detailed-history-card): A chronological list of all immunizations. Automatically placed on the Immunizations Dashboard.

  4. Immunization Overview Widget (immunization-overview-widget): This is a small, summary card intended for placement on other dashboards, like the main patient summary. It is not assigned to a dashboard slot by default.

To add the overview widget to the patient summary dashboard, add the following to your extensions.json configuration:

{
  "name": "immunization-overview-widget",
  "slot": "patient-chart-summary-dashboard-slot",
  "order": 8
}

Frontend Configuration

Configure the widget by setting values in your implementation’s configuration file (typically config.json or via the System Administration module). The following parameters are available:


Configurable Parameters Summary

Parameter Type Description Default
immunizationConceptSet string A UUID or concept mapping (e.g., "CIEL:984") that resolves to a concept set containing all available vaccine concepts. "CIEL:984"
sequenceDefinitions array Defines the dose and booster schedules for each vaccine. Each entry represents one vaccine and its sequence definitions. See example below

Example Configuration

{
  "immunizationConceptSet": "CIEL:984",
  "sequenceDefinitions": [
    {
      "vaccineConceptUuid": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
      "sequences": [
        { "sequenceLabel": "Dose-1", "sequenceNumber": 1 },
        { "sequenceLabel": "Dose-2", "sequenceNumber": 2 },
        { "sequenceLabel": "Dose-3", "sequenceNumber": 3 },
        { "sequenceLabel": "Dose-4", "sequenceNumber": 4 },
        { "sequenceLabel": "Booster-1", "sequenceNumber": 11 },
        { "sequenceLabel": "Booster-2", "sequenceNumber": 12 }
      ]
    }
  ]
}

Note: Replace vaccineConceptUuid with your actual vaccine concept UUIDs.


Configuration Notes

Backend Setup Requirements

The immunizations feature requires backend configuration in the OpenMRS FHIR2 module.

Required Global Properties

Required Concept Mappings

The following CIEL concepts must be mapped:

CIEL Code Concept Name Required
CIEL:1421 Immunization grouping concept ✅ Required
CIEL:984 Vaccine ✅ Required
CIEL:1410 Vaccination date ✅ Required
CIEL:1418 Dose number ✅ Required
CIEL:1419 Manufacturer ✅ Required
CIEL:1420 Lot number ✅ Required
CIEL:165907 Expiration date ✅ Required
CIEL:161011 Free text comment ⚠️ Optional
CIEL:170000 Date next dose ⚠️ Optional

Implementation Checklist

Backend Setup (Required)

Frontend Setup (Required)

Optional Customizations

Key Files for Customization