Implementation Guide CH VACD
4.0.1 - trial-use Switzerland flag

This page is part of the CH VACD (R4) (v4.0.1: STU 4) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CH VACD Immunization

Official URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-immunization Version: 4.0.1
Active as of 2023-12-28 Computable Name: CHVACDImmunization

Copyright/Legal: CC0-1.0

Definition of the immunization part for all documents, except recommendation request and response documents.

Immunization validation

An immunization can be recorded by an Practitioner or a Patient (Extension: Author of the content) . In the case a practitioner is recorder, the immunization entry is directly validated. In the case a patient is recording an immunization, a practitioner has to validate the immunization entry.
Recorder == Patient means not validated
Recorder == PractitionerRole means validated

This can be done by changing the recorder of the immunization. This will be done by an Immunization Administration document which will replace the existing entry using the Extension ch-core-ext-entry-resource-cross-references.

Duplicate Conflict

By aggregation of different Immunization Administration documents, dupplicates could be detected. If so, the entries in the Vaccination Record document (as result of the aggregation) should be completed with the extension CH VACD Extension Merging Conflict Entry Reference. The criterias of duplicate detection can be found here.

Usage:

Formal Views of Profile Content

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

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorder S0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict 0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... identifier 1..*IdentifierImmunization item ID
... status S1..1codecompleted | entered-in-error | not-done
... vaccineCode S1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines 0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines 0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization 0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
... patient 1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] 1..1dateTime, stringVaccine administration date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S0..1dateTimeVaccine administration date
... lotNumber S0..1stringVaccine lot number
... site S0..1CodeableConceptBody site vaccine was administered
... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... performer
.... actor S1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... reasonCode S0..*CodeableConceptWhy immunization occurred
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.

.... Slices for doseNumber[x] 1..1positiveInt, stringDose number within series
Slice: Unordered, Open by type:$this
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... medication S0..1Reference(CH VACD Medication For Immunization)Extension to reference immunization medication resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-immunization-medication-reference
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict S0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..*IdentifierImmunization item ID
... status ?!SΣ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... vaccineCode SΣ1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines Σ0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines Σ0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization Σ0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
... patient Σ1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime SΣ0..1dateTimeVaccine administration date
... lotNumber S0..1stringVaccine lot number
... site S0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... performer Σ0..*BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor SΣ1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... reasonCode S0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... isSubpotent ?!Σ0..1booleanDose potency
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.


.... Slices for doseNumber[x] 1..1Dose number within series
Slice: Unordered, Open by type:$this
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorder S0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... medication S0..1Reference(CH VACD Medication For Immunization)Extension to reference immunization medication resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-immunization-medication-reference
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict S0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..*IdentifierImmunization item ID
... status ?!SΣ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... statusReason 0..1CodeableConceptReason not done
Binding: ImmunizationStatusReasonCodes (example): The reason why a vaccine was not administered.

... vaccineCode SΣ1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines Σ0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines Σ0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization Σ0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
.... text Σ0..1stringPlain text representation of the concept
... patient Σ1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime SΣ0..1dateTimeVaccine administration date
... recorded 0..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource Σ0..1booleanIndicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source.

... location 0..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber S0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site S0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptWhat type of performance was done
Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event.

.... actor SΣ1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... note Σ0..*AnnotationAdditional immunization notes
... reasonCode S0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... education C0..*BackboneElementEducational material presented to patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.


... fundingSource 0..1CodeableConceptFunding source for the vaccine
Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.

... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.


.... Slices for doseNumber[x] 1..1Dose number within series
Slice: Unordered, Open by type:$this
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredImmunizationStatusCodes
Immunization.statusReasonexampleImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.reportOriginexampleImmunizationOriginCodes
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.performer.functionextensibleImmunizationFunctionCodes
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.programEligibilityexampleImmunizationProgramEligibility
Immunization.fundingSourceexampleImmunizationFundingSource
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
imm-1errorImmunization.educationOne of documentType or reference SHALL be present
: documentType.exists() or reference.exists()

This structure is derived from Immunization

Summary

Mandatory: 3 elements
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Immunization.vaccineCode.coding is sliced based on the value of pattern:$this
  • The element Immunization.occurrence[x] is sliced based on the value of type:$this
  • The element Immunization.protocolApplied.doseNumber[x] is sliced based on the value of type:$this

Differential View

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorder S0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict 0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... identifier 1..*IdentifierImmunization item ID
... status S1..1codecompleted | entered-in-error | not-done
... vaccineCode S1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... Slices for coding 0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines 0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines 0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization 0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
... patient 1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] 1..1dateTime, stringVaccine administration date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime S0..1dateTimeVaccine administration date
... lotNumber S0..1stringVaccine lot number
... site S0..1CodeableConceptBody site vaccine was administered
... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... performer
.... actor S1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... reasonCode S0..*CodeableConceptWhy immunization occurred
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.

