OpenMRS Core FHIR Implementation Guide
0.1.0 - ci-build

OpenMRS Core FHIR Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: OpenMRS Immunization

Official URL: http://fhir.openmrs.org/core/StructureDefinition/omrs-immunization Version: 0.1.0
Active as of 2023-06-23 Computable Name: OMRSImmunization

A FHIR Immunization Resource as understood by OpenMRS

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..*ImmunizationImmunization event information
... id 1..1idLogical id of this artifact
... identifier 0..0
... status 1..1codecompleted | entered-in-error | not-done
... statusReason 0..0
... vaccineCode 1..1CodeableConceptVaccine product administered
... patient 1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] 1..1dateTime, stringVaccine administration date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime 0..1dateTimeVaccine administration date
... recorded 0..0
... primarySource 0..0
... reportOrigin 0..0
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..0
... route 0..0
... doseQuantity 0..0
... performer
.... function 0..0
.... actor 1..1Reference(Openmrs Practitioner)Individual or organization who was performing
... note 0..0
... reasonCode 0..0
... reasonReference 0..0
... isSubpotent 0..0
... education 0..0
... programEligibility 0..0
... fundingSource 0..0
... reaction 0..0
... protocolApplied 0..1BackboneElementProtocol followed by the provider
.... doseNumber[x] 1..1positiveInt, stringDose number within series
.... seriesDoses[x] 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationImmunization event information
... id Σ1..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... vaccineCode Σ1..1CodeableConceptVaccine product administered
Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered.

... patient Σ1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime Σ0..1dateTimeVaccine administration date
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... protocolApplied 0..1BackboneElementProtocol followed by the provider
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeexampleVaccineAdministeredValueSet

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..*ImmunizationImmunization event information
... id Σ1..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... vaccineCode Σ1..1CodeableConceptVaccine product administered
Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered.

... patient Σ1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime Σ0..1dateTimeVaccine administration date
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... 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
.... actor Σ1..1Reference(Openmrs Practitioner)Individual or organization who was performing
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... protocolApplied 0..1BackboneElementProtocol 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 0..*CodeableConceptVaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.


.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeexampleVaccineAdministeredValueSet
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from Immunization

Summary

Mandatory: 1 element
Prohibited: 18 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationImmunization event information
... id 1..1idLogical id of this artifact
... identifier 0..0
... status 1..1codecompleted | entered-in-error | not-done
... statusReason 0..0
... vaccineCode 1..1CodeableConceptVaccine product administered
... patient 1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] 1..1dateTime, stringVaccine administration date
Slice: Unordered, Open by type:$this
.... occurrence[x]:occurrenceDateTime 0..1dateTimeVaccine administration date
... recorded 0..0
... primarySource 0..0
... reportOrigin 0..0
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..0
... route 0..0
... doseQuantity 0..0
... performer
.... function 0..0
.... actor 1..1Reference(Openmrs Practitioner)Individual or organization who was performing
... note 0..0
... reasonCode 0..0
... reasonReference 0..0
... isSubpotent 0..0
... education 0..0
... programEligibility 0..0
... fundingSource 0..0
... reaction 0..0
... protocolApplied 0..1BackboneElementProtocol followed by the provider
.... doseNumber[x] 1..1positiveInt, stringDose number within series
.... seriesDoses[x] 0..0

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*ImmunizationImmunization event information
... id Σ1..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... vaccineCode Σ1..1CodeableConceptVaccine product administered
Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered.

... patient Σ1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime Σ0..1dateTimeVaccine administration date
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... protocolApplied 0..1BackboneElementProtocol followed by the provider
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeexampleVaccineAdministeredValueSet

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..*ImmunizationImmunization event information
... id Σ1..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codecompleted | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.

... vaccineCode Σ1..1CodeableConceptVaccine product administered
Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered.

... patient Σ1..1Reference(OpenMRS Patient)Who was immunized
... encounter 0..1Reference(Openmrs Encounter)Encounter immunization was part of
... Slices for occurrence[x] Σ1..1Vaccine administration date
Slice: Unordered, Open by type:$this
.... occurrenceDateTimedateTime
.... occurrenceStringstring
.... occurrence[x]:occurrenceDateTime Σ0..1dateTimeVaccine administration date
... location 0..1Reference(OpenMRS Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... 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
.... actor Σ1..1Reference(Openmrs Practitioner)Individual or organization who was performing
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... protocolApplied 0..1BackboneElementProtocol 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 0..*CodeableConceptVaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.


.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredImmunizationStatusCodes
Immunization.vaccineCodeexampleVaccineAdministeredValueSet
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from Immunization

Summary

Mandatory: 1 element
Prohibited: 18 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron