Argonaut Data Query Implementation Guide Version 1.0.0

This page is part of the Argonaut Data Query Implementation Guide (v1.0.0: Release) based on FHIR R2. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-argo-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 Argonaut Immunization profile:

  • Query for immunizations belonging to a Patient
  • Record immunizations belonging to a Patient
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 examples 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:

Examples

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/argonaut/StructureDefinition/argo-immunization

This profile builds on Immunization.

This profile was published on Tue Oct 18 00:00:00 AEDT 2016 as a draft by Argonaut Project.

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

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:
  4. One patient in Immunization.patient
  5. One boolean value in Immunization.wasNotGiven
  6. One boolean value in Immunization.reported
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*Argonaut Immunization Profile
... status S1..1codeBinding: Argonaut Immunization Status (required)
... date S1..1dateTime
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (extensible)
arg-1: SHOULD have a translation to the to the NDC value set
... patient S1..1Reference(Argonaut Patient Profile)
... wasNotGiven S1..1boolean
... reported S1..1boolean

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*Argonaut Immunization Profile
imm-2: If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
imm-1: If immunization was not administred (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: IETF BCP-47 (required)
... 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: Argonaut Immunization Status (required)
... date S1..1dateTimeVaccination administration date
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (extensible)
arg-1: SHOULD have a translation to the to the NDC value set
... patient S1..1Reference(Argonaut Patient Profile)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..1idxml: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..1idxml: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..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... doseSequence 1..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

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:
  4. One patient in Immunization.patient
  5. One boolean value in Immunization.wasNotGiven
  6. One boolean value in Immunization.reported

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*Argonaut Immunization Profile
... status S1..1codeBinding: Argonaut Immunization Status (required)
... date S1..1dateTime
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (extensible)
arg-1: SHOULD have a translation to the to the NDC value set
... patient S1..1Reference(Argonaut Patient Profile)
... wasNotGiven S1..1boolean
... reported S1..1boolean

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*Argonaut Immunization Profile
imm-2: If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
imm-1: If immunization was not administred (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: IETF BCP-47 (required)
... 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: Argonaut Immunization Status (required)
... date S1..1dateTimeVaccination administration date
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (extensible)
arg-1: SHOULD have a translation to the to the NDC value set
... patient S1..1Reference(Argonaut Patient Profile)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..1idxml: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..1idxml: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..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... doseSequence 1..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

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

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the Argonaut Data Query implementation guide server for a complete list of supported RESTful operations and search parameters for this IG.


GET /Immunization?patient=[id] Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Immunization?patient=1032702

Support: Mandatory to support search by patient.

Implementation Notes: Search for all Immunization resources for a patient. Fetches a bundle of all Immunization resources for the specified patient (how to search by reference).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope