SMART Health Cards: Vaccination & Testing Implementation Guide
0.5.0-rc - ci-build

SMART Health Cards: Vaccination & Testing Implementation Guide, published by vci.org. This is not an authorized publication; it is the continuous build for version 0.5.0-rc). This version is based on the current content of https://github.com/dvci/vaccine-credential-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Vaccine Reaction Observation Profile - Data Minimization

Defining URL:http://hl7.org/fhir/uv/smarthealthcards-vaccination/StructureDefinition/vaccination-credential-vaccine-reaction-observation-dm
Version:0.5.0-rc
Name:VaccinationCredentialVaccineReactionObservationDM
Title:Vaccine Reaction Observation Profile - Data Minimization
Status:Active as of 2021-05-15T19:35:22+00:00
Definition:

Profile for reporting a reaction to a vaccine. Only elements necessary for Verifiers can be populated.

Publisher:vci.org
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/uv/smarthealthcards-vaccination/StructureDefinition/vaccination-credential-vaccine-reaction-observation-dm

Formal Views of Profile Content

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

This structure is derived from VaccinationCredentialVaccineReactionObservation

Summary

Prohibited: 26 elements

This structure is derived from VaccinationCredentialVaccineReactionObservation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*VaccinationCredentialVaccineReactionObservationMeasurements and simple assertions
... id 0..0
... meta 0..0
... implicitRules 0..0
... text 0..0
... contained 0..0
... extension 0..0
... modifierExtension 0..0
... basedOn 0..0
... partOf 0..0
... category
.... id 0..0
.... extension 0..0
.... text 0..0
... issued 0..0
... performer 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*VaccinationCredentialVaccineReactionObservationMeasurements and simple assertions
... identifier Σ0..*IdentifierBusiness Identifier for observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... extension 0..0
.... coding Σ0..*CodingCode defined by a terminology system
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 293104008
..... display1..1stringRepresentation defined by the system
Fixed Value: Vaccines adverse reaction (disorder)
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(Patient Profile - Allowable Data)Patient with reaction to vaccine
... focus SΣ1..*Reference(Immunization Profile - Allowable Data)Immunization causing the reaction
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] Σ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... value[x] ΣI1..1(Slice Definition)Actual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept SΣI1..1CodeableConceptActual result
Binding: Vaccination Contraindication (IIS) (extensible)

doco Documentation for this format

This structure is derived from VaccinationCredentialVaccineReactionObservation

Summary

Prohibited: 26 elements

Differential View

This structure is derived from VaccinationCredentialVaccineReactionObservation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*VaccinationCredentialVaccineReactionObservationMeasurements and simple assertions
... id 0..0
... meta 0..0
... implicitRules 0..0
... text 0..0
... contained 0..0
... extension 0..0
... modifierExtension 0..0
... basedOn 0..0
... partOf 0..0
... category
.... id 0..0
.... extension 0..0
.... text 0..0
... issued 0..0
... performer 0..0
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..0
... bodySite 0..0
... method 0..0
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom 0..0
... component 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*VaccinationCredentialVaccineReactionObservationMeasurements and simple assertions
... identifier Σ0..*IdentifierBusiness Identifier for observation
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..*CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... extension 0..0
.... coding Σ0..*CodingCode defined by a terminology system
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 293104008
..... display1..1stringRepresentation defined by the system
Fixed Value: Vaccines adverse reaction (disorder)
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... subject SΣ1..1Reference(Patient Profile - Allowable Data)Patient with reaction to vaccine
... focus SΣ1..*Reference(Immunization Profile - Allowable Data)Immunization causing the reaction
... encounter Σ0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] Σ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... value[x] ΣI1..1(Slice Definition)Actual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueCodeableConcept SΣI1..1CodeableConceptActual result
Binding: Vaccination Contraindication (IIS) (extensible)

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet / Code
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.codeexamplePattern: SNOMED CT code 293104008("Vaccines adverse reaction (disorder)")
Observation.value[x]:valueCodeableConceptextensiblePHVS_VaccinationContraindication_IIS
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ObservationIf 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-4ObservationIf 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-5ObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ObservationA resource should have narrative for robust management
: text.`div`.exists()
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7ObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
ele-1Observation.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.category.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Observation.referenceRange.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Observation.referenceRange.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Observation.referenceRange.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Observation.referenceRange.lowAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.highAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.appliesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.ageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.referenceRange.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.component.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Observation.component.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Observation.component.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Observation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Observation.component.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.component.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.component.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.component.interpretationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Observation.component.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())