Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: AllergyIntolerance Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance Version: 1.1.0
Draft as of 2024-11-24 Computable Name: AllergyIntoleranceProfile

Proposed constraints and extensions on the AllergyIntolerance Resource

CA Baseline AllergyIntolerance Profile

This profile sets minimum expectations for the AllergyIntolerance resource to record, search and fetch allergies/adverse reactions associated with a patient. It documents the relevant allergies or intolerances (conditions) for a patient, describing the kind of reaction, agent(s) that cause it, criticality and the certainty of the allergy/adverse reaction.

This profile defines localization concepts for use in the Canadian context.

Mandatory Data Elements

All elements or attributes within the FHIR specification have cardinality as part of their definition - a minimum number of required appearances and a maximum number of allowable appearances.

Most elements in the FHIR specification have a minimum cardinality of 0, so most elements are not required and subsequently they may be missing from a resource when it is exchanged between systems.

Required elements in the AllergyIntolerance profile:

  • subject who has the allergy or intolerance (AllergyIntolerance.patient)

Must Support Data Elements

Some elements are marked as Must Support. This means that implementations generating, receiving, or otherwise using resources with Must Support elements SHALL provide support for those elements in some meaningful way (see Must Support definition).

The following elements are marked as Must Support in the AllergyIntolerance profile:

Must Support elements:

  • code of the allergy or intolerance (AllergyIntolerance.code)
  • reference to a subject (AllergyIntolerance.patient)
  • manifestation of clinical symptoms (AllergyIntolerance.reaction.manifestation)

Usage Note

The AllergyIntolerance resource instance use could be clinical decision support applications to generate/display warnings about potentially harmful medications; any intolerance to other agents (e.g. intolerance to soaps, dressings, latex, etc.) more relevant for at the bedside care.

This profile utilizes and recommends some value sets that exist on the Infoway Terminology Gateway and can be assessed by API. Implementors using and/or re-profiling from this profile should be aware that the IGPublisher can not directly resolve the canonical url to value sets that exist on the Infoway Terminology Gateway due to technical limitations and will produce warnings in the qa.txt file when this occurs. These particular warnings have been suppressed in this specification and will need to be suppressed by other IGuide authors looking to leverage this particular service until the limitations are resolved.

Profile specific implementation guidance

History of Allergy or Intolerance

If the patient has been asked and has indicated a history of allergy or intolerance then this information is represented by:

  • AllergyIntolerance.code - an appropriate SNOMED CT code
  • AllergyIntolerance.verificationStatus element SHALL be one of the following: confirmed refuted entered-in-error

If a patient asserts a history of allergy or intolerance then the following elements SHOULD be populated:

  • AllergyIntolerance.criticality
  • AllergyIntolerance.severity
  • AllergyIntolerance.type

No Allergy

If a patient has been asked and has indicated no history of allergies or intolerance then this is represented by:

  • AllergyIntolerance.code = "716186003" No known allergy (situation) SNOMED CT code
  • AllergyIntolerance.verificationStatus element SHALL be one of the following: confirmed refuted entered-in-error

Not Asked

If the patient has NOT been asked or it is NOT possible to obtain information about any history of allergy or intolerance then this situation is represented with NullFlavor codes:

  • AllergyIntolerance.code - NullFalvor code, e.g., "NASK" (Not asked).

If NullFlavor is used then the following elements SHOULD NOT be populated:

  • AllergyIntolerance.clinicalStatus
  • AllergyIntolerance.verificationStatus
  • AllergyIntolerance.type
  • AllergyIntolerance.category
  • AllergyIntolerance.criticality

and other allergy related elements.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from AllergyIntolerance

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... identifier 0..* Identifier External ids for this item
... clinicalStatus ?! 0..1 CodeableConcept active | inactive | resolved
... verificationStatus ?! 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
... code S 0..1 CodeableConcept Code that identifies the allergy or intolerance
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.

...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... code 1..1 code Symbol in syntax defined by the system
..... coding:NoAllergy 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
..... coding:@default 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.

... patient S 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onsetDateTime Content/Rules for all slices
.... onsetDateTime:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... reaction
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
..... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

....... system 1..1 uri Identity of the terminology system
....... code 1..1 code Symbol in syntax defined by the system
...... coding:CCDD 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

....... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... code 1..1 code Symbol in syntax defined by the system
...... coding:@default 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.


doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()
NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
ait-2: AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External ids for this item
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required): Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

... category Σ 0..* code food | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required): Category of an identified substance associated with allergies or intolerances.


... code SΣ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked Σ 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:NoAllergy Σ 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
..... coding:@default Σ 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.


... patient SΣ 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onset[x] 0..1 When allergy or intolerance was identified
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... reaction 0..* BackboneElement Adverse Reaction Events linked to exposure to substance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

..... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen Σ 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.


....... system Σ 1..1 uri Identity of the terminology system
....... code Σ 1..1 code Symbol in syntax defined by the system
...... coding:CCDD Σ 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.


....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... code Σ 1..1 code Symbol in syntax defined by the system
...... coding:@default Σ 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).


.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example): Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.


.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1
from the FHIR Standard
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1
from the FHIR Standard
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
from the FHIR Standard
AllergyIntolerance.codeexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substanceexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.manifestationexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ait-1errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').exists() or clinicalStatus.exists()
ait-2errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').empty() or clinicalStatus.empty()
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()
dom-2errorAllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAllergyIntoleranceIf 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-4errorAllergyIntoleranceIf 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-5errorAllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAllergyIntoleranceA 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
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
ait-2: AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External ids for this item
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required): The clinical status of the allergy or intolerance.

... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required): Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

... type Σ 0..1 code allergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required): Identification of the underlying physiological mechanism for a Reaction Risk.

... category Σ 0..* code food | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required): Category of an identified substance associated with allergies or intolerances.


... criticality Σ 0..1 code low | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required): Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.

... code SΣ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked Σ 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.


...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:NoAllergy Σ 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:@default Σ 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.


.... text Σ 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onset[x] 0..1 When allergy or intolerance was identified
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recordedDate 0..1 dateTime Date first version of the resource instance was recorded
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... lastOccurrence 0..1 dateTime Date(/time) of last known occurrence of a reaction
... note 0..* Annotation Additional text not captured in other fields
... reaction 0..* BackboneElement Adverse Reaction Events linked to exposure to substance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen Σ 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.


....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:CCDD Σ 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.


....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:@default Σ 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).


..... text Σ 0..1 string Plain text representation of the concept
.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example): Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.


.... description 0..1 string Description of the event as a whole
.... onset 0..1 dateTime Date(/time) when manifestations showed
.... severity 0..1 code mild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required): Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.

.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... note 0..* Annotation Text about event not captured in other fields

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
AllergyIntolerance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1
from the FHIR Standard
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1
from the FHIR Standard
AllergyIntolerance.typerequiredAllergyIntoleranceType
http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.1
from the FHIR Standard
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
from the FHIR Standard
AllergyIntolerance.criticalityrequiredAllergyIntoleranceCriticality
http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality|4.0.1
from the FHIR Standard
AllergyIntolerance.codeexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substanceexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.manifestationexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
AllergyIntolerance.reaction.severityrequiredAllergyIntoleranceSeverity
http://hl7.org/fhir/ValueSet/reaction-event-severity|4.0.1
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ait-1errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').exists() or clinicalStatus.exists()
ait-2errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').empty() or clinicalStatus.empty()
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()
dom-2errorAllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAllergyIntoleranceIf 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-4errorAllergyIntoleranceIf 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-5errorAllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAllergyIntoleranceA 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()

This structure is derived from AllergyIntolerance

Summary

Mandatory: 0 element(8 nested mandatory elements)
Must-Support: 3 elements
Fixed: 4 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of AllergyIntolerance.code.coding (Closed)
  • The element 1 is sliced based on the value of AllergyIntolerance.reaction.substance.coding (Closed)

Differential View

This structure is derived from AllergyIntolerance

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... identifier 0..* Identifier External ids for this item
... clinicalStatus ?! 0..1 CodeableConcept active | inactive | resolved
... verificationStatus ?! 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
... code S 0..1 CodeableConcept Code that identifies the allergy or intolerance
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.

...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... code 1..1 code Symbol in syntax defined by the system
..... coding:NoAllergy 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
..... coding:@default 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.

... patient S 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onsetDateTime Content/Rules for all slices
.... onsetDateTime:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... reaction
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
..... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

....... system 1..1 uri Identity of the terminology system
....... code 1..1 code Symbol in syntax defined by the system
...... coding:CCDD 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

....... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... code 1..1 code Symbol in syntax defined by the system
...... coding:@default 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.


doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
ait-2: AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External ids for this item
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required): Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

... category Σ 0..* code food | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required): Category of an identified substance associated with allergies or intolerances.


... code SΣ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked Σ 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... code Σ 1..1 code Symbol in syntax defined by the system
..... coding:NoAllergy Σ 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
..... coding:@default Σ 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.


... patient SΣ 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onset[x] 0..1 When allergy or intolerance was identified
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... reaction 0..* BackboneElement Adverse Reaction Events linked to exposure to substance
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

..... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen Σ 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.


....... system Σ 1..1 uri Identity of the terminology system
....... code Σ 1..1 code Symbol in syntax defined by the system
...... coding:CCDD Σ 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.


....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... code Σ 1..1 code Symbol in syntax defined by the system
...... coding:@default Σ 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).


.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example): Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.


.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1
from the FHIR Standard
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1
from the FHIR Standard
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
from the FHIR Standard
AllergyIntolerance.codeexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substanceexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.manifestationexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ait-1errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').exists() or clinicalStatus.exists()
ait-2errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').empty() or clinicalStatus.empty()
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()
dom-2errorAllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAllergyIntoleranceIf 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-4errorAllergyIntoleranceIf 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-5errorAllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAllergyIntoleranceA 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
.. AllergyIntolerance C 0..* AllergyIntolerance AllergyIntolerance Profile
ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
ait-2: AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
ca-baseline-allergy: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
ca-baseline-allergy-notasked: if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
ca-baseline-allergy-noallergy: if AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External ids for this item
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required): The clinical status of the allergy or intolerance.

... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required): Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

... type Σ 0..1 code allergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required): Identification of the underlying physiological mechanism for a Reaction Risk.

... category Σ 0..* code food | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required): Category of an identified substance associated with allergies or intolerances.


... criticality Σ 0..1 code low | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required): Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.

... code SΣ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
..... coding:NotAsked Σ 0..1 Coding Code for NOT asked or NOT possible to obtain information about allergy or intolerance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor (preferred): Negation/exclusion codes for reporting no known allergies or not available data.


...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/fhir/v3/NullFlavor
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:NoAllergy Σ 0..1 Coding Code when a patient has been asked and has indicated no history of allergies or intolerance
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 716186003
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... coding:@default Σ 0..1 Coding Code defined by a terminology system
Binding: AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes (example): Type of the substance/product, allergy or intolerance condition.


.... text Σ 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(Patient Profile) Who the sensitivity is for
... encounter 0..1 Reference(Encounter Profile) Encounter when the allergy or intolerance was asserted
... Slices for onset[x] 0..1 When allergy or intolerance was identified
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime 0..1 dateTime When allergy or intolerance was identified
... recordedDate 0..1 dateTime Date first version of the resource instance was recorded
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General)) Source of the information about the allergy
... lastOccurrence 0..1 dateTime Date(/time) of last known occurrence of a reaction
... note 0..* Annotation Additional text not captured in other fields
... reaction 0..* BackboneElement Adverse Reaction Events linked to exposure to substance
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).

..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Closed by value:system
...... coding:NonDrugAllergen Σ 0..* Coding Code for the specific non-drug allergen
Binding: https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode (preferred): Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.


....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:CCDD Σ 0..* Coding Medicinal products for prescribing
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.


....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
....... version Σ 0..1 string Version of the system - if relevant
....... code Σ 1..1 code Symbol in syntax defined by the system
....... display Σ 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... coding:@default Σ 0..* Coding Specific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example): Codes defining the type of the substance (including pharmaceutical products).


..... text Σ 0..1 string Plain text representation of the concept
.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example): Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.


.... description 0..1 string Description of the event as a whole
.... onset 0..1 dateTime Date(/time) when manifestations showed
.... severity 0..1 code mild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required): Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.

.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration (preferred): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... note 0..* Annotation Text about event not captured in other fields

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
AllergyIntolerance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1
from the FHIR Standard
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1
from the FHIR Standard
AllergyIntolerance.typerequiredAllergyIntoleranceType
http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.1
from the FHIR Standard
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
from the FHIR Standard
AllergyIntolerance.criticalityrequiredAllergyIntoleranceCriticality
http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality|4.0.1
from the FHIR Standard
AllergyIntolerance.codeexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.code.coding:NotAskedpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
AllergyIntolerance.code.coding:@defaultexampleAllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-code
from the FHIR Standard
AllergyIntolerance.reaction.substanceexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.substance.coding:NonDrugAllergenpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
AllergyIntolerance.reaction.substance.coding:CCDDpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
AllergyIntolerance.reaction.substance.coding:@defaultexampleSubstanceCode
http://hl7.org/fhir/ValueSet/substance-code
from the FHIR Standard
AllergyIntolerance.reaction.manifestationexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
AllergyIntolerance.reaction.severityrequiredAllergyIntoleranceSeverity
http://hl7.org/fhir/ValueSet/reaction-event-severity|4.0.1
from the FHIR Standard
AllergyIntolerance.reaction.exposureRoutepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration

Constraints

IdGradePath(s)DetailsRequirements
ait-1errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').exists() or clinicalStatus.exists()
ait-2errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').empty() or clinicalStatus.empty()
ca-baseline-allergyerrorAllergyIntoleranceAllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies verificationStatus.exists()
ca-baseline-allergy-noallergyerrorAllergyIntoleranceif AllergyIntolerance.code is '716186003' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error
: code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty()
ca-baseline-allergy-notaskederrorAllergyIntoleranceif AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present
: code.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor').exists() implies type.exists().not() and category.exists().not() and criticality.exists().not()
dom-2errorAllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAllergyIntoleranceIf 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-4errorAllergyIntoleranceIf 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-5errorAllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAllergyIntoleranceA 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()

This structure is derived from AllergyIntolerance

Summary

Mandatory: 0 element(8 nested mandatory elements)
Must-Support: 3 elements
Fixed: 4 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of AllergyIntolerance.code.coding (Closed)
  • The element 1 is sliced based on the value of AllergyIntolerance.reaction.substance.coding (Closed)

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Verification Status

The AllergyIntolerance.verificationStatus element is optional (i.e., cardinality is 0..1) in this profile since a typical use would involve clinical decision support that produces warnings when potentially dangerous medications/treatments might be prescribed.

There is potential for confounding/conflicting information if verification status "overrides" a clinical finding of an allergy or intolerance.

In addition allergies/intolerance are usually reported by the patient and rarely verified probable that this information is not collected and not available, therefore data element is not populated except by default (presumably as "unconfirmed") again leading to problematic data for clinical decision support.

This is also problematic with respect to interoperability considerations.

Code

If the AllergyIntolerance.code element represents NullFlavor concept (i.e., no known allergy) then the verificationStatus element SHALL be present.

Rational is that recording "no known allergy" without an assessment would a patient safety issue and should not happen. It is not consistent with clinical practice.

Substance

The identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event uses Substance Code value set with Example binding. Consider use Canadian Clinical Drug Data set in case of medication allergy/intolerance, and SNOMED CT for other substances/agents.

Manifestation

The AllergyIntolerance.reaction.manifestation element is a required element to provide symptoms and/or signs that are observed or associated with the adverse reaction event.

-Consider developing a value set from MEDDRA for drug reactions