STU 2 Ballot

This page is part of the Data Access Framework (v1.6.0: STU 2 Ballot 1) based on FHIR v1.6.0. . For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: DAF-core-immunization

his profile sets minimum expectations for the Immunization resource to record, fetch and search immunization history associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the DAF-Core Immunization profile:

  • Query for immunizations belonging to a Patient
  • Query for all patients who have had a specific vaccine administered
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and an example are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Immunization must have:

  1. a status
  2. a date the vaccine was administered
  3. a vaccine code that identifies the kind of vaccine administered
  4. a patient
  5. a flag to indicate whether vaccine was given
  6. a flag to indicate whether the vaccine was reported by patient rather than directly administered.

Profile specific implementation guidance:

Example: Immunization Example: example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-immunization

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

This structure is derived from Immunization

Complete Summary of the Mandatory Requirements

  1. One status in Immunization.status which has an required binding to:
  2. One dateTime in Immunization.date
  3. One vaccine code in Immunization.vaccineCode which has:
    • a required binding to the CVX value set
    • SHOULD have a translation to the to the NDC value set
  4. One patient in Immunization.patient
  5. One boolean value in Immunization.wasNotGiven
  6. One boolean value in Immunization.reported
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*Immunization event information
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
imm-2: If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
imm-1: If immunization was not administered (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present
... 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: Common Languages (extensible)
... text I0..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
... identifier 0..*IdentifierBusiness identifier
... status ?!S1..1codein-progress | on-hold | completed | entered-in-error | stopped
Binding: Immunization Status (required)
... date S1..1dateTimeVaccination administration date
... vaccineCode S1..1CodeableConceptVaccine product administered
Binding: Vaccine Administered Value Set (example)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by code
.... coding S0..*CodingCode defined by a terminology system
.... coding S1..1CodingCode defined by a terminology system
Binding: Vaccine Administered Value Set (CVX) (required)
.... coding S0..1CodingCode defined by a terminology system
Binding: Vaccine National Drug Code (NDC) (required)
.... text 0..1stringPlain text representation of the concept
... patient S1..1Reference(Profile daf-core-patient)Who was immunized
... wasNotGiven ?!S1..1booleanFlag for whether immunization was given
... reported S1..1booleanIndicates a self-reported record
... performer 0..1Reference(Practitioner)Who administered vaccine
... requester 0..1Reference(Practitioner)Who ordered vaccination
... encounter 0..1Reference(Encounter)Encounter administered as part of
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... location 0..1Reference(Location)Where vaccination occurred
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: Codes for Immunization Site of Administration (example)
... route 0..1CodeableConceptHow vaccine entered body
Binding: Immunization Route Codes (example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... note 0..*AnnotationVaccination notes
... explanation 0..1BackboneElementAdministration/non-administration reasons
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... reason 0..*CodeableConceptWhy immunization occurred
Binding: Immunization Reason Codes (example)
.... reasonNotGiven 0..*CodeableConceptWhy immunization did not occur
Binding: Immunization Reasons for Not Immunizing Codes (example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... vaccinationProtocol 0..*BackboneElementWhat protocol was followed
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... doseSequence 0..1positiveIntDose number within series
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Binding: Vaccination Protocol Dose Target Codes (example)
.... doseStatus 1..1CodeableConceptIndicates if dose counts towards immunity
Binding: Vaccination Protocol Dose Status codes (example)
.... doseStatusReason 0..1CodeableConceptWhy dose does (not) count
Binding: Vaccination Protocol Dose Status Reason codes (example)

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

This structure is derived from Immunization

Summary

Mandatory: 7 elements
Must-Support: 9 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Immunization.vaccineCode.coding is sliced based on the value of code

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*Immunization event information
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
imm-2: If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
imm-1: If immunization was not administered (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present
... 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: Common Languages (extensible)
... text I0..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
... identifier 0..*IdentifierBusiness identifier
... status ?!S1..1codein-progress | on-hold | completed | entered-in-error | stopped
Binding: Immunization Status (required)
... date S1..1dateTimeVaccination administration date
... vaccineCode S1..1CodeableConceptVaccine product administered
Binding: Vaccine Administered Value Set (example)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by code
.... coding S0..*CodingCode defined by a terminology system
.... coding S1..1CodingCode defined by a terminology system
Binding: Vaccine Administered Value Set (CVX) (required)
.... coding S0..1CodingCode defined by a terminology system
Binding: Vaccine National Drug Code (NDC) (required)
.... text 0..1stringPlain text representation of the concept
... patient S1..1Reference(Profile daf-core-patient)Who was immunized
... wasNotGiven ?!S1..1booleanFlag for whether immunization was given
... reported S1..1booleanIndicates a self-reported record
... performer 0..1Reference(Practitioner)Who administered vaccine
... requester 0..1Reference(Practitioner)Who ordered vaccination
... encounter 0..1Reference(Encounter)Encounter administered as part of
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... location 0..1Reference(Location)Where vaccination occurred
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: Codes for Immunization Site of Administration (example)
... route 0..1CodeableConceptHow vaccine entered body
Binding: Immunization Route Codes (example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... note 0..*AnnotationVaccination notes
... explanation 0..1BackboneElementAdministration/non-administration reasons
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... reason 0..*CodeableConceptWhy immunization occurred
Binding: Immunization Reason Codes (example)
.... reasonNotGiven 0..*CodeableConceptWhy immunization did not occur
Binding: Immunization Reasons for Not Immunizing Codes (example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... vaccinationProtocol 0..*BackboneElementWhat protocol was followed
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... doseSequence 0..1positiveIntDose number within series
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Binding: Vaccination Protocol Dose Target Codes (example)
.... doseStatus 1..1CodeableConceptIndicates if dose counts towards immunity
Binding: Vaccination Protocol Dose Status codes (example)
.... doseStatusReason 0..1CodeableConceptWhy dose does (not) count
Binding: Vaccination Protocol Dose Status Reason codes (example)

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Immunization.languageCommon LanguagesextensibleCommon Languages
Immunization.statusImmunization StatusrequiredImmunization Status
Immunization.vaccineCodeVaccine Administered Value SetexampleVaccine Administered Value Set
Immunization.vaccineCode.codingVaccine National Drug Code (NDC)requiredVaccine National Drug Code (NDC)
Immunization.vaccineCode.codingVaccine National Drug Code (NDC)requiredVaccine National Drug Code (NDC)
Immunization.siteCodes for Immunization Site of AdministrationexampleCodes for Immunization Site of Administration
Immunization.routeImmunization Route CodesexampleImmunization Route Codes
Immunization.explanation.reasonImmunization Reason CodesexampleImmunization Reason Codes
Immunization.explanation.reasonNotGivenImmunization Reasons for Not Immunizing CodesexampleImmunization Reasons for Not Immunizing Codes
Immunization.vaccinationProtocol.targetDiseaseVaccination Protocol Dose Target CodesexampleVaccination Protocol Dose Target Codes
Immunization.vaccinationProtocol.doseStatusVaccination Protocol Dose Status codesexampleVaccination Protocol Dose Status codes
Immunization.vaccinationProtocol.doseStatusReasonVaccination Protocol Dose Status Reason codesexampleVaccination Protocol Dose Status Reason codes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1ImmunizationIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4ImmunizationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3ImmunizationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
imm-2ImmunizationIf immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
XPath: not(f:wasNotGiven/@value=false() and exists(f:explanation/f:reasonNotGiven))
imm-1ImmunizationIf immunization was not administered (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present
XPath: not(f:wasNotGiven/@value=true() and (count(f:reaction) > 0 or exists(f:explanation/f:reason)))
.