Profile: Immunization (Panorama)

This Profile is created and maintained external to the LRA project and is provided here as an aid for implementers of the LRA in finding the base profile definitions. The reader should always verify the profile on the linked source page.

Overview

The scope of this integration is to store all immunizations and related resources retrieved from the Immunization Distribution Service (IDS) into the LRA Platform's Smile CDR. The IDS publishes immunization records from Panorama to a First-In-First-Out (FIFO) queue, which the LRA Platform consumes. Once stored in Smile CDR, it provides technical capabilities to read and query these resources based on various search parameters. Although LRA has the technical capability to retrieve FHIR resources, aligning this with business query requirements and addressing how clients will query immunization-related data will be tackled in the next release.

Important Links

Simplifier Project Page: BCY Immunization Distribution Service

Example Usage Scenarios

Example Bundle: Example Bundle - Immunization

Profiles Content

The Immunization Distribution Service (IDS) sends an immunization bundle whenever a patient's immunization data is updated or changed. This bundle represents the current view of the patient’s immunization status, and while it may include resources that are identical to those in previous bundles, it provides a complete replacement of the prior data for the patient.

The structure of the Immunization bundle includes the following resources:

  • MessageHeader 1..1
  • Patient 1..1
  • Organization 1..*
  • Location 1..*
  • Immunization 1..*
  • AdverseEvent 0..*
  • Consent 0..*
  • ImmunizationRecommendation 0..*
  • RiskAssessment 0..*
  • MedicationRequest 0..*
  • CarePlan 0..*

All resources within the Immunization bundle conform to IDS-defined profiles, which are based on HL7 FHIR R4 (4.0.1). Some resources, such as Consent and CarePlan, may include contained resources. In such cases, the outer resource, along with all contained resources, should be stored as a single resource.

  • MessageHeader

    The MessageHeader resource captures key metadata about the immunization bundle, including details about the source and the destination for the message. This resource helps to understand the context of the immunization data exchange and not stored in the Smile CDR.

    idΣ1..1string
    id0..0string
    extensionI0..*Extension
    versionIdΣ0..1id
    lastUpdatedΣ0..0instant
    sourceΣ0..0uri
    profileΣ1..1canonical(StructureDefinition)Fixed Value
    securityΣ0..0CodingBinding
    tagΣ0..0Coding
    implicitRulesΣ ?!0..0uri
    language0..0codeBinding
    text0..0Narrative
    contained0..0Resource
    extensionI0..*Extension
    modifierExtension?! I0..*Extension
    eventUriuri
    id0..0string
    extensionI0..*Extension
    modifierExtensionΣ ?! I0..*Extension
    nameΣ1..1string
    endpointΣ1..1url
    receiverΣ I0..0Reference(Practitioner | PractitionerRole | Organization)
    senderΣ I0..0Reference(Practitioner | PractitionerRole | Organization)
    entererΣ I0..0Reference(Practitioner | PractitionerRole)
    authorΣ I0..0Reference(Practitioner | PractitionerRole)
    id0..0string
    extensionI0..*Extension
    modifierExtensionΣ ?! I0..*Extension
    nameΣ1..1stringFixed Value
    softwareΣ0..1string
    versionΣ0..0string
    contactΣ I0..0ContactPoint
    endpointΣ1..1url
    id0..0string
    extensionI0..*Extension
    referenceΣ I1..1string
    typeΣ0..0uriBinding
    identifierΣ0..0Identifier
    displayΣ0..0string
    id0..0string
    extensionI0..*Extension
    codingΣ0..0Coding
    textΣ0..1string
    id0..0string
    extensionI0..*Extension
    referenceΣ I1..1string
    typeΣ0..0uriBinding
    identifierΣ0..0Identifier
    displayΣ0..0string
    definitionΣ0..0canonical(MessageDefinition)
  • Patient

    The Patient resource contains demographic information about the individual receiving immunization services. This includes essential details such as name, date of birth, and identifiers. The Patient data is retrieved as part of the immunization bundle and reflects the current status of the patient at the time of immunization.

    idΣ1..1string
    id0..0string
    extensionI0..*Extension
    versionIdΣ0..1id
    lastUpdatedΣ0..0instant
    sourceΣ0..0uri
    profileΣ1..1canonical(StructureDefinition)
    securityΣ0..0CodingBinding
    tagΣ0..0Coding
    implicitRulesΣ ?!0..0uri
    language0..0codeBinding
    text0..0Narrative
    contained0..0Resource
    id0..0string
    extensionI0..*Extension
    url1..1uriFixed Value
    id0..0string
    extensionI0..*Extension
    id0..1string
    extensionI0..*Extension
    systemΣ1..1uri
    versionΣ0..0string
    codeΣ1..1code
    displayΣ0..1string
    userSelectedΣ0..0boolean
    textΣ0..1string
    modifierExtension?! I0..*Extension
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..0codeBinding
    id0..0string
    extensionI0..*Extension
    id0..0string
    extensionI0..*Extension
    systemΣ0..1uriFixed Value
    versionΣ0..0string
    codeΣ0..1code
    displayΣ0..0string
    userSelectedΣ0..0boolean
    textΣ0..1string
    systemΣ1..1uri
    valueΣ1..1string
    assignerΣ I0..0Reference(Organization)
    activeΣ ?!1..1boolean
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..1codeBinding
    textΣ0..0string
    familyΣ1..1string
    givenΣ1..*string
    prefixΣ0..0string
    suffixΣ0..0string
    periodΣ I0..0Period
    id0..0string
    extensionI0..*Extension
    systemΣ I0..1codeBinding
    valueΣ0..1string
    useΣ ?!0..1codeBinding
    rankΣ0..0positiveInt
    id0..0string
    extensionI0..*Extension
    startΣ I0..1dateTime
    endΣ I0..1dateTime
    id0..0string
    extensionI0..*Extension
    value0..1System.String
    birthDateΣ1..1date
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..1codeBinding
    typeΣ0..1codeBinding
    textΣ0..0string
    id0..1string
    _lineI0..1Extension(string)
    value0..1System.String
    cityΣ0..1string
    districtΣ0..0string
    stateΣ0..1string
    postalCodeΣ0..1string
    countryΣ0..1string
    id0..0string
    extensionI0..*Extension
    startΣ I0..1dateTime
    endΣ I0..1dateTime
    maritalStatus0..0CodeableConceptBinding
    photoI0..0Attachment
    generalPractitionerI0..0Reference(Organization | Practitioner | PractitionerRole)
    managingOrganizationΣ I0..0Reference(Organization)
  • Organization

    The Organization resource represents the health facility or institution associated with the immunization data. This resource is crucial for identifying which organization is responsible for providing immunization services and managing the immunization data.

    idΣ1..1string
    id0..0string
    extensionI0..*Extension
    versionIdΣ0..1id
    lastUpdatedΣ0..0instant
    sourceΣ0..0uri
    profileΣ1..1canonical(StructureDefinition)
    securityΣ0..0CodingBinding
    tagΣ0..0Coding
    implicitRulesΣ ?!0..0uri
    language0..0codeBinding
    text0..0Narrative
    contained0..0Resource
    extensionI0..*Extension
    modifierExtension?! I0..*Extension
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..0codeBinding
    typeΣ0..0CodeableConceptBinding
    systemΣ1..1uri
    valueΣ1..1string
    periodΣ I0..0Period
    assignerΣ I0..0Reference(Organization)
    activeΣ ?!0..0boolean
    typeΣ0..0CodeableConcept
    nameΣ I1..1string
    alias0..0string
    telecomI0..0ContactPoint
    addressI0..0Address
    partOfΣ I0..0Reference(Organization)
    endpointI0..0Reference(Endpoint)
  • Location

    The Location resource identifies the physical site where immunizations were administered. This resource helps to associate the immunization event with a specific place, which is essential for tracking the location of immunization delivery.

    idΣ1..1string
    id0..0string
    extensionI0..*Extension
    versionIdΣ0..1id
    lastUpdatedΣ0..0instant
    sourceΣ0..0uri
    profileΣ1..1canonical(StructureDefinition)
    securityΣ0..0CodingBinding
    tagΣ0..0Coding
    implicitRulesΣ ?!0..0uri
    language0..0codeBinding
    text0..0Narrative
    contained0..0Resource
    extensionI0..*Extension
    modifierExtension?! I0..*Extension
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..0codeBinding
    typeΣ0..0CodeableConceptBinding
    systemΣ1..1uri
    valueΣ1..1string
    periodΣ I0..0Period
    assignerΣ I0..0Reference(Organization)
    statusΣ ?!0..0codeBinding
    operationalStatusΣ0..0CodingBinding
    nameΣ0..1string
    alias0..0string
    descriptionΣ0..0string
    modeΣ0..0codeBinding
    typeΣ0..0CodeableConceptBinding
    telecomI0..0ContactPoint
    address0..0Address
    physicalTypeΣ0..0CodeableConcept
    id0..0string
    extensionI0..*Extension
    referenceΣ I1..1string
    typeΣ0..0uriBindingFixed Value
    identifierΣ0..0Identifier
    displayΣ0..0string
    availabilityExceptions0..0string
    endpointI0..0Reference(Endpoint)
  • Immunization

    The Immunization resource records the immunization event, including the vaccine administered, the patient receiving the immunization, and other pertinent details such as lot number and expiration date. It represents both current and historical immunization data, providing a complete record of a patient’s immunization history. This data is essential for tracking the vaccines received by a patient over time, supporting clinical decision-making, and ensuring compliance with immunization schedules. The patient and location references are mapped to corresponding records stored as part of the immunization bundle.

    idΣ1..1string
    id0..0string
    extensionI0..*Extension
    versionIdΣ0..1id
    lastUpdatedΣ0..0instant
    sourceΣ0..0uri
    profileΣ1..1canonical(StructureDefinition)
    securityΣ0..0CodingBinding
    tagΣ0..0Coding
    implicitRulesΣ ?!0..0uri
    language0..0codeBinding
    text0..0Narrative
    contained0..0Resource
    id0..0string
    id0..0string
    extensionI0..*Extension
    url1..1uriFixed Value
    id0..0string
    extensionI0..*Extension
    id0..0string
    extensionI0..*Extension
    systemΣ1..1uri
    versionΣ0..0string
    codeΣ1..1code
    displayΣ1..1string
    userSelectedΣ0..0boolean
    textΣ0..1string
    id0..0string
    extensionI0..*Extension
    url1..1uriFixed Value
    valueStringstring
    id0..0string
    extensionI0..*Extension
    url1..1uriFixed Value
    valueStringstring
    url1..1uriFixed Value
    modifierExtension?! I0..*Extension
    id0..0string
    extensionI0..*Extension
    useΣ ?!0..0codeBinding
    id0..0string
    extensionI0..*Extension
    codingΣ0..0Coding
    textΣ1..1string
    systemΣ1..1uri
    valueΣ1..1string
    periodΣ I0..0Period
    assignerΣ I0..0Reference(Organization)
    statusΣ ?!1..1codeBinding
    statusReason0..0CodeableConcept
    id0..0string
    extensionI0..*Extension
    id0..0string
    extensionI0..*Extension
    systemΣ0..1uri
    versionΣ0..1string
    codeΣ0..1code
    displayΣ0..1string
    userSelectedΣ0..1boolean
    id0..0string
    extensionI0..*Extension
    systemΣ1..1uri
    versionΣ0..0string
    codeΣ1..1code
    displayΣ1..1string
    userSelectedΣ0..0boolean
    id0..0string
    extensionI0..*Extension
    systemΣ1..1uri
    versionΣ0..0string
    codeΣ1..1code
    displayΣ1..1string
    userSelectedΣ0..0boolean
    id0..0string
    extensionI0..*Extension
    systemΣ1..1uri
    versionΣ0..0string
    codeΣ1..1code
    displayΣ0..1string
    userSelectedΣ0..0boolean
    textΣ0..1string
    id0..0string
    extensionI0..*Extension
    referenceΣ I1..1string
    typeΣ0..0uriBinding
    identifierΣ0..0Identifier
    displayΣ0..0string
    encounterI0..0Reference(Encounter)
    id0..1string
    id0..0string
    extensionI0..*Extension
    url1..1uriFixed Value
    valueBooleanboolean
    value0..1System.DateTime
    recorded0..0dateTime
    primarySourceΣ0..0boolean
    reportOrigin0..0CodeableConcept
    id0..0string
    extensionI0..*Extension
    referenceΣ I1..1string
    typeΣ0..0uriBinding
    identifierΣ0..0Identifier
    displayΣ0..0string
    manufacturerI0..0Reference(Organization)
    lotNumber0..1string
    expirationDate0..1date
    id0..0string
    extensionI0..*Extension
    id0..0string
    extensionI0..*Extension
    systemΣ0..1uri
    versionΣ0..0string
    codeΣ0..1code
    displayΣ0..1string
    userSelectedΣ0..0boolean
    textΣ0..0string
    id0..0string
    extensionI0..*Extension
    id0..0string
    extensionI0..*Extension
    systemΣ0..1uri
    versionΣ0..0string
    codeΣ0..1code
    displayΣ0..1string
    userSelectedΣ0..0boolean
    textΣ0..0string
    id0..0string
    extensionI0..*Extension
    valueΣ0..1decimal
    comparatorΣ ?!0..0codeBinding
    unitΣ0..1string
    systemΣ I0..0uri
    codeΣ0..0code
    id0..1string
    extensionI0..*Extension
    modifierExtensionΣ ?! I0..*Extension
    functionΣ0..1CodeableConceptBinding
    id0..1string
    extensionI0..*Extension
    referenceΣ I0..1string
    typeΣ0..1uriBinding
    identifierΣ0..1Identifier