.... Slices for doseNumber[x] 1..1positiveInt, stringDose number within series
Slice: Unordered, Open by type:$this
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... medication S0..1Reference(CH VACD Medication For Immunization)Extension to reference immunization medication resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-immunization-medication-reference
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict S0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..*IdentifierImmunization item ID
... status ?!SΣ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... vaccineCode SΣ1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines Σ0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines Σ0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization Σ0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
... patient Σ1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime SΣ0..1dateTimeVaccine administration date
... lotNumber S0..1stringVaccine lot number
... site S0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... performer Σ0..*BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor SΣ1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... reasonCode S0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... isSubpotent ?!Σ0..1booleanDose potency
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.


.... Slices for doseNumber[x] 1..1Dose number within series
Slice: Unordered, Open by type:$this
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationCH VACD Immunization
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..1ResourceImmunization inline resource
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... recorder S0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... medication S0..1Reference(CH VACD Medication For Immunization)Extension to reference immunization medication resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-immunization-medication-reference
... relatesTo 0..1(Complex)Entry Resource Cross References
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references
... conflict S0..*(Complex)Reference to related resource
URL: http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-ext-merging-conflict-entry-reference
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..*IdentifierImmunization item ID
... status ?!SΣ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... statusReason 0..1CodeableConceptReason not done
Binding: ImmunizationStatusReasonCodes (example): The reason why a vaccine was not administered.

... vaccineCode SΣ1..1CodeableConceptVaccine product administered
Binding: Swissmedic code for vaccine code (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:swissVaccines Σ0..1CodingSwiss Vaccine Code
Binding: Swissmedic code for vaccine code (required)
..... coding:snomedctVaccines Σ0..1CodingVaccine Code by SNOMED CT
Binding: Snomed CT for vaccine code (required)
..... coding:absentOrUnknownImmunization Σ0..1CodingAbsent Unknown Immunization
Binding: Absent or Unknown Immunization - IPS (required)
.... text Σ0..1stringPlain text representation of the concept
... patient Σ1..1Reference(CH Core Patient)Patient
... encounter 0..1Reference(CH Core Encounter)Encounter
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime SΣ0..1dateTimeVaccine administration date
... recorded 0..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource Σ0..1booleanIndicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source.

... location 0..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber S0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site S0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route S0..1CodeableConceptHow vaccine entered body.
Binding: Route of Administration for Immunization (extensible)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptWhat type of performance was done
Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event.

.... actor SΣ1..1Reference(CH Core PractitionerRole)The performer who applied the vaccine
... note Σ0..*AnnotationAdditional immunization notes
... reasonCode S0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... education C0..*BackboneElementEducational material presented to patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.


... fundingSource 0..1CodeableConceptFunding source for the vaccine
Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.

... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 1..*BackboneElementProtocol followed by the provider
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease S1..*CodeableConceptVaccine preventatable disease being targetted
Binding: Target disease and illnesses undergone for immunization (extensible): The code for disease.


.... Slices for doseNumber[x] 1..1Dose number within series
Slice: Unordered, Open by type:$this
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
..... doseNumber[x]:doseNumberPositiveInt S0..1positiveIntDose number within series
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredImmunizationStatusCodes
Immunization.statusReasonexampleImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleSwissVaccines
Immunization.vaccineCode.coding:swissVaccinesrequiredSwissVaccines
Immunization.vaccineCode.coding:snomedctVaccinesrequiredSnomedCTForVaccineCode
Immunization.vaccineCode.coding:absentOrUnknownImmunizationrequiredNoImmunizationInfoUvIps
Immunization.reportOriginexampleImmunizationOriginCodes
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeextensibleRouteOfAdministrationImmunization
Immunization.performer.functionextensibleImmunizationFunctionCodes
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.programEligibilityexampleImmunizationProgramEligibility
Immunization.fundingSourceexampleImmunizationFundingSource
Immunization.protocolApplied.targetDiseaseextensibleTargetDiseasesAndIllnessesUndergoneForImmunization

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
imm-1errorImmunization.educationOne of documentType or reference SHALL be present
: documentType.exists() or reference.exists()

This structure is derived from Immunization

Summary

Mandatory: 3 elements
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Immunization.vaccineCode.coding is sliced based on the value of pattern:$this
  • The element Immunization.occurrence[x] is sliced based on the value of type:$this
  • The element Immunization.protocolApplied.doseNumber[x] is sliced based on the value of type:$this

 

Other representations of profile: CSV, Excel, Schematron