Canadian Baseline
1.2.0 - CI Build

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.2.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.2.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.

Usages:

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

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ait-1, ait-2, ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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.
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.clinicalStatus | Base | required | AllergyIntolerance Clinical Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.verificationStatus | Base | required | AllergyIntolerance Verification Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.category | Base | required | AllergyIntoleranceCategory | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance | Base | example | Substance Code | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​manifestation | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ait-1 | error | AllergyIntolerance | AllergyIntolerance.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-2 | error | AllergyIntolerance | AllergyIntolerance.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-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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-2 | error | AllergyIntolerance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | AllergyIntolerance | If 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-4 | error | AllergyIntolerance | If 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-5 | error | AllergyIntolerance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | AllergyIntolerance | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AllergyIntolerance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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
category |  | 0..* | code | food | medication | environment | biologic
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.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-baseline-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ait-1, ait-2, ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
AllergyIntolerance.clinicalStatus | Base | required | AllergyIntolerance Clinical Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.verificationStatus | Base | required | AllergyIntolerance Verification Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.type | Base | required | AllergyIntoleranceType | 📍4.0.1 | FHIR Std.
AllergyIntolerance.category | Base | required | AllergyIntoleranceCategory | 📍4.0.1 | FHIR Std.
AllergyIntolerance.criticality | Base | required | AllergyIntoleranceCriticality | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance | Base | example | Substance Code | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​manifestation | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​severity | Base | required | AllergyIntoleranceSeverity | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ait-1 | error | AllergyIntolerance | AllergyIntolerance.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-2 | error | AllergyIntolerance | AllergyIntolerance.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-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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-2 | error | AllergyIntolerance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | AllergyIntolerance | If 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-4 | error | AllergyIntolerance | If 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-5 | error | AllergyIntolerance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | AllergyIntolerance | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must 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:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement

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)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ait-1, ait-2, ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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.
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.clinicalStatus | Base | required | AllergyIntolerance Clinical Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.verificationStatus | Base | required | AllergyIntolerance Verification Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.category | Base | required | AllergyIntoleranceCategory | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance | Base | example | Substance Code | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​manifestation | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ait-1 | error | AllergyIntolerance | AllergyIntolerance.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-2 | error | AllergyIntolerance | AllergyIntolerance.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-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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-2 | error | AllergyIntolerance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | AllergyIntolerance | If 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-4 | error | AllergyIntolerance | If 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-5 | error | AllergyIntolerance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | AllergyIntolerance | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from AllergyIntolerance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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
category |  | 0..* | code | food | medication | environment | biologic
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.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-baseline-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
AllergyIntolerance | C | 0..* | AllergyIntolerance | AllergyIntolerance Profile Constraints: ait-1, ait-2, ca-baseline-allergy, ca-baseline-allergy-notasked, ca-baseline-allergy-noallergy
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:abatement |  | 0..1 | dateTime, Age, Period, Range, string | When the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
AllergyIntolerance.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
AllergyIntolerance.clinicalStatus | Base | required | AllergyIntolerance Clinical Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.verificationStatus | Base | required | AllergyIntolerance Verification Status Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.type | Base | required | AllergyIntoleranceType | 📍4.0.1 | FHIR Std.
AllergyIntolerance.category | Base | required | AllergyIntoleranceCategory | 📍4.0.1 | FHIR Std.
AllergyIntolerance.criticality | Base | required | AllergyIntoleranceCriticality | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📍4.0.1 | FHIR Std.
AllergyIntolerance.code.​coding:NotAsked | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor | Not Stated | Unknown
AllergyIntolerance.code.​coding:@default | Base | example | AllergyIntolerance Substance/Product, Condition and Negation Codes | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance | Base | example | Substance Code | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​substance.coding:NonDrugAllergen | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:CCDD | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct | Not Stated | Unknown
AllergyIntolerance.reaction.​substance.coding:@default | Base | example | Substance Code | 📦4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​manifestation | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​severity | Base | required | AllergyIntoleranceSeverity | 📍4.0.1 | FHIR Std.
AllergyIntolerance.reaction.​exposureRoute | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration | Not Stated | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
ait-1 | error | AllergyIntolerance | AllergyIntolerance.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-2 | error | AllergyIntolerance | AllergyIntolerance.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-allergy | error | AllergyIntolerance | AllergyIntolerance.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-noallergy | error | AllergyIntolerance | if 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-notasked | error | AllergyIntolerance | if 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-2 | error | AllergyIntolerance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | AllergyIntolerance | If 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-4 | error | AllergyIntolerance | If 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-5 | error | AllergyIntolerance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | AllergyIntolerance | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must 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:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/allergyintolerance-abatement

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