Uzbekistan Digital Health Platform
0.5.0 - ci-build Uzbekistan flag

Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions

Resource Profile: UZ Core Immunization ( Experimental )

Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization Version: 0.5.0
Active as of 2025-08-01 Computable Name: UZCoreImmunization

Uzbekistan Core Immunization profile, used to represent immunization events

UZ Core Immunization records a single vaccine dose - whether it was administered or deliberately not given - for a patient on the Digital Health Platform. It captures what vaccine was given, the product, batch and dose, when and where it happened, who administered it, the protocol that was followed, and any reaction. It references the Patient who was vaccinated and the administering Practitioner or PractitionerRole, and it may be linked back to the ImmunizationRecommendation that prompted it. A dose is uniquely identified by patient + vaccine code + occurrence + lot number, so the same dose is not recorded twice.

Mandatory and Must Support data elements

The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.

Each UZ Core Immunization Must Have

Every Immunization must carry a status - completed (the dose was administered), not-done (a medical exemption or refusal, in which case give the status reason), or entered-in-error - the vaccine code saying which vaccine was given (or would have been), the patient the record is about, and an occurrence (the date it was administered, as a date/time, or a string when only an approximate date is known). Where a performer is recorded, the actor who administered the dose is mandatory, and where a protocol is recorded, so is the dose number within the series.

Each UZ Core Immunization Must Support

  • a business identifier, and basedOn - the order or recommendation that authorised the dose;
  • the status reason (for a not-done record), the administered product, manufacturer lot number and expiry date, and the dose quantity;
  • the encounter, location, administration site and route, and supporting information;
  • the primary source flag and the information source (who reported the data);
  • the performer (and their function/role), notes, and the reason for vaccination;
  • the subpotent flag with its reason, program eligibility (program and participation status), and funding source;
  • the reaction (date, manifestation, and whether self-reported);
  • the protocol applied - series name, authority organization, target disease, dose number and total doses in the series.

Use status = not-done with a status reason to record an exemption or refusal - do not omit the record. Reserve entered-in-error for records created by mistake.

Building the JSON, step by step

The examples below go from the smallest instance the server will accept to a full immunization record with protocol and reaction. Copy one and adapt it - every value shown validates against this profile. The complete reference instances are linked at the bottom of the page (BCG dose, measles dose).

The smallest Immunization you should send

Four elements are mandatory: status, vaccineCode, patient, and an occurrence. The vaccine code may be a CVX code or an Australian Immunisation Register (AIR) code; the occurrence is usually a occurrenceDateTime. Every UZ Core resource must also name the profile it claims to conform to in meta.profile. This much already passes validation:

{
  "resourceType": "Immunization",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization" ] },
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "http://hl7.org/fhir/sid/cvx",
        "code": "03",
        "display": "measles, mumps and rubella virus vaccine"
      }
    ]
  },
  "patient": { "reference": "Patient/example-emma" },
  "occurrenceDateTime": "2024-01-10"
}

status is bound required to completed / not-done / entered-in-error. vaccineCode uses an extensible binding to the vaccine code value set - CVX (http://hl7.org/fhir/sid/cvx) and the Australian Immunisation Register (AIR) are the systems in use. When only an approximate date is known, send occurrenceString instead of occurrenceDateTime.

A realistic administered dose

In practice you record the product detail and the administration: a CVX vaccineCode, the lotNumber and expirationDate, the encounter and location, the site and route, the doseQuantity, and the performer who gave the dose. vaccineCode is a plain CodeableConcept, but performer.actor is a plain Reference:

{
  "resourceType": "Immunization",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization"] },
  "status": "completed",
  "vaccineCode": {
    "coding": [{ "system": "http://hl7.org/fhir/sid/cvx", "code": "19", "display": "Bacillus Calmette-Guerin vaccine" }]
  },
  "patient": { "reference": "Patient/example-salim" },
  "encounter": { "reference": "Encounter/example-encounter" },
  "occurrenceDateTime": "2026-04-28T10:30:00+05:00",
  "primarySource": true,
  "lotNumber": "LOT-BCG-2026-01",
  "expirationDate": "2027-01-31",
  "location": { "reference": "Location/example-location-1" },
  "site": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/v3-ActSite", "code": "LA", "display": "Left arm" }]
  },
  "route": {
    "coding": [{ "system": "http://snomed.info/sct", "code": "36673005", "display": "Intradermal injection" }]
  },
  "doseQuantity": { "value": 0.05, "unit": "mL", "system": "http://unitsofmeasure.org", "code": "mL" },
  "performer": [
    {
      "function": {
        "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/v2-0443", "code": "AP", "display": "Administering Provider" }]
      },
      "actor": { "reference": "Practitioner/example-practitioner" }
    }
  ]
}

patient, encounter, location, basedOn, supportingInformation, performer.actor and protocolApplied.authority are all plain References ({ "reference": "Type/id" }). administeredProduct, informationSource, reason and reaction.manifestation are CodeableReference types - their reference sits one level deeper ({ "reference": { "reference": "Type/id" } }). See References and CodeableReferences for the distinction.

Adding protocol, reason and reaction

For a complete record, add the protocolApplied (series name, target disease, dose number and total doses), the reason for vaccinating, and any reaction observed. Note where the CodeableReference shape applies - reason and reaction.manifestation nest the reference, while protocolApplied.authority is a plain Reference:

{
  "resourceType": "Immunization",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization"] },
  "status": "completed",
  "vaccineCode": {
    "coding": [{ "system": "http://hl7.org/fhir/sid/cvx", "code": "19", "display": "Bacillus Calmette-Guerin vaccine" }]
  },
  "patient": { "reference": "Patient/example-salim" },
  "occurrenceDateTime": "2026-04-28T10:30:00+05:00",
  "administeredProduct": {
    "reference": { "reference": "Medication/medication-imm-001" }
  },
  "reason": [
    { "reference": { "reference": "Condition/condition-tuberculosis-risk-example" } }
  ],
  "reaction": [
    {
      "date": "2026-04-28T12:00:00+05:00",
      "manifestation": {
        "concept": {
          "coding": [{ "system": "http://snomed.info/sct", "code": "260389003", "display": "No reaction" }]
        }
      },
      "reported": false
    }
  ],
  "protocolApplied": [
    {
      "series": "BCG vaccination",
      "authority": { "reference": "Organization/example-immunization-organization" },
      "targetDisease": [
        { "coding": [{ "system": "http://snomed.info/sct", "code": "56717001", "display": "Tuberculosis" }] }
      ],
      "doseNumber": "1",
      "seriesDoses": "1"
    }
  ]
}

reaction.manifestation carries its coded finding in concept; it may instead point at an Observation through its nested reference. protocolApplied.targetDisease is bound extensible to SNOMED CT. When the dose came from a recommendation or order, add a basedOn reference to it.

When the dose was not given

Do not omit the record when a vaccine is refused, contraindicated, or otherwise not administered - set status to not-done and give the statusReason. The occurrence still records when it would have been (or was scheduled to be):

{
  "resourceType": "Immunization",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization"] },
  "status": "not-done",
  "statusReason": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason", "code": "IMMUNE", "display": "immunity" }]
  },
  "vaccineCode": {
    "coding": [{ "system": "http://hl7.org/fhir/sid/cvx", "code": "19", "display": "Bacillus Calmette-Guerin vaccine" }]
  },
  "patient": { "reference": "Patient/example-salim" },
  "occurrenceDateTime": "2026-04-28T10:30:00+05:00"
}

statusReason uses a required binding. See Missing & suppressed data for the difference between a not-done event and a missing element.

For example API calls and a sample payload, see the Quick Start at the bottom of this page.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Business identifier
... basedOn SΣ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status ?!SΣ 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode SΣ 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] SΣ 1..1 Date of vaccine administration
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceString string
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString SΣ 0..1 string Date (string)
... primarySource SΣ 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer SΣ 0..* BackboneElement Performer
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function SΣ 0..1 CodeableConcept Role
Binding: ImmunizationFunctionCodes (extensible)
.... actor SΣ 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note SΣ 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
Binding: ImmunizationReasonCodes (example)
... isSubpotent ?!SΣ 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... program S 1..1 CodeableConcept Program
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus S 1..1 CodeableConcept Participation status
Binding: ImmunizationProgramEligibility (example)
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.performer.​function Base extensible Immunization Function Codes 📍5.0.0 FHIR Std.
Immunization.reason Base example Immunization Reason Codes 📍5.0.0 FHIR Std.
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.programEligibility.​program Base example Vaccine Funding Programs 📍5.0.0 FHIR Std.
Immunization.programEligibility.​programStatus Base example Immunization Program Eligibility 📍5.0.0 FHIR Std.
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Immunization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization A resource should have narrative for robust management text.`div`.exists()
ele-1 error Immunization.implicitRules, Immunization.modifierExtension, Immunization.identifier, Immunization.basedOn, Immunization.status, Immunization.statusReason, Immunization.vaccineCode, Immunization.administeredProduct, Immunization.lotNumber, Immunization.expirationDate, Immunization.patient, Immunization.encounter, Immunization.supportingInformation, Immunization.occurrence[x], Immunization.occurrence[x]:occurrenceDateTime, Immunization.occurrence[x]:occurrenceString, Immunization.primarySource, Immunization.informationSource, Immunization.location, Immunization.site, Immunization.route, Immunization.doseQuantity, Immunization.performer, Immunization.performer.modifierExtension, Immunization.performer.function, Immunization.performer.actor, Immunization.note, Immunization.reason, Immunization.isSubpotent, Immunization.subpotentReason, Immunization.programEligibility, Immunization.programEligibility.modifierExtension, Immunization.programEligibility.program, Immunization.programEligibility.programStatus, Immunization.fundingSource, Immunization.reaction, Immunization.reaction.modifierExtension, Immunization.reaction.date, Immunization.reaction.manifestation, Immunization.reaction.reported, Immunization.protocolApplied, Immunization.protocolApplied.modifierExtension, Immunization.protocolApplied.series, Immunization.protocolApplied.authority, Immunization.protocolApplied.targetDisease, Immunization.protocolApplied.doseNumber, Immunization.protocolApplied.seriesDoses All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Immunization.modifierExtension, Immunization.performer.modifierExtension, Immunization.programEligibility.modifierExtension, Immunization.reaction.modifierExtension, Immunization.protocolApplied.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... identifier S 0..* Identifier Business identifier
... basedOn S 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status S 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode S 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient S 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] S 1..1 dateTime, string Date of vaccine administration
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString S 0..1 string Date (string)
... primarySource S 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer S 0..* BackboneElement Performer
.... function S 0..1 CodeableConcept Role
.... actor S 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note S 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
... isSubpotent S 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... program S 1..1 CodeableConcept Program
.... programStatus S 1..1 CodeableConcept Participation status
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Business identifier
... basedOn SΣ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status ?!SΣ 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode SΣ 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... manufacturer 0..1 CodeableReference(Organization) Vaccine manufacturer
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] SΣ 1..1 Date of vaccine administration
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceString string
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString SΣ 0..1 string Date (string)
... primarySource SΣ 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer SΣ 0..* BackboneElement Performer
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function SΣ 0..1 CodeableConcept Role
Binding: ImmunizationFunctionCodes (extensible)
.... actor SΣ 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note SΣ 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
Binding: ImmunizationReasonCodes (example)
... isSubpotent ?!SΣ 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... program S 1..1 CodeableConcept Program
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus S 1..1 CodeableConcept Participation status
Binding: ImmunizationProgramEligibility (example)
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.language Base required All Languages 📍5.0.0 FHIR Std.
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.performer.​function Base extensible Immunization Function Codes 📍5.0.0 FHIR Std.
Immunization.reason Base example Immunization Reason Codes 📍5.0.0 FHIR Std.
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.programEligibility.​program Base example Vaccine Funding Programs 📍5.0.0 FHIR Std.
Immunization.programEligibility.​programStatus Base example Immunization Program Eligibility 📍5.0.0 FHIR Std.
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Immunization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization A resource should have narrative for robust management text.`div`.exists()
ele-1 error Immunization.meta, Immunization.implicitRules, Immunization.language, Immunization.text, Immunization.extension, Immunization.modifierExtension, Immunization.identifier, Immunization.basedOn, Immunization.status, Immunization.statusReason, Immunization.vaccineCode, Immunization.administeredProduct, Immunization.manufacturer, Immunization.lotNumber, Immunization.expirationDate, Immunization.patient, Immunization.encounter, Immunization.supportingInformation, Immunization.occurrence[x], Immunization.occurrence[x]:occurrenceDateTime, Immunization.occurrence[x]:occurrenceString, Immunization.primarySource, Immunization.informationSource, Immunization.location, Immunization.site, Immunization.route, Immunization.doseQuantity, Immunization.performer, Immunization.performer.extension, Immunization.performer.modifierExtension, Immunization.performer.function, Immunization.performer.actor, Immunization.note, Immunization.reason, Immunization.isSubpotent, Immunization.subpotentReason, Immunization.programEligibility, Immunization.programEligibility.extension, Immunization.programEligibility.modifierExtension, Immunization.programEligibility.program, Immunization.programEligibility.programStatus, Immunization.fundingSource, Immunization.reaction, Immunization.reaction.extension, Immunization.reaction.modifierExtension, Immunization.reaction.date, Immunization.reaction.manifestation, Immunization.reaction.reported, Immunization.protocolApplied, Immunization.protocolApplied.extension, Immunization.protocolApplied.modifierExtension, Immunization.protocolApplied.series, Immunization.protocolApplied.authority, Immunization.protocolApplied.targetDisease, Immunization.protocolApplied.doseNumber, Immunization.protocolApplied.seriesDoses All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Immunization.extension, Immunization.modifierExtension, Immunization.performer.extension, Immunization.performer.modifierExtension, Immunization.programEligibility.extension, Immunization.programEligibility.modifierExtension, Immunization.reaction.extension, Immunization.reaction.modifierExtension, Immunization.protocolApplied.extension, Immunization.protocolApplied.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Business identifier
... basedOn SΣ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status ?!SΣ 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode SΣ 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] SΣ 1..1 Date of vaccine administration
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceString string
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString SΣ 0..1 string Date (string)
... primarySource SΣ 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer SΣ 0..* BackboneElement Performer
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function SΣ 0..1 CodeableConcept Role
Binding: ImmunizationFunctionCodes (extensible)
.... actor SΣ 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note SΣ 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
Binding: ImmunizationReasonCodes (example)
... isSubpotent ?!SΣ 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... program S 1..1 CodeableConcept Program
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus S 1..1 CodeableConcept Participation status
Binding: ImmunizationProgramEligibility (example)
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.performer.​function Base extensible Immunization Function Codes 📍5.0.0 FHIR Std.
Immunization.reason Base example Immunization Reason Codes 📍5.0.0 FHIR Std.
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.programEligibility.​program Base example Vaccine Funding Programs 📍5.0.0 FHIR Std.
Immunization.programEligibility.​programStatus Base example Immunization Program Eligibility 📍5.0.0 FHIR Std.
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Immunization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization A resource should have narrative for robust management text.`div`.exists()
ele-1 error Immunization.implicitRules, Immunization.modifierExtension, Immunization.identifier, Immunization.basedOn, Immunization.status, Immunization.statusReason, Immunization.vaccineCode, Immunization.administeredProduct, Immunization.lotNumber, Immunization.expirationDate, Immunization.patient, Immunization.encounter, Immunization.supportingInformation, Immunization.occurrence[x], Immunization.occurrence[x]:occurrenceDateTime, Immunization.occurrence[x]:occurrenceString, Immunization.primarySource, Immunization.informationSource, Immunization.location, Immunization.site, Immunization.route, Immunization.doseQuantity, Immunization.performer, Immunization.performer.modifierExtension, Immunization.performer.function, Immunization.performer.actor, Immunization.note, Immunization.reason, Immunization.isSubpotent, Immunization.subpotentReason, Immunization.programEligibility, Immunization.programEligibility.modifierExtension, Immunization.programEligibility.program, Immunization.programEligibility.programStatus, Immunization.fundingSource, Immunization.reaction, Immunization.reaction.modifierExtension, Immunization.reaction.date, Immunization.reaction.manifestation, Immunization.reaction.reported, Immunization.protocolApplied, Immunization.protocolApplied.modifierExtension, Immunization.protocolApplied.series, Immunization.protocolApplied.authority, Immunization.protocolApplied.targetDisease, Immunization.protocolApplied.doseNumber, Immunization.protocolApplied.seriesDoses All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Immunization.modifierExtension, Immunization.performer.modifierExtension, Immunization.programEligibility.modifierExtension, Immunization.reaction.modifierExtension, Immunization.protocolApplied.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... identifier S 0..* Identifier Business identifier
... basedOn S 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status S 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode S 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient S 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] S 1..1 dateTime, string Date of vaccine administration
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString S 0..1 string Date (string)
... primarySource S 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer S 0..* BackboneElement Performer
.... function S 0..1 CodeableConcept Role
.... actor S 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note S 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
... isSubpotent S 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... program S 1..1 CodeableConcept Program
.... programStatus S 1..1 CodeableConcept Participation status
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Immunization 0..* Immunization(5.0.0) Immunization event information
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier Business identifier
... basedOn SΣ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | UZ Core ImmunizationRecommendation(0.5.0)) The legal basis for the event
... status ?!SΣ 1..1 code Vaccination status
Binding: ImmunizationStatusVS (0.5.0) (required)
... statusReason S 0..1 CodeableConcept Status Reason
Binding: ImmunizationStatusReasonVS (0.5.0) (required)
... vaccineCode SΣ 1..1 CodeableConcept Administered vaccine
Binding: VaccineCodeVS (0.5.0) (extensible)
... administeredProduct S 0..1 CodeableReference(Medication) Vaccine product
... manufacturer 0..1 CodeableReference(Organization) Vaccine manufacturer
... lotNumber S 0..1 string Vaccine batch number (lot number)
... expirationDate S 0..1 date Vaccine expiry date
... patient SΣ 1..1 Reference(UZ Core Patient(0.5.0)) Patient
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Related contact
... supportingInformation S 0..* Reference(UZ Core Observation(0.5.0) | UZ Core Condition(0.5.0)) Additional information
... Slices for occurrence[x] SΣ 1..1 Date of vaccine administration
Slice: Unordered, Closed by type:$this
.... occurrenceDateTime dateTime
.... occurrenceString string
.... occurrence[x]:occurrenceDateTime SΣ 0..1 dateTime Date (dateTime)
.... occurrence[x]:occurrenceString SΣ 0..1 string Date (string)
... primarySource SΣ 0..1 boolean Primary source
... informationSource S 0..1 CodeableReference(UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0) | UZ Core Organization(0.5.0)) Data source
Binding: ImmunizationOriginVS (0.5.0) (extensible)
... location S 0..1 Reference(UZ Core Location(0.5.0)) Vaccination location
... site S 0..1 CodeableConcept Administration site
Binding: ImmunizationSiteVS (0.5.0) (extensible)
... route S 0..1 CodeableConcept Route of administration
Binding: RouteCodeVS (0.5.0) (example)
... doseQuantity S 0..1 SimpleQuantity(5.0.0) Dose
... performer SΣ 0..* BackboneElement Performer
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function SΣ 0..1 CodeableConcept Role
Binding: ImmunizationFunctionCodes (extensible)
.... actor SΣ 1..1 Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Organization(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who completed
... note SΣ 0..* Annotation Notes
... reason S 0..* CodeableReference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | DiagnosticReport) Vaccination reason
Binding: ImmunizationReasonCodes (example)
... isSubpotent ?!SΣ 0..1 boolean Subpotent
... subpotentReason S 0..* CodeableConcept Subpotent reason
Binding: SubpotentReasonVS (0.5.0) (example)
... programEligibility S 0..* BackboneElement Vaccination program
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... program S 1..1 CodeableConcept Program
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus S 1..1 CodeableConcept Participation status
Binding: ImmunizationProgramEligibility (example)
... fundingSource S 0..1 CodeableConcept Funding Source
Binding: FundingSourceVS (0.5.0) (example)
... reaction S 0..* BackboneElement Reaction
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... date S 0..1 dateTime Reaction date
.... manifestation S 0..1 CodeableReference(UZ Core Observation(0.5.0)) Manifestation
Binding: ReactionTypeVS (0.5.0) (required)
.... reported S 0..1 boolean Self-reported
... protocolApplied S 0..* BackboneElement Protocol
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... series S 0..1 string Series
.... authority S 0..1 Reference(UZ Core Organization(0.5.0)) Authority organization
.... targetDisease S 0..* CodeableConcept Target Disease
Binding: TargetDiseaseVS (0.5.0) (extensible)
.... doseNumber S 1..1 string Dose number
.... seriesDoses S 0..1 string Total doses

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.language Base required All Languages 📍5.0.0 FHIR Std.
Immunization.status Base required Immunization status value set 📍0.5.0 This IG
Immunization.statusReason Base required Immunization status reason value set 📍0.5.0 This IG
Immunization.vaccineCode Base extensible Vaccine Code ValueSet 📍0.5.0 This IG
Immunization.informationSource Base extensible Immunization origin value set 📍0.5.0 This IG
Immunization.site Base extensible Immunization site value set 📍0.5.0 This IG
Immunization.route Base example Route of administration value set 📍0.5.0 This IG
Immunization.performer.​function Base extensible Immunization Function Codes 📍5.0.0 FHIR Std.
Immunization.reason Base example Immunization Reason Codes 📍5.0.0 FHIR Std.
Immunization.subpotentReason Base example Immunization subpotent reason value set 📍0.5.0 This IG
Immunization.programEligibility.​program Base example Vaccine Funding Programs 📍5.0.0 FHIR Std.
Immunization.programEligibility.​programStatus Base example Immunization Program Eligibility 📍5.0.0 FHIR Std.
Immunization.fundingSource Base example Immunization funding source value set 📍0.5.0 This IG
Immunization.reaction.​manifestation Base required Reaction Type ValueSet 📍0.5.0 This IG
Immunization.protocolApplied.​targetDisease Base extensible Target disease value set 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Immunization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization A resource should have narrative for robust management text.`div`.exists()
ele-1 error Immunization.meta, Immunization.implicitRules, Immunization.language, Immunization.text, Immunization.extension, Immunization.modifierExtension, Immunization.identifier, Immunization.basedOn, Immunization.status, Immunization.statusReason, Immunization.vaccineCode, Immunization.administeredProduct, Immunization.manufacturer, Immunization.lotNumber, Immunization.expirationDate, Immunization.patient, Immunization.encounter, Immunization.supportingInformation, Immunization.occurrence[x], Immunization.occurrence[x]:occurrenceDateTime, Immunization.occurrence[x]:occurrenceString, Immunization.primarySource, Immunization.informationSource, Immunization.location, Immunization.site, Immunization.route, Immunization.doseQuantity, Immunization.performer, Immunization.performer.extension, Immunization.performer.modifierExtension, Immunization.performer.function, Immunization.performer.actor, Immunization.note, Immunization.reason, Immunization.isSubpotent, Immunization.subpotentReason, Immunization.programEligibility, Immunization.programEligibility.extension, Immunization.programEligibility.modifierExtension, Immunization.programEligibility.program, Immunization.programEligibility.programStatus, Immunization.fundingSource, Immunization.reaction, Immunization.reaction.extension, Immunization.reaction.modifierExtension, Immunization.reaction.date, Immunization.reaction.manifestation, Immunization.reaction.reported, Immunization.protocolApplied, Immunization.protocolApplied.extension, Immunization.protocolApplied.modifierExtension, Immunization.protocolApplied.series, Immunization.protocolApplied.authority, Immunization.protocolApplied.targetDisease, Immunization.protocolApplied.doseNumber, Immunization.protocolApplied.seriesDoses All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Immunization.extension, Immunization.modifierExtension, Immunization.performer.extension, Immunization.performer.modifierExtension, Immunization.programEligibility.extension, Immunization.programEligibility.modifierExtension, Immunization.reaction.extension, Immunization.reaction.modifierExtension, Immunization.protocolApplied.extension, Immunization.protocolApplied.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Quick Start

Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates a token system from its value and must be URL-encoded as %7C. These interactions use standard FHIR R5 search parameters; see the CapabilityStatement as it is finalized for this resource.

Read an immunization by server id

GET [base]/Immunization/[id]

Useful searches

# all immunizations for a patient
GET [base]/Immunization?patient=Patient/[id]

# a patient's vaccination history for one vaccine, most recent first
GET [base]/Immunization?patient=Patient/[id]&vaccine-code=http://hl7.org/fhir/sid/cvx%7C19&_sort=-date

# completed doses only
GET [base]/Immunization?patient=Patient/[id]&status=completed

# by date, lot number, or performer
GET [base]/Immunization?patient=Patient/[id]&date=ge2026-01-01
GET [base]/Immunization?lot-number=LOT-BCG-2026-01
GET [base]/Immunization?performer=Practitioner/[id]

Record a new immunization

POST [base]/Immunization
{
  "resourceType": "Immunization",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization" ] },
  ...
}

Before creating, check that no record already exists for the same patient + vaccine code + occurrence + lot number, so the dose is not recorded twice.

Update an immunization (e.g. correct a lot number, add a reaction, or mark a record entered-in-error)

PUT [base]/Immunization/[id]
If-Match: W/"3"   # the ETag from your last read; 412 if it changed since
{
  "resourceType": "Immunization",
  "id": "[id]",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization" ] },
  ...
}