Skip to main content

Immunization Status Reason

Last updated: 08-21-2025

Data Dictionary​

ColumnData TypeDescription
Download CSV

What is Immunization Status Reason?​

Immunization Status Reason defines coded reasons why an immunization was given or not given.

  • Maintained by: HL7 International (FHIR Infrastructure Work Group)
  • Purpose: Standardizes reasons related to immunization events (e.g., contraindications, immunity, vaccine unavailability).
  • Usage: Used in FHIR Immunization resources to explain immunization status.

📎 HL7 FHIR ValueSet: Immunization Status Reason (R4)

Who Maintains Immunization Status Reason?​

  • Maintained by the HL7 FHIR Infrastructure Work Group.
  • Published as part of HL7 FHIR R4.

Code Structure​

Each Immunization Status Reason includes:

  • A code representing the reason.
  • A display string.
  • A definition explaining the context.

Example codes:

CodeDisplayDefinition
IMMUNEImmunityPatient already has immunity
MEDPRECMedical PrecautionAdministration not done for safety
OSTOCKOut of StockVaccine unavailable at time of visit
PATOBJPatient ObjectionPatient or guardian refused vaccine

Key Use Cases​

  • Clinical Context: Explains why immunization was skipped or not needed.
  • Public Health: Helps track vaccine shortages or refusal reasons.
  • Analytics: Identifies immunization gaps and barriers.

Notes for Data Analysts​

  • Always consider these codes in conjunction with immunization status codes.
  • Some codes represent "not given" scenarios, while others describe positive immunity status.

Tuva Seed File Update Process​

This is the process for updating the terminology in Tuva’s package:

  1. Navigate to the Immunization Status Reason ValueSet.
  2. Navigate to Expansion
  3. Download or extract the data.
  4. Save the file locally and extract the coding system elements.
  5. Ensure the following fields are retained and mapped as:
    • code → ROUTE_CODE
    • display → DESCRIPTION
    • Extract the code type from the system URI and assign it to CODE_TYPE.
      • Examples:
      • If system = "http://terminology.hl7.org/CodeSystem/v3-ActReason"
        → CODE_TYPE = "ActReason"
      • If system = "http://snomed.info/sct"
        → CODE_TYPE = "SNOMED-CT"
      • This ensures that CODE_TYPE reflects the semantic category of the code, not the full URI.
  6. Convert to a UTF-8 encoded CSV file.
  7. Import the CSV file into any data warehouse and upload the CSV file from the data warehouse to S3 (credentials with write permissions to the S3 bucket are required)
-- example for Snowflake
copy into s3://tuva-public-resources/terminology/immunization_status_reason.csv
from [your_table]
file_format = (type = csv field_optionally_enclosed_by = '"')
storage_integration = [your_s3_integration]
OVERWRITE = TRUE;
  1. Create a branch in docs. Update the last_updated column in the table above with the current date
  2. Submit a pull request

The below steps are only required if the headers of the file need to be changed. The Tuva Project does not store the contents of the immunization_status_reason file in GitHub.

  1. Create a branch in The Tuva Project
  2. Alter the headers as needed in Immunization Status Reason
  3. Submit a pull request