xCaliber healthCare Data Mesh

Immunization

Overview

The Immunization API empowers healthcare developers to seamlessly manage and retrieve immunization data, providing a standardized interface for efficient integration of vaccination records into clinical workflows. By leveraging this API, developers can optimize immunization tracking, enhance public health reporting, and ensure accurate and up-to-date vaccination information for improved patient care and population health management.

Use Cases

  • Immunization History - Record administered, historical and planned vaccines to build timelines.
  • Inventory Management - Associate vaccine administration details with supply systems for usage insights.
  • Contraindication Checking - Review patient factors like observations, conditions before recommending vaccines.
  • Reminder/Recall - Identify patients due for immunizations for proactive outreach based on schedules.
  • Public Health Reporting - Exchange immunization data with public health agencies as mandated.
  • Clinical Decision Support - Apply immunization knowledge like efficacy, guidelines to support order sets.
  • Patient Education - Provide certificates, instruction sheets on immunizations to patients.
  • Patient Portals - Surface immunization histories to enable patient access to records.
  • Research - Analyze immunization data to determine coverage, outcomes and effectiveness.
  • Reporting - Track and report immunization KPIs like coverage rates to various stakeholders.

EHR Data Model

EHRSupported?Mapped Source Object
AthenaVaccines
ElationHistory, Immunization
EpicN/A

Object Definition

{
  "resourceType": "Immunization",
  "id": "example",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234</p><p><b>status</b>: completed</p><p><b>vaccineCode</b>: Fluvax (Influenza) <span>(Details : {urn:oid:1.2.36.1.2001.1005.17 code 'FLUVAX' = 'Fluvax)</span></p><p><b>patient</b>: <a>Patient/example</a></p><p><b>encounter</b>: <a>Encounter/example</a></p><p><b>occurrence</b>: 10/01/2013</p><p><b>primarySource</b>: true</p><p><b>location</b>: <a>Location/1</a></p><p><b>manufacturer</b>: <a>Organization/hl7</a></p><p><b>lotNumber</b>: AAJN11K</p><p><b>expirationDate</b>: 15/02/2015</p><p><b>site</b>: left arm <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-ActSite code 'LA' = 'left arm', given as 'left arm'})</span></p><p><b>route</b>: Injection, intramuscular <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration code 'IM' = 'Injection, intramuscular', given as 'Injection, intramuscular'})</span></p><p><b>doseQuantity</b>: 5 mg<span> (Details: UCUM code mg = 'mg')</span></p><blockquote><p><b>performer</b></p><p><b>function</b>: Ordering Provider <span>(Details : {http://terminology.hl7.org/CodeSystem/v2-0443 code 'OP' = 'Ordering Provider)</span></p><p><b>actor</b>: <a>Practitioner/example</a></p></blockquote><blockquote><p><b>performer</b></p><p><b>function</b>: Administering Provider <span>(Details : {http://terminology.hl7.org/CodeSystem/v2-0443 code 'AP' = 'Administering Provider)</span></p><p><b>actor</b>: <a>Practitioner/example</a></p></blockquote><p><b>note</b>: Notes on adminstration of vaccine</p><p><b>reasonCode</b>: Procedure to meet occupational requirement <span>(Details : {SNOMED CT code '429060002' = 'Procedure to meet occupational requirement)</span></p><p><b>isSubpotent</b>: true</p><h3>Educations</h3><table><tr><td>-</td><td><b>DocumentType</b></td><td><b>PublicationDate</b></td><td><b>PresentationDate</b></td></tr><tr><td>*</td><td>253088698300010311120702</td><td>02/07/2012</td><td>10/01/2013</td></tr></table><p><b>programEligibility</b>: Not Eligible <span>(Details : {http://terminology.hl7.org/CodeSystem/immunization-program-eligibility code 'ineligible' = 'Not Eligible)</span></p><p><b>fundingSource</b>: Private <span>(Details : {http://terminology.hl7.org/CodeSystem/immunization-funding-source code 'private' = 'Private)</span></p></div>"
  },
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"
    }
  ],
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "urn:oid:1.2.36.1.2001.1005.17",
        "code": "FLUVAX"
      }
    ],
    "text": "Fluvax (Influenza)"
  },
  "patient": {
    "reference": "Patient/example"
  },
  "encounter": {
    "reference": "Encounter/example"
  },
  "occurrenceDateTime": "2013-01-10",
  "primarySource": true,
  "location": {
    "reference": "Location/1"
  },
  "manufacturer": {
    "reference": "Organization/hl7"
  },
  "lotNumber": "AAJN11K",
  "expirationDate": "2015-02-15",
  "site": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
        "code": "LA",
        "display": "left arm"
      }
    ]
  },
  "route": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
        "code": "IM",
        "display": "Injection, intramuscular"
      }
    ]
  },
  "doseQuantity": {
    "value": 5,
    "system": "http://unitsofmeasure.org",
    "code": "mg"
  },
  "performer": [
    {
      "function": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0443",
            "code": "OP"
          }
        ]
      },
      "actor": {
        "reference": "Practitioner/example"
      }
    },
    {
      "function": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0443",
            "code": "AP"
          }
        ]
      },
      "actor": {
        "reference": "Practitioner/example"
      }
    }
  ],
  "note": [
    {
      "text": "Notes on adminstration of vaccine"
    }
  ],
  "reasonCode": [
    {
      "coding": [
        {
          "system": "http://snomed.info/sct",
          "code": "429060002"
        }
      ]
    }
  ],
  "isSubpotent": true,
  "education": [
    {
      "documentType": "253088698300010311120702",
      "publicationDate": "2012-07-02",
      "presentationDate": "2013-01-10"
    }
  ],
  "programEligibility": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/immunization-program-eligibility",
          "code": "ineligible"
        }
      ]
    }
  ],
  "fundingSource": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/immunization-funding-source",
        "code": "private"
      }
    ]
  },
  "meta": {
    "tag": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
        "code": "HTEST",
        "display": "test health data"
      }
    ]
  }
}

Data Fields

Data FieldTypeDescription
resourceTypeImmunizationThis is a Immunization resource
ididThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
metaMetaThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
implicitRulesuriA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
languagecodeThe base language in which the resource is written.
textNarrativeA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
containedBackboneElementThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
identifierIdentifierA unique identifier assigned to this immunization record.
statuscodeIndicates the current status of the immunization event.
statusReasonCodeableConceptIndicates the reason the immunization event was not performed.
vaccineCodeCodeableConceptVaccine that was administered or was to be administered.
patientReferenceThe patient who either received or did not receive the immunization.
encounterReferenceThe visit or admission or other contact between patient and health care provider the immunization was performed as part of.
occurrenceDateTimestringDate vaccine administered or was to be administered.
occurrenceStringstringDate vaccine administered or was to be administered.
recordeddateTimeThe date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event.
primarySourcebooleanAn indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.
reportOriginCodeableConceptThe source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.
locationReferenceThe service delivery location where the vaccine administration occurred.
manufacturerReferenceName of vaccine manufacturer.
lotNumberstringLot number of the vaccine product.
expirationDatedateDate vaccine batch expires.
siteCodeableConceptBody site where vaccine was administered.
routeCodeableConceptThe path by which the vaccine product is taken into the body.
doseQuantityQuantityThe quantity of vaccine product that was administered.
performerBackboneElementIndicates who performed the immunization event.
performer.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
performer.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
performer.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
performer.functionCodeableConceptDescribes the type of performance (e.g. ordering provider, administering provider, etc.).
performer.actorReferenceThe practitioner or organization who performed the action.
noteAnnotationExtra information about the immunization that is not conveyed by the other attributes.
reasonCodeCodeableConceptReasons why the vaccine was administered.
reasonReferenceReferenceCondition, Observation or DiagnosticReport that supports why the immunization was administered.
isSubpotentbooleanIndication if a dose is considered to be subpotent. By default, a dose should be considered to be potent.
subpotentReasonCodeableConceptReason why a dose is considered to be subpotent.
educationBackboneElementEducational material presented to the patient (or guardian) at the time of vaccine administration.
education.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
education.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
education.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
education.documentTypestringIdentifier of the material presented to the patient.
education.referenceuriReference pointer to the educational material given to the patient if the information was on line.
education.publicationDatedateTimeDate the educational material was published.
education.presentationDatedateTimeDate the educational material was given to the patient.
programEligibilityCodeableConceptIndicates a patient's eligibility for a funding program.
fundingSourceCodeableConceptIndicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered).
reactionBackboneElementCategorical data indicating that an adverse event is associated in time to an immunization.
reaction.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
reaction.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
reaction.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
reaction.datedateTimeDate of reaction to the immunization.
reaction.detailReferenceDetails of the reaction.
reaction.reportedbooleanSelf-reported indicator.
protocolAppliedBackboneElementThe protocol (set of recommendations) being followed by the provider who administered the dose.
protocolApplied.idstringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
protocolApplied.extensionExtensionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
protocolApplied.modifierExtensionExtensionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
protocolApplied.seriesstringOne possible path to achieve presumed immunity against a disease - within the context of an authority.
protocolApplied.authorityReferenceIndicates the authority who published the protocol (e.g. ACIP) that is being followed.
protocolApplied.targetDiseaseCodeableConceptThe vaccine preventable disease the dose is being administered against.
protocolApplied.doseNumberPositiveIntnumberNominal position in a series.
protocolApplied.doseNumberStringstringNominal position in a series.
protocolApplied.seriesDosesPositiveIntnumberThe recommended number of doses to achieve immunity.
protocolApplied.seriesDosesStringstringThe recommended number of doses to achieve immunity.

Extensions

NameURL
ADMINISTERROUTEDESCRIPTIONhttp://xcaliber-fhir/structureDefinition/route/administer-route-description
ADMINISTERNOTEhttp://xcaliber-fhir/structureDefinition/note/administer-note
APPROVEDBYhttp://xcaliber-fhir/structureDefinition/approved-by
APPROVEDDATEhttp://xcaliber-fhir/structureDefinition/approved-date
SUBMITDATEhttp://xcaliber-fhir/structureDefinition/submit-date
CVXhttp://xcaliber-fhir/structureDefinition/cvx
DELETEDDATEhttp://xcaliber-fhir/structureDefinition/deleted-date
ENTEREDBYhttp://xcaliber-fhir/structureDefinition/entered-by
MVXhttp://xcaliber-fhir/structureDefinition/mvx
ORDEREDBYhttp://xcaliber-fhir/structureDefinition/ordered-by
ORDEREDDATEhttp://xcaliber-fhir/structureDefinition/ordered-date
PRESCRIBEDDATEhttp://xcaliber-fhir/structureDefinition/prescribed-date
REFUSEDDATEhttp://xcaliber-fhir/structureDefinition/refused-date
REFUSEDNOTEhttp://xcaliber-fhir/structureDefinition/refused-note
VISGIVENDATEhttp://xcaliber-fhir/structureDefinition/vis-given-date
DELETED_DATEhttp://xcaliber-fhir/structureDefinition/deleted-date
DESCRIPTIONhttp://xcaliber-fhir/structureDefinition/description
MANUFACTURER_CODEhttp://xcaliber-fhir/structureDefinition/manufacturer-code
VIShttp://xcaliber-fhir/structureDefinition/vis
PUBLICITY_CODEhttp://xcaliber-fhir/structureDefinition/publicity-code
INFO_SOURCEhttps://docs.xcaliberapis.com/xchange/elation-ehr/extensions/info-source
ALLOWED_SHARINGhttp://xcaliber-fhir/structureDefinition/allowed-sharing
PATIENT_CONSENThttp://xcaliber-fhir/structureDefinition/patient-consent
PRIORITY_POPULATIONhttp://xcaliber-fhir/structureDefinition/priority-population
NDChttp://xcaliber-fhir/structureDefinition/ndc
CDC_NAMEhttp://xcaliber-fhir/structureDefinition/cdc-name
CDC_TYPEhttp://xcaliber-fhir/structureDefinition/cdc-type
VACCINEhttp://xcaliber-fhir/structureDefinition/vaccine
PARTIALLYADMINISTEREDhttp://xcaliber-fhir/structureDefinition/partially-administered
CLINICALORDERCLASSIDhttp://xcaliber-fhir/structureDefinition/clinical-order-class-id
CLINICALORDERCLASSNAMEhttp://xcaliber-fhir/structureDefinition/clinical-order-class-name
REFUSEDREASONhttp://xcaliber-fhir/structureDefinition/refused-reason
RANKhttp://xcaliber-fhir/structureDefinition/rank
TYPEhttp://xcaliber-fhir/structureDefinition/type
VACCINESECTIONNOTEhttp://xcaliber-fhir/structureDefinition/vaccine-section-note
SECTIONNOTEhttp://xcaliber-fhir/structureDefinition/section-note

Operations & APIs

Immunization-GET

Immunization-POST

Immunization ID-GET

Immunization ID-PUT

Immunization ID-DELETE

Immunization Export-POST