Amakomaya Nepal FHIR Implementation Guide
2.0.0 - ci-build Nepal

Amakomaya Nepal FHIR Implementation Guide - Local Development build (v2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: AMK Core Immunization Profile

Official URL: https://fhir.amakomaya.com/StructureDefinition/amk-core-immunization | Version: 2.0.0
Active as of 2026-08-21 | Computable Name: AMKCoreImmunizationProfile
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The AMK Core Immunization Profile inherits from the FHIR Immunization resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the Immunization resource to record, search, and fetch basic immunization information for an individual patient within the Nepal health system. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. By providing a standardized foundation for capturing immunization events in Nepal

Usages:

- Examples for this Profile: Immunization/immunization-bcg, Immunization/immunization-dpt, Immunization/immunization-fipv, Immunization/immunization-hpv... Show 9 more, Immunization/immunization-je, Immunization/immunization-mr, Immunization/immunization-opv, Immunization/immunization-pcv, Immunization/immunization-penta, Immunization/immunization-polio, Immunization/immunization-rota, Immunization/immunization-td and Immunization/immunization-typhoid

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | Immunization | Immunization event information Constraints: imm-1, imm-2
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 Slice: Unordered, Open by value:url
status | ?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Required Pattern: completed
vaccineCode | Σ | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
patient | Σ | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
Slices for occurrence[x] | Σ | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | Vaccine administration date
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
imm-1 | error | Immunization | statusReason SHALL only be present if the immunization status is 'not-done' | `statusReason.exists() implies status = 'not-done'`
imm-2 | error | Immunization | subpotentReason SHALL only be present if isSubpotent is 'true' | `subpotentReason.exists() implies (isSubpotent.exists() and isSubpotent = true)`

This structure is derived from Immunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | Immunization event information
status |  | 1..1 | code | completed | entered-in-error | not-done Required Pattern: completed
vaccineCode |  | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
patient |  | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
Slices for occurrence[x] |  | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Open by type:$this
occurrence[x]:occurrenceDateTime |  | 1..1 | dateTime | Vaccine administration date
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.0 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | Immunization | Immunization event information Constraints: imm-1, imm-2
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 Bindings | Purpose
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 Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
identifier |  | 0..* | Identifier | Business identifier
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest) | Authority that the immunization event is based on
status | ?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Required Pattern: completed
statusReason |  | 0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example)
vaccineCode | Σ | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
administeredProduct |  | 0..1 | CodeableReference(Medication) | Product that was administered
manufacturer |  | 0..1 | CodeableReference(Organization) | Vaccine manufacturer
lotNumber |  | 0..1 | string | Vaccine lot number
expirationDate |  | 0..1 | date | Vaccine expiration date
patient | Σ | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
supportingInformation |  | 0..* | Reference(Resource) | Additional information in support of the immunization
Slices for occurrence[x] | Σ | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | Vaccine administration date
primarySource | Σ | 0..1 | boolean | Indicates context the data was captured in
informationSource |  | 0..1 | CodeableReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Indicates the source of a reported record Binding: ImmunizationOriginCodes (example)
location |  | 0..1 | Reference(Location) | The service delivery location
site |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example)
route |  | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example)
doseQuantity |  | 0..1 | SimpleQuantity(6.0.0-ballot5) | Amount of vaccine administered
performer | Σ | 0..* | BackboneElement | Who performed event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
function | Σ | 0..1 | CodeableConcept | Type of performance Binding: Immunization Function (extensible)
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson) | Individual or organization who performed the event
note | Σ | 0..* | Annotation | Additional immunization notes
reason |  | 0..* | CodeableReference(Condition | Observation | DiagnosticReport) | Why immunization occurred Binding: ImmunizationReasonCodes (example)
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
subpotentReason |  | 0..* | CodeableConcept | Reason for being subpotent Binding: Immunization Subpotent Reason (example): The reason why a dose is considered to be subpotent.
programEligibility |  | 0..* | BackboneElement | Patient eligibility for a specific vaccination program
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
program |  | 1..1 | CodeableConcept | The program that eligibility is declared for Binding: CodesForVaccineFundingPrograms (example)
programStatus |  | 1..1 | CodeableConcept | The patient's eligibility status for the program Binding: Immunization Program Eligibility (example)
fundingSource |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: Immunization Funding Source (example)
reaction |  | 0..* | BackboneElement | Details of a reaction that followed the immunization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
date |  | 0..1 | dateTime | When reaction started
manifestation |  | 0..1 | CodeableReference(Observation) | Additional information on reaction
reported |  | 0..1 | boolean | Indicates self-reported reaction
protocolApplied |  | 0..* | BackboneElement | Protocol followed by the provider
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
series |  | 0..1 | string | Name of vaccine series
authority |  | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations
targetDisease |  | 0..* | CodeableConcept | Vaccine preventable disease being targeted Binding: ImmunizationTargetDiseaseCodes (example)
doseNumber |  | 0..1 | CodeableConcept | Dose number within series Binding Description: (example): A code expressing the vaccine dose number - several coding schemes exist or will be defined for each jurisdiction.
seriesDoses |  | 0..1 | CodeableConcept | Recommended number of doses for immunity Binding Description: (example): A code expressing the doses recommended or expected - several coding schemes exist or will be defined for each jurisdiction.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.language | Base | required | All Languages | 📍6.0.0-ballot5 | FHIR Std.
Immunization.status | Base | required | Immunization Status Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.statusReason | Base | example | Immunization Status Reason Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.0 | This IG
Immunization.informationSource | Base | example | Immunization Origin Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.site | Base | example | Codes for Immunization Site of Administration | 📍6.0.0-ballot5 | FHIR Std.
Immunization.route | Base | example | Immunization Route Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.performer.​function | Base | extensible | Immunization Function | 📦1.0.0 | THO v7.3
Immunization.reason | Base | example | Immunization Reason Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📦1.0.1 | THO v7.3
Immunization.programEligibility.​program | Base | example | Vaccine Funding Programs | 📍6.0.0-ballot5 | FHIR Std.
Immunization.programEligibility.​programStatus | Base | example | Immunization Program Eligibility | 📦1.0.1 | THO v7.3
Immunization.fundingSource | Base | example | Immunization Funding Source | 📦1.0.1 | THO v7.3
Immunization.protocolApplied.​targetDisease | Base | example | Immunization Target Disease Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.protocolApplied.​doseNumber | Base | example |  | Not State | Unknown
Immunization.protocolApplied.​seriesDoses | Base | example |  | Not State | Unknown

#### 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
imm-1 | error | Immunization | statusReason SHALL only be present if the immunization status is 'not-done' | `statusReason.exists() implies status = 'not-done'`
imm-2 | error | Immunization | subpotentReason SHALL only be present if isSubpotent is 'true' | `subpotentReason.exists() implies (isSubpotent.exists() and isSubpotent = true)`

This structure is derived from Immunization

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

- AMK Core Patient Profile (https://fhir.amakomaya.com/StructureDefinition/amk-core-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.occurrence[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | Immunization | Immunization event information Constraints: imm-1, imm-2
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 Slice: Unordered, Open by value:url
status | ?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Required Pattern: completed
vaccineCode | Σ | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
patient | Σ | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
Slices for occurrence[x] | Σ | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | Vaccine administration date
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
imm-1 | error | Immunization | statusReason SHALL only be present if the immunization status is 'not-done' | `statusReason.exists() implies status = 'not-done'`
imm-2 | error | Immunization | subpotentReason SHALL only be present if isSubpotent is 'true' | `subpotentReason.exists() implies (isSubpotent.exists() and isSubpotent = true)`

Differential View

This structure is derived from Immunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | Immunization event information
status |  | 1..1 | code | completed | entered-in-error | not-done Required Pattern: completed
vaccineCode |  | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
patient |  | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
Slices for occurrence[x] |  | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Open by type:$this
occurrence[x]:occurrenceDateTime |  | 1..1 | dateTime | Vaccine administration date
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.0 | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | Immunization | Immunization event information Constraints: imm-1, imm-2
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 Bindings | Purpose
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 Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
identifier |  | 0..* | Identifier | Business identifier
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest) | Authority that the immunization event is based on
status | ?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Required Pattern: completed
statusReason |  | 0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example)
vaccineCode | Σ | 1..1 | CodeableConcept | Vaccine administered Binding: Vaccines (SNOMED CT) (required)
administeredProduct |  | 0..1 | CodeableReference(Medication) | Product that was administered
manufacturer |  | 0..1 | CodeableReference(Organization) | Vaccine manufacturer
lotNumber |  | 0..1 | string | Vaccine lot number
expirationDate |  | 0..1 | date | Vaccine expiration date
patient | Σ | 1..1 | Reference(AMK Core Patient Profile) | Who was immunized
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
supportingInformation |  | 0..* | Reference(Resource) | Additional information in support of the immunization
Slices for occurrence[x] | Σ | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | Vaccine administration date
primarySource | Σ | 0..1 | boolean | Indicates context the data was captured in
informationSource |  | 0..1 | CodeableReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Indicates the source of a reported record Binding: ImmunizationOriginCodes (example)
location |  | 0..1 | Reference(Location) | The service delivery location
site |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example)
route |  | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example)
doseQuantity |  | 0..1 | SimpleQuantity(6.0.0-ballot5) | Amount of vaccine administered
performer | Σ | 0..* | BackboneElement | Who performed event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
function | Σ | 0..1 | CodeableConcept | Type of performance Binding: Immunization Function (extensible)
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson) | Individual or organization who performed the event
note | Σ | 0..* | Annotation | Additional immunization notes
reason |  | 0..* | CodeableReference(Condition | Observation | DiagnosticReport) | Why immunization occurred Binding: ImmunizationReasonCodes (example)
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
subpotentReason |  | 0..* | CodeableConcept | Reason for being subpotent Binding: Immunization Subpotent Reason (example): The reason why a dose is considered to be subpotent.
programEligibility |  | 0..* | BackboneElement | Patient eligibility for a specific vaccination program
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
program |  | 1..1 | CodeableConcept | The program that eligibility is declared for Binding: CodesForVaccineFundingPrograms (example)
programStatus |  | 1..1 | CodeableConcept | The patient's eligibility status for the program Binding: Immunization Program Eligibility (example)
fundingSource |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: Immunization Funding Source (example)
reaction |  | 0..* | BackboneElement | Details of a reaction that followed the immunization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
date |  | 0..1 | dateTime | When reaction started
manifestation |  | 0..1 | CodeableReference(Observation) | Additional information on reaction
reported |  | 0..1 | boolean | Indicates self-reported reaction
protocolApplied |  | 0..* | BackboneElement | Protocol followed by the provider
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url
series |  | 0..1 | string | Name of vaccine series
authority |  | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations
targetDisease |  | 0..* | CodeableConcept | Vaccine preventable disease being targeted Binding: ImmunizationTargetDiseaseCodes (example)
doseNumber |  | 0..1 | CodeableConcept | Dose number within series Binding Description: (example): A code expressing the vaccine dose number - several coding schemes exist or will be defined for each jurisdiction.
seriesDoses |  | 0..1 | CodeableConcept | Recommended number of doses for immunity Binding Description: (example): A code expressing the doses recommended or expected - several coding schemes exist or will be defined for each jurisdiction.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.language | Base | required | All Languages | 📍6.0.0-ballot5 | FHIR Std.
Immunization.status | Base | required | Immunization Status Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.statusReason | Base | example | Immunization Status Reason Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.vaccineCode | Base | required | Vaccines (SNOMED CT) | 📦2.0.0 | This IG
Immunization.informationSource | Base | example | Immunization Origin Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.site | Base | example | Codes for Immunization Site of Administration | 📍6.0.0-ballot5 | FHIR Std.
Immunization.route | Base | example | Immunization Route Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.performer.​function | Base | extensible | Immunization Function | 📦1.0.0 | THO v7.3
Immunization.reason | Base | example | Immunization Reason Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📦1.0.1 | THO v7.3
Immunization.programEligibility.​program | Base | example | Vaccine Funding Programs | 📍6.0.0-ballot5 | FHIR Std.
Immunization.programEligibility.​programStatus | Base | example | Immunization Program Eligibility | 📦1.0.1 | THO v7.3
Immunization.fundingSource | Base | example | Immunization Funding Source | 📦1.0.1 | THO v7.3
Immunization.protocolApplied.​targetDisease | Base | example | Immunization Target Disease Codes | 📍6.0.0-ballot5 | FHIR Std.
Immunization.protocolApplied.​doseNumber | Base | example |  | Not State | Unknown
Immunization.protocolApplied.​seriesDoses | Base | example |  | Not State | Unknown

#### 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.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
imm-1 | error | Immunization | statusReason SHALL only be present if the immunization status is 'not-done' | `statusReason.exists() implies status = 'not-done'`
imm-2 | error | Immunization | subpotentReason SHALL only be present if isSubpotent is 'true' | `subpotentReason.exists() implies (isSubpotent.exists() and isSubpotent = true)`

This structure is derived from Immunization

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

- AMK Core Patient Profile (https://fhir.amakomaya.com/StructureDefinition/amk-core-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.occurrence[x]

Other representations of profile: CSV, Excel, Schematron