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: AllergyIntoleranceProfile - Detailed Descriptions

Draft as of 2024-11-24

Definitions for the profile-allergyintolerance resource profile.

Guidance on how to interpret the contents of this table can be found here

0. AllergyIntolerance
Definition

The AllergyIntolerance Profile is based upon the core FHIR AllergyIntolerance Resource

ShortAllergyIntolerance Profile
Invariantsca-baseline-allergy: 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-notasked: 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())
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 (code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty())
2. AllergyIntolerance.identifier
NoteThis is a business identifier, not a resource identifier (see discussion)
4. AllergyIntolerance.clinicalStatus
Is Modifiertrue because This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.
6. AllergyIntolerance.verificationStatus
Is Modifiertrue because This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.
8. AllergyIntolerance.category
Comments

Some implementers may utilize value sets where category is readily distinguishable while others may not, and those that do not use those value sets should consider making category MS in their profiles

10. AllergyIntolerance.code
Control0..?
Must Supporttrue
12. AllergyIntolerance.code.coding
Control0..?
SlicingThis element introduces a set of slices on AllergyIntolerance.code.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
  • value @ system
  • 14. AllergyIntolerance.code.coding:NotAsked
    Slice NameNotAsked
    Definition

    Code for the case when a patient has NOT been asked or it is NOT possible to obtain information about any history of allergy or intolerance.

    ShortCode for NOT asked or NOT possible to obtain information about allergy or intolerance
    Comments

    The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NullFlavor value set for interoperability purposes but are not required to do so to be considered conformant.

    Control0..1
    BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
    (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor)

    Negation/exclusion codes for reporting no known allergies or not available data.

    TypeCoding
    16. AllergyIntolerance.code.coding:NotAsked.system
    Control1..?
    Fixed Valuehttp://terminology.hl7.org/fhir/v3/NullFlavor
    18. AllergyIntolerance.code.coding:NotAsked.code
    Control1..?
    20. AllergyIntolerance.code.coding:NoAllergy
    Slice NameNoAllergy
    Definition

    Code for the case when a patient has been asked and has indicated no history of allergies or intolerance.

    ShortCode when a patient has been asked and has indicated no history of allergies or intolerance
    Control0..1
    TypeCoding
    22. AllergyIntolerance.code.coding:NoAllergy.system
    Control1..?
    Fixed Valuehttp://snomed.info/sct
    24. AllergyIntolerance.code.coding:NoAllergy.code
    Control1..?
    Fixed Value716186003
    26. AllergyIntolerance.code.coding:@default
    Slice Name@default
    Definition

    Code for an allergy or intolerance statement. This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk, an allergy or intolerance condition.

    Comments

    The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant

    Control0..1
    BindingFor example codes, see AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
    (example to http://hl7.org/fhir/ValueSet/allergyintolerance-code)

    Type of the substance/product, allergy or intolerance condition.

    TypeCoding
    28. AllergyIntolerance.patient
    TypeReference(Patient Profile)
    Must Supporttrue
    30. AllergyIntolerance.encounter
    Definition

    The encounter when the allergy or intolerance was asserted.

    ShortEncounter when the allergy or intolerance was asserted
    Control0..1
    TypeReference(Encounter Profile)
    32. AllergyIntolerance.onsetDateTime:onsetDateTime
    Slice NameonsetDateTime
    Comments

    This slice was initially flagged as Must Support, and is considered MS in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable it is not broadly considered MS across all IGuides reviewed during the Due Dilligence Review.

    Control0..?
    TypedateTime
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    34. AllergyIntolerance.recorder
    Definition

    Individual who recorded the record and takes responsibility for its content.

    ShortWho recorded the sensitivity
    TypeReference(Practitioner Profile (General), PractitionerRole Profile (General), Patient Profile)
    36. AllergyIntolerance.asserter
    Definition

    The source of the information about the allergy that is recorded.

    ShortSource of the information about the allergy
    Control0..1
    TypeReference(Patient Profile, Practitioner Profile (General), PractitionerRole Profile (General))
    38. AllergyIntolerance.reaction
    40. AllergyIntolerance.reaction.substance
    ShortSpecific substance or pharmaceutical product considered to be responsible for event
    42. AllergyIntolerance.reaction.substance.coding
    Comments

    This slice was initially identified with a 1..* cardinality, and has similar constraints in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable to include coding, it was not constrained consistently across all IGuides reviewed during the Due Dilligence Review.

    SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
    • value @ system
    • 44. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen
      Slice NameNonDrugAllergen
      Definition

      Code for the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

      ShortCode for the specific non-drug allergen
      Comments

      The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NonDrugAllergenCode value set for interoperability purposes but are not required to do so to be considered conformant.

      BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
      (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode)

      Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

      TypeCoding
      46. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.system
      Control1..?
      48. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.code
      Control1..?
      50. AllergyIntolerance.reaction.substance.coding:CCDD
      Slice NameCCDD
      Definition

      The subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

      ShortMedicinal products for prescribing
      Comments

      The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the PrescriptionMedicinalProduct value set for interoperability purposes but are not required to do so to be considered conformant.

      BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
      (preferred to https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct)

      Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

      TypeCoding
      52. AllergyIntolerance.reaction.substance.coding:CCDD.system
      Control1..?
      Fixed Valuehttps://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
      54. AllergyIntolerance.reaction.substance.coding:CCDD.code
      Control1..?
      56. AllergyIntolerance.reaction.substance.coding:@default
      Slice Name@default
      Definition

      Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event.

      ShortSpecific substance or pharmaceutical product considered to be responsible for event
      Comments

      The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant

      BindingFor example codes, see SubstanceCode
      (example to http://hl7.org/fhir/ValueSet/substance-code)

      Codes defining the type of the substance (including pharmaceutical products).

      TypeCoding
      58. AllergyIntolerance.reaction.manifestation
      Must Supporttrue
      60. AllergyIntolerance.reaction.exposureRoute
      Definition

      Identification of the route by which the subject was exposed to the substance.

      ShortHow the subject was exposed to the substance
      Comments

      The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the RouteOfAdministration value set for interoperability purposes but are not required to do so to be considered conformant.

      BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
      (preferred to https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration)

      A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

      TypeCodeableConcept

      Guidance on how to interpret the contents of this table can be found here

      0. AllergyIntolerance
      Definition

      The AllergyIntolerance Profile is based upon the core FHIR AllergyIntolerance Resource


      Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.

      ShortAllergyIntolerance ProfileAllergy or Intolerance (generally: Risk of adverse reaction to a substance)
      Comments

      Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.

      Control0..*
      Is Modifierfalse
      Summaryfalse
      Alternate NamesAllergy, Intolerance, Adverse Reaction
      Invariantsait-1: 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: 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())
      dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
      dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
      dom-6: A resource should have narrative for robust management (text.`div`.exists())
      ca-baseline-allergy: 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-notasked: 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())
      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 (code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty())
      ait-1: 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: 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())
      2. AllergyIntolerance.implicitRules
      Definition

      A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

      ShortA set of rules under which this content was created
      Comments

      Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

      Control0..1
      Typeuri
      Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      4. AllergyIntolerance.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
      Summaryfalse
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      6. AllergyIntolerance.identifier
      Definition

      Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

      ShortExternal ids for this item
      Comments

      This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.

      NoteThis is a business identifier, not a resource identifier (see discussion)
      Control0..*
      TypeIdentifier
      Is Modifierfalse
      Summarytrue
      Requirements

      Allows identification of the AllergyIntolerance as it is known by various participating systems and in a way that remains consistent across servers.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      8. AllergyIntolerance.clinicalStatus
      Definition

      The clinical status of the allergy or intolerance.

      Shortactive | inactive | resolved
      Comments

      Refer to discussion if clincalStatus is missing data. The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity.

      Control0..1
      This element is affected by the following invariants: ait-1, ait-2
      BindingThe codes SHALL be taken from AllergyIntoleranceClinicalStatusCodeshttp://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1
      (required to http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1)

      The clinical status of the allergy or intolerance.

      TypeCodeableConcept
      Is Modifiertrue because This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as no longer active.
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      10. AllergyIntolerance.verificationStatus
      Definition

      Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).

      Shortunconfirmed | confirmed | refuted | entered-in-error
      Comments

      The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity.

      Control0..1
      This element is affected by the following invariants: ait-1, ait-2
      BindingThe codes SHALL be taken from AllergyIntoleranceVerificationStatusCodeshttp://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1
      (required to http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1)

      Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

      TypeCodeableConcept
      Is Modifiertrue because This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      12. AllergyIntolerance.category
      Definition

      Category of the identified substance.

      Shortfood | medication | environment | biologic
      Comments

      Some implementers may utilize value sets where category is readily distinguishable while others may not, and those that do not use those value sets should consider making category MS in their profiles


      This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to search for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender.

      Control0..*
      BindingThe codes SHALL be taken from AllergyIntoleranceCategoryhttp://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
      (required to http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1)

      Category of an identified substance associated with allergies or intolerances.

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Alternate NamesCategory, Type, Reaction Type, Class
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      14. AllergyIntolerance.code
      Definition

      Code for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies"). Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.

      ShortCode that identifies the allergy or intolerance
      Comments

      It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNII, and ATC. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text.

      When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship.

      The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted.

      Control0..1
      BindingFor example codes, see AllergyIntoleranceSubstance/Product,ConditionAndNegationCodeshttp://hl7.org/fhir/ValueSet/allergyintolerance-code
      (example to http://hl7.org/fhir/ValueSet/allergyintolerance-code)

      Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

      TypeCodeableConcept
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Alternate NamesCode
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      16. AllergyIntolerance.code.coding
      Definition

      A reference to a code defined by a terminology system.

      ShortCode defined by a terminology system
      Comments

      Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

      Control0..*
      TypeCoding
      Is Modifierfalse
      Summarytrue
      Requirements

      Allows for alternative encodings within a code system, and translations to other code systems.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      SlicingThis element introduces a set of slices on AllergyIntolerance.code.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
      • value @ system
      • 18. AllergyIntolerance.code.coding:NotAsked
        Slice NameNotAsked
        Definition

        Code for the case when a patient has NOT been asked or it is NOT possible to obtain information about any history of allergy or intolerance.


        A reference to a code defined by a terminology system.

        ShortCode for NOT asked or NOT possible to obtain information about allergy or intoleranceCode defined by a terminology system
        Comments

        The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NullFlavor value set for interoperability purposes but are not required to do so to be considered conformant.


        Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

        Control0..1*
        BindingThe codes SHOULD be taken from For codes, see https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
        (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor)

        Negation/exclusion codes for reporting no known allergies or not available data.

        TypeCoding
        Is Modifierfalse
        Summarytrue
        Requirements

        Allows for alternative encodings within a code system, and translations to other code systems.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        20. AllergyIntolerance.code.coding:NotAsked.system
        Definition

        The identification of the code system that defines the meaning of the symbol in the code.

        ShortIdentity of the terminology system
        Comments

        The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

        Control10..1
        Typeuri
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Requirements

        Need to be unambiguous about the source of the definition of the symbol.

        Fixed Valuehttp://terminology.hl7.org/fhir/v3/NullFlavor
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        22. AllergyIntolerance.code.coding:NotAsked.code
        Definition

        A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

        ShortSymbol in syntax defined by the system
        Control10..1
        Typecode
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Requirements

        Need to refer to a particular code in the system.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        24. AllergyIntolerance.code.coding:NoAllergy
        Slice NameNoAllergy
        Definition

        Code for the case when a patient has been asked and has indicated no history of allergies or intolerance.


        A reference to a code defined by a terminology system.

        ShortCode when a patient has been asked and has indicated no history of allergies or intoleranceCode defined by a terminology system
        Comments

        Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

        Control0..1*
        TypeCoding
        Is Modifierfalse
        Summarytrue
        Requirements

        Allows for alternative encodings within a code system, and translations to other code systems.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        26. AllergyIntolerance.code.coding:NoAllergy.system
        Definition

        The identification of the code system that defines the meaning of the symbol in the code.

        ShortIdentity of the terminology system
        Comments

        The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

        Control10..1
        Typeuri
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Requirements

        Need to be unambiguous about the source of the definition of the symbol.

        Fixed Valuehttp://snomed.info/sct
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        28. AllergyIntolerance.code.coding:NoAllergy.code
        Definition

        A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

        ShortSymbol in syntax defined by the system
        Control10..1
        Typecode
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Requirements

        Need to refer to a particular code in the system.

        Fixed Value716186003
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        30. AllergyIntolerance.code.coding:@default
        Slice Name@default
        Definition

        Code for an allergy or intolerance statement. This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk, an allergy or intolerance condition.


        A reference to a code defined by a terminology system.

        ShortCode defined by a terminology system
        Comments

        The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant


        Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

        Control0..1*
        BindingFor example codes, see For codes, see AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
        (example to http://hl7.org/fhir/ValueSet/allergyintolerance-code)

        Type of the substance/product, allergy or intolerance condition.

        TypeCoding
        Is Modifierfalse
        Summarytrue
        Requirements

        Allows for alternative encodings within a code system, and translations to other code systems.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        32. AllergyIntolerance.patient
        Definition

        The patient who has the allergy or intolerance.

        ShortWho the sensitivity is for
        Control1..1
        TypeReference(Patient Profile, Patient)
        Is Modifierfalse
        Must Supporttrue
        Summarytrue
        Alternate NamesPatient
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        34. AllergyIntolerance.encounter
        Definition

        The encounter when the allergy or intolerance was asserted.

        ShortEncounter when the allergy or intolerance was asserted
        Control0..1
        TypeReference(Encounter Profile, Encounter)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        36. AllergyIntolerance.onset[x]
        Definition

        Estimated or actual date, date-time, or age when allergy or intolerance was identified.

        ShortWhen allergy or intolerance was identified
        Control0..1
        TypeChoice of: dateTime, Age, Period, Range, string
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        SlicingThis element introduces a set of slices on AllergyIntolerance.onset[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • type @ $this
        • 38. AllergyIntolerance.onset[x]:onsetDateTime
          Slice NameonsetDateTime
          Definition

          Estimated or actual date, date-time, or age when allergy or intolerance was identified.

          ShortWhen allergy or intolerance was identified
          Comments

          This slice was initially flagged as Must Support, and is considered MS in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable it is not broadly considered MS across all IGuides reviewed during the Due Dilligence Review.

          Control0..1
          TypedateTime, string, Period, Range, Age
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          40. AllergyIntolerance.recorder
          Definition

          Individual who recorded the record and takes responsibility for its content.

          ShortWho recorded the sensitivity
          Control0..1
          TypeReference(Practitioner Profile (General), PractitionerRole Profile (General), Patient Profile, Practitioner, PractitionerRole, Patient, RelatedPerson)
          Is Modifierfalse
          Summaryfalse
          Alternate NamesAuthor
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          42. AllergyIntolerance.asserter
          Definition

          The source of the information about the allergy that is recorded.

          ShortSource of the information about the allergy
          Comments

          The recorder takes responsibility for the content, but can reference the source from where they got it.

          Control0..1
          TypeReference(Patient Profile, Practitioner Profile (General), PractitionerRole Profile (General), Patient, RelatedPerson, Practitioner, PractitionerRole)
          Is Modifierfalse
          Summarytrue
          Alternate NamesSource, Informant
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          44. AllergyIntolerance.reaction
          Definition

          Details about each adverse reaction event linked to exposure to the identified substance.

          ShortAdverse Reaction Events linked to exposure to substance
          Control0..*
          TypeBackboneElement
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          46. AllergyIntolerance.reaction.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          48. AllergyIntolerance.reaction.substance
          Definition

          Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.

          ShortSpecific substance or pharmaceutical product considered to be responsible for event
          Comments

          Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identified as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'.

          Control0..1
          BindingFor example codes, see SubstanceCodehttp://hl7.org/fhir/ValueSet/substance-code
          (example to http://hl7.org/fhir/ValueSet/substance-code)

          Codes defining the type of the substance (including pharmaceutical products).

          TypeCodeableConcept
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          50. AllergyIntolerance.reaction.substance.coding
          Definition

          A reference to a code defined by a terminology system.

          ShortCode defined by a terminology system
          Comments

          This slice was initially identified with a 1..* cardinality, and has similar constraints in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable to include coding, it was not constrained consistently across all IGuides reviewed during the Due Dilligence Review.


          Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

          Control0..*
          TypeCoding
          Is Modifierfalse
          Summarytrue
          Requirements

          Allows for alternative encodings within a code system, and translations to other code systems.

          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
          • value @ system
          • 52. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen
            Slice NameNonDrugAllergen
            Definition

            Code for the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.


            A reference to a code defined by a terminology system.

            ShortCode for the specific non-drug allergenCode defined by a terminology system
            Comments

            The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NonDrugAllergenCode value set for interoperability purposes but are not required to do so to be considered conformant.


            Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

            Control0..*
            BindingThe codes SHOULD be taken from For codes, see https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
            (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode)

            Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

            TypeCoding
            Is Modifierfalse
            Summarytrue
            Requirements

            Allows for alternative encodings within a code system, and translations to other code systems.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            54. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.system
            Definition

            The identification of the code system that defines the meaning of the symbol in the code.

            ShortIdentity of the terminology system
            Comments

            The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

            Control10..1
            Typeuri
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Need to be unambiguous about the source of the definition of the symbol.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            56. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.code
            Definition

            A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

            ShortSymbol in syntax defined by the system
            Control10..1
            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Need to refer to a particular code in the system.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            58. AllergyIntolerance.reaction.substance.coding:CCDD
            Slice NameCCDD
            Definition

            The subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.


            A reference to a code defined by a terminology system.

            ShortMedicinal products for prescribingCode defined by a terminology system
            Comments

            The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the PrescriptionMedicinalProduct value set for interoperability purposes but are not required to do so to be considered conformant.


            Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

            Control0..*
            BindingThe codes SHOULD be taken from For codes, see https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
            (preferred to https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct)

            Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

            TypeCoding
            Is Modifierfalse
            Summarytrue
            Requirements

            Allows for alternative encodings within a code system, and translations to other code systems.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            60. AllergyIntolerance.reaction.substance.coding:CCDD.system
            Definition

            The identification of the code system that defines the meaning of the symbol in the code.

            ShortIdentity of the terminology system
            Comments

            The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

            Control10..1
            Typeuri
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Need to be unambiguous about the source of the definition of the symbol.

            Fixed Valuehttps://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            62. AllergyIntolerance.reaction.substance.coding:CCDD.code
            Definition

            A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

            ShortSymbol in syntax defined by the system
            Control10..1
            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Need to refer to a particular code in the system.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            64. AllergyIntolerance.reaction.substance.coding:@default
            Slice Name@default
            Definition

            Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event.


            A reference to a code defined by a terminology system.

            ShortSpecific substance or pharmaceutical product considered to be responsible for eventCode defined by a terminology system
            Comments

            The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant


            Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

            Control0..*
            BindingFor example codes, see For codes, see SubstanceCode
            (example to http://hl7.org/fhir/ValueSet/substance-code)

            Codes defining the type of the substance (including pharmaceutical products).

            TypeCoding
            Is Modifierfalse
            Summarytrue
            Requirements

            Allows for alternative encodings within a code system, and translations to other code systems.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            66. AllergyIntolerance.reaction.manifestation
            Definition

            Clinical symptoms and/or signs that are observed or associated with the adverse reaction event.

            ShortClinical symptoms/signs associated with the Event
            Comments

            Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10.

            Control1..*
            BindingFor example codes, see SNOMEDCTClinicalFindingshttp://hl7.org/fhir/ValueSet/clinical-findings
            (example to http://hl7.org/fhir/ValueSet/clinical-findings)

            Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.

            TypeCodeableConcept
            Is Modifierfalse
            Must Supporttrue
            Summaryfalse
            Alternate NamesSymptoms, Signs
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            68. AllergyIntolerance.reaction.exposureRoute
            Definition

            Identification of the route by which the subject was exposed to the substance.

            ShortHow the subject was exposed to the substance
            Comments

            The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the RouteOfAdministration value set for interoperability purposes but are not required to do so to be considered conformant.


            Coding of the route of exposure with a terminology should be used wherever possible.

            Control0..1
            BindingThe codes SHOULD be taken from For example codes, see https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministrationhttp://hl7.org/fhir/ValueSet/route-codes
            (preferred to https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration)

            A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

            TypeCodeableConcept
            Is Modifierfalse
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

            Guidance on how to interpret the contents of this table can be found here

            0. AllergyIntolerance
            Definition

            The AllergyIntolerance Profile is based upon the core FHIR AllergyIntolerance Resource

            ShortAllergyIntolerance Profile
            Comments

            Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.

            Control0..*
            Is Modifierfalse
            Summaryfalse
            Alternate NamesAllergy, Intolerance, Adverse Reaction
            Invariantsait-1: 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: 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())
            dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
            dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
            dom-6: A resource should have narrative for robust management (text.`div`.exists())
            ca-baseline-allergy: 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-notasked: 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())
            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 (code.coding.where(system = 'http://snomed.info/sct' and code = '716186003').exists() and verificationStatus.coding.where(code = 'unconfirmed').empty())
            2. AllergyIntolerance.id
            Definition

            The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

            ShortLogical id of this artifact
            Comments

            The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

            Control0..1
            Typeid
            Is Modifierfalse
            Summarytrue
            4. AllergyIntolerance.meta
            Definition

            The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

            ShortMetadata about the resource
            Control0..1
            TypeMeta
            Is Modifierfalse
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            6. AllergyIntolerance.implicitRules
            Definition

            A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

            ShortA set of rules under which this content was created
            Comments

            Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

            Control0..1
            Typeuri
            Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            8. AllergyIntolerance.language
            Definition

            The base language in which the resource is written.

            ShortLanguage of the resource content
            Comments

            Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

            Control0..1
            BindingThe codes SHOULD be taken from CommonLanguages
            (preferred to http://hl7.org/fhir/ValueSet/languages)

            A human language.

            Additional BindingsPurpose
            AllLanguagesMax Binding
            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            10. AllergyIntolerance.text
            Definition

            A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

            ShortText summary of the resource, for human interpretation
            Comments

            Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

            Control0..1
            TypeNarrative
            Is Modifierfalse
            Summaryfalse
            Alternate Namesnarrative, html, xhtml, display
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            12. AllergyIntolerance.contained
            Definition

            These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

            ShortContained, inline Resources
            Comments

            This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

            Control0..*
            TypeResource
            Is Modifierfalse
            Summaryfalse
            Alternate Namesinline resources, anonymous resources, contained resources
            14. AllergyIntolerance.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            16. AllergyIntolerance.modifierExtension
            Definition

            May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

            ShortExtensions that cannot be ignored
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
            Summaryfalse
            Requirements

            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            18. AllergyIntolerance.identifier
            Definition

            Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

            ShortExternal ids for this item
            Comments

            This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.

            NoteThis is a business identifier, not a resource identifier (see discussion)
            Control0..*
            TypeIdentifier
            Is Modifierfalse
            Summarytrue
            Requirements

            Allows identification of the AllergyIntolerance as it is known by various participating systems and in a way that remains consistent across servers.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            20. AllergyIntolerance.clinicalStatus
            Definition

            The clinical status of the allergy or intolerance.

            Shortactive | inactive | resolved
            Comments

            Refer to discussion if clincalStatus is missing data. The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity.

            Control0..1
            This element is affected by the following invariants: ait-1, ait-2
            BindingThe codes SHALL be taken from AllergyIntoleranceClinicalStatusCodes
            (required to http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1)

            The clinical status of the allergy or intolerance.

            TypeCodeableConcept
            Is Modifiertrue because This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as no longer active.
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            22. AllergyIntolerance.verificationStatus
            Definition

            Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).

            Shortunconfirmed | confirmed | refuted | entered-in-error
            Comments

            The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity.

            Control0..1
            This element is affected by the following invariants: ait-1, ait-2
            BindingThe codes SHALL be taken from AllergyIntoleranceVerificationStatusCodes
            (required to http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1)

            Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

            TypeCodeableConcept
            Is Modifiertrue because This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            24. AllergyIntolerance.type
            Definition

            Identification of the underlying physiological mechanism for the reaction risk.

            Shortallergy | intolerance - Underlying mechanism (if known)
            Comments

            Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians might not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts might not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource.

            Control0..1
            BindingThe codes SHALL be taken from AllergyIntoleranceType
            (required to http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.1)

            Identification of the underlying physiological mechanism for a Reaction Risk.

            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Alternate NamesCategory, Class
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            26. AllergyIntolerance.category
            Definition

            Category of the identified substance.

            Shortfood | medication | environment | biologic
            Comments

            Some implementers may utilize value sets where category is readily distinguishable while others may not, and those that do not use those value sets should consider making category MS in their profiles

            Control0..*
            BindingThe codes SHALL be taken from AllergyIntoleranceCategory
            (required to http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1)

            Category of an identified substance associated with allergies or intolerances.

            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Alternate NamesCategory, Type, Reaction Type, Class
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            28. AllergyIntolerance.criticality
            Definition

            Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substance.

            Shortlow | high | unable-to-assess
            Comments

            The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere). Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent.

            Control0..1
            BindingThe codes SHALL be taken from AllergyIntoleranceCriticality
            (required to http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality|4.0.1)

            Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.

            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Alternate NamesSeverity, Seriousness, Contra-indication, Risk
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            30. AllergyIntolerance.code
            Definition

            Code for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies"). Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.

            ShortCode that identifies the allergy or intolerance
            Comments

            It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNII, and ATC. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text.

            When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship.

            The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted.

            Control0..1
            BindingFor example codes, see AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
            (example to http://hl7.org/fhir/ValueSet/allergyintolerance-code)

            Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

            TypeCodeableConcept
            Is Modifierfalse
            Must Supporttrue
            Summarytrue
            Alternate NamesCode
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            32. AllergyIntolerance.code.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            34. AllergyIntolerance.code.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on AllergyIntolerance.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 36. AllergyIntolerance.code.coding
              Definition

              A reference to a code defined by a terminology system.

              ShortCode defined by a terminology system
              Comments

              Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

              Control0..*
              TypeCoding
              Is Modifierfalse
              Summarytrue
              Requirements

              Allows for alternative encodings within a code system, and translations to other code systems.

              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              SlicingThis element introduces a set of slices on AllergyIntolerance.code.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
              • value @ system
              • 38. AllergyIntolerance.code.coding:NotAsked
                Slice NameNotAsked
                Definition

                Code for the case when a patient has NOT been asked or it is NOT possible to obtain information about any history of allergy or intolerance.

                ShortCode for NOT asked or NOT possible to obtain information about allergy or intolerance
                Comments

                The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NullFlavor value set for interoperability purposes but are not required to do so to be considered conformant.

                Control0..1
                BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor
                (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor)

                Negation/exclusion codes for reporting no known allergies or not available data.

                TypeCoding
                Is Modifierfalse
                Summarytrue
                Requirements

                Allows for alternative encodings within a code system, and translations to other code systems.

                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                40. AllergyIntolerance.code.coding:NotAsked.id
                Definition

                Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                ShortUnique id for inter-element referencing
                Control0..1
                Typestring
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                42. AllergyIntolerance.code.coding:NotAsked.extension
                Definition

                May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                ShortAdditional content defined by implementations
                Comments

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Alternate Namesextensions, user content
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on AllergyIntolerance.code.coding.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 44. AllergyIntolerance.code.coding:NotAsked.system
                  Definition

                  The identification of the code system that defines the meaning of the symbol in the code.

                  ShortIdentity of the terminology system
                  Comments

                  The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

                  Control1..1
                  Typeuri
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Need to be unambiguous about the source of the definition of the symbol.

                  Fixed Valuehttp://terminology.hl7.org/fhir/v3/NullFlavor
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  46. AllergyIntolerance.code.coding:NotAsked.version
                  Definition

                  The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                  ShortVersion of the system - if relevant
                  Comments

                  Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                  NoteThis is a business version Id, not a resource version Id (see discussion)
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  48. AllergyIntolerance.code.coding:NotAsked.code
                  Definition

                  A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                  ShortSymbol in syntax defined by the system
                  Control1..1
                  Typecode
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Need to refer to a particular code in the system.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  50. AllergyIntolerance.code.coding:NotAsked.display
                  Definition

                  A representation of the meaning of the code in the system, following the rules of the system.

                  ShortRepresentation defined by the system
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  52. AllergyIntolerance.code.coding:NotAsked.userSelected
                  Definition

                  Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

                  ShortIf this coding was chosen directly by the user
                  Comments

                  Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                  Control0..1
                  Typeboolean
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  54. AllergyIntolerance.code.coding:NoAllergy
                  Slice NameNoAllergy
                  Definition

                  Code for the case when a patient has been asked and has indicated no history of allergies or intolerance.

                  ShortCode when a patient has been asked and has indicated no history of allergies or intolerance
                  Comments

                  Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

                  Control0..1
                  TypeCoding
                  Is Modifierfalse
                  Summarytrue
                  Requirements

                  Allows for alternative encodings within a code system, and translations to other code systems.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  56. AllergyIntolerance.code.coding:NoAllergy.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  58. AllergyIntolerance.code.coding:NoAllergy.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  SlicingThis element introduces a set of slices on AllergyIntolerance.code.coding.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 60. AllergyIntolerance.code.coding:NoAllergy.system
                    Definition

                    The identification of the code system that defines the meaning of the symbol in the code.

                    ShortIdentity of the terminology system
                    Comments

                    The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

                    Control1..1
                    Typeuri
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Need to be unambiguous about the source of the definition of the symbol.

                    Fixed Valuehttp://snomed.info/sct
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    62. AllergyIntolerance.code.coding:NoAllergy.version
                    Definition

                    The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                    ShortVersion of the system - if relevant
                    Comments

                    Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                    NoteThis is a business version Id, not a resource version Id (see discussion)
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    64. AllergyIntolerance.code.coding:NoAllergy.code
                    Definition

                    A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                    ShortSymbol in syntax defined by the system
                    Control1..1
                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Need to refer to a particular code in the system.

                    Fixed Value716186003
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    66. AllergyIntolerance.code.coding:NoAllergy.display
                    Definition

                    A representation of the meaning of the code in the system, following the rules of the system.

                    ShortRepresentation defined by the system
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    68. AllergyIntolerance.code.coding:NoAllergy.userSelected
                    Definition

                    Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

                    ShortIf this coding was chosen directly by the user
                    Comments

                    Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                    Control0..1
                    Typeboolean
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    70. AllergyIntolerance.code.coding:@default
                    Slice Name@default
                    Definition

                    Code for an allergy or intolerance statement. This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk, an allergy or intolerance condition.

                    ShortCode defined by a terminology system
                    Comments

                    The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant

                    Control0..1
                    BindingFor example codes, see AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes
                    (example to http://hl7.org/fhir/ValueSet/allergyintolerance-code)

                    Type of the substance/product, allergy or intolerance condition.

                    TypeCoding
                    Is Modifierfalse
                    Summarytrue
                    Requirements

                    Allows for alternative encodings within a code system, and translations to other code systems.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    72. AllergyIntolerance.code.text
                    Definition

                    A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

                    ShortPlain text representation of the concept
                    Comments

                    Very often the text is the same as a displayName of one of the codings.

                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summarytrue
                    Requirements

                    The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    74. AllergyIntolerance.patient
                    Definition

                    The patient who has the allergy or intolerance.

                    ShortWho the sensitivity is for
                    Control1..1
                    TypeReference(Patient Profile)
                    Is Modifierfalse
                    Must Supporttrue
                    Summarytrue
                    Alternate NamesPatient
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    76. AllergyIntolerance.encounter
                    Definition

                    The encounter when the allergy or intolerance was asserted.

                    ShortEncounter when the allergy or intolerance was asserted
                    Control0..1
                    TypeReference(Encounter Profile)
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    78. AllergyIntolerance.onset[x]
                    Definition

                    Estimated or actual date, date-time, or age when allergy or intolerance was identified.

                    ShortWhen allergy or intolerance was identified
                    Control0..1
                    TypeChoice of: dateTime, Age, Period, Range, string
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    SlicingThis element introduces a set of slices on AllergyIntolerance.onset[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • type @ $this
                    • 80. AllergyIntolerance.onset[x]:onsetDateTime
                      Slice NameonsetDateTime
                      Definition

                      Estimated or actual date, date-time, or age when allergy or intolerance was identified.

                      ShortWhen allergy or intolerance was identified
                      Comments

                      This slice was initially flagged as Must Support, and is considered MS in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable it is not broadly considered MS across all IGuides reviewed during the Due Dilligence Review.

                      Control0..1
                      TypedateTime
                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      82. AllergyIntolerance.recordedDate
                      Definition

                      The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date.

                      ShortDate first version of the resource instance was recorded
                      Control0..1
                      TypedateTime
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      84. AllergyIntolerance.recorder
                      Definition

                      Individual who recorded the record and takes responsibility for its content.

                      ShortWho recorded the sensitivity
                      Control0..1
                      TypeReference(Practitioner Profile (General), PractitionerRole Profile (General), Patient Profile)
                      Is Modifierfalse
                      Summaryfalse
                      Alternate NamesAuthor
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      86. AllergyIntolerance.asserter
                      Definition

                      The source of the information about the allergy that is recorded.

                      ShortSource of the information about the allergy
                      Comments

                      The recorder takes responsibility for the content, but can reference the source from where they got it.

                      Control0..1
                      TypeReference(Patient Profile, Practitioner Profile (General), PractitionerRole Profile (General))
                      Is Modifierfalse
                      Summarytrue
                      Alternate NamesSource, Informant
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      88. AllergyIntolerance.lastOccurrence
                      Definition

                      Represents the date and/or time of the last known occurrence of a reaction event.

                      ShortDate(/time) of last known occurrence of a reaction
                      Comments

                      This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used.

                      Control0..1
                      TypedateTime
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      90. AllergyIntolerance.note
                      Definition

                      Additional narrative about the propensity for the Adverse Reaction, not captured in other fields.

                      ShortAdditional text not captured in other fields
                      Comments

                      For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes.

                      Control0..*
                      TypeAnnotation
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      92. AllergyIntolerance.reaction
                      Definition

                      Details about each adverse reaction event linked to exposure to the identified substance.

                      ShortAdverse Reaction Events linked to exposure to substance
                      Control0..*
                      TypeBackboneElement
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      94. AllergyIntolerance.reaction.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      96. AllergyIntolerance.reaction.extension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                      ShortAdditional content defined by implementations
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      98. AllergyIntolerance.reaction.modifierExtension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                      ShortExtensions that cannot be ignored even if unrecognized
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                      Summarytrue
                      Requirements

                      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                      Alternate Namesextensions, user content, modifiers
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      100. AllergyIntolerance.reaction.substance
                      Definition

                      Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.

                      ShortSpecific substance or pharmaceutical product considered to be responsible for event
                      Comments

                      Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identified as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'.

                      Control0..1
                      BindingFor example codes, see SubstanceCode
                      (example to http://hl7.org/fhir/ValueSet/substance-code)

                      Codes defining the type of the substance (including pharmaceutical products).

                      TypeCodeableConcept
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      102. AllergyIntolerance.reaction.substance.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      104. AllergyIntolerance.reaction.substance.extension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                      ShortAdditional content defined by implementations
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 106. AllergyIntolerance.reaction.substance.coding
                        Definition

                        A reference to a code defined by a terminology system.

                        ShortCode defined by a terminology system
                        Comments

                        This slice was initially identified with a 1..* cardinality, and has similar constraints in a handful of Canadian FHIR Implementation Guides. However, while clinically desireable to include coding, it was not constrained consistently across all IGuides reviewed during the Due Dilligence Review.

                        Control0..*
                        TypeCoding
                        Is Modifierfalse
                        Summarytrue
                        Requirements

                        Allows for alternative encodings within a code system, and translations to other code systems.

                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.coding. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
                        • value @ system
                        • 108. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen
                          Slice NameNonDrugAllergen
                          Definition

                          Code for the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

                          ShortCode for the specific non-drug allergen
                          Comments

                          The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the NonDrugAllergenCode value set for interoperability purposes but are not required to do so to be considered conformant.

                          Control0..*
                          BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode
                          (preferred to https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode)

                          Represents the specific non-drug allergen or other agent/substance to which the Client has an allergic reaction.

                          TypeCoding
                          Is Modifierfalse
                          Summarytrue
                          Requirements

                          Allows for alternative encodings within a code system, and translations to other code systems.

                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          110. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.id
                          Definition

                          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                          ShortUnique id for inter-element referencing
                          Control0..1
                          Typestring
                          Is Modifierfalse
                          XML FormatIn the XML format, this property is represented as an attribute.
                          Summaryfalse
                          112. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.extension
                          Definition

                          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                          ShortAdditional content defined by implementations
                          Comments

                          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                          Control0..*
                          TypeExtension
                          Is Modifierfalse
                          Summaryfalse
                          Alternate Namesextensions, user content
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                          SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.coding.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ url
                          • 114. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.system
                            Definition

                            The identification of the code system that defines the meaning of the symbol in the code.

                            ShortIdentity of the terminology system
                            Comments

                            The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

                            Control1..1
                            Typeuri
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            Requirements

                            Need to be unambiguous about the source of the definition of the symbol.

                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            116. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.version
                            Definition

                            The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                            ShortVersion of the system - if relevant
                            Comments

                            Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                            NoteThis is a business version Id, not a resource version Id (see discussion)
                            Control0..1
                            Typestring
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            118. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.code
                            Definition

                            A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                            ShortSymbol in syntax defined by the system
                            Control1..1
                            Typecode
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            Requirements

                            Need to refer to a particular code in the system.

                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            120. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.display
                            Definition

                            A representation of the meaning of the code in the system, following the rules of the system.

                            ShortRepresentation defined by the system
                            Control0..1
                            Typestring
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            Requirements

                            Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            122. AllergyIntolerance.reaction.substance.coding:NonDrugAllergen.userSelected
                            Definition

                            Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

                            ShortIf this coding was chosen directly by the user
                            Comments

                            Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                            Control0..1
                            Typeboolean
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summarytrue
                            Requirements

                            This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            124. AllergyIntolerance.reaction.substance.coding:CCDD
                            Slice NameCCDD
                            Definition

                            The subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

                            ShortMedicinal products for prescribing
                            Comments

                            The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the PrescriptionMedicinalProduct value set for interoperability purposes but are not required to do so to be considered conformant.

                            Control0..*
                            BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
                            (preferred to https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct)

                            Represents subset of codes with commonly used medicinal products that are available for prescribing and dispensing in Canada.

                            TypeCoding
                            Is Modifierfalse
                            Summarytrue
                            Requirements

                            Allows for alternative encodings within a code system, and translations to other code systems.

                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            126. AllergyIntolerance.reaction.substance.coding:CCDD.id
                            Definition

                            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                            ShortUnique id for inter-element referencing
                            Control0..1
                            Typestring
                            Is Modifierfalse
                            XML FormatIn the XML format, this property is represented as an attribute.
                            Summaryfalse
                            128. AllergyIntolerance.reaction.substance.coding:CCDD.extension
                            Definition

                            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                            ShortAdditional content defined by implementations
                            Comments

                            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                            Control0..*
                            TypeExtension
                            Is Modifierfalse
                            Summaryfalse
                            Alternate Namesextensions, user content
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                            SlicingThis element introduces a set of slices on AllergyIntolerance.reaction.substance.coding.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 130. AllergyIntolerance.reaction.substance.coding:CCDD.system
                              Definition

                              The identification of the code system that defines the meaning of the symbol in the code.

                              ShortIdentity of the terminology system
                              Comments

                              The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

                              Control1..1
                              Typeuri
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              Need to be unambiguous about the source of the definition of the symbol.

                              Fixed Valuehttps://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              132. AllergyIntolerance.reaction.substance.coding:CCDD.version
                              Definition

                              The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

                              ShortVersion of the system - if relevant
                              Comments

                              Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

                              NoteThis is a business version Id, not a resource version Id (see discussion)
                              Control0..1
                              Typestring
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              134. AllergyIntolerance.reaction.substance.coding:CCDD.code
                              Definition

                              A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

                              ShortSymbol in syntax defined by the system
                              Control1..1
                              Typecode
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              Need to refer to a particular code in the system.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              136. AllergyIntolerance.reaction.substance.coding:CCDD.display
                              Definition

                              A representation of the meaning of the code in the system, following the rules of the system.

                              ShortRepresentation defined by the system
                              Control0..1
                              Typestring
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              138. AllergyIntolerance.reaction.substance.coding:CCDD.userSelected
                              Definition

                              Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

                              ShortIf this coding was chosen directly by the user
                              Comments

                              Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

                              Control0..1
                              Typeboolean
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              140. AllergyIntolerance.reaction.substance.coding:@default
                              Slice Name@default
                              Definition

                              Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event.

                              ShortSpecific substance or pharmaceutical product considered to be responsible for event
                              Comments

                              The binding strength of this element is Example, meaning that codes are not expected or even encouraged to draw from the specified value set to be conformant

                              Control0..*
                              BindingFor example codes, see SubstanceCode
                              (example to http://hl7.org/fhir/ValueSet/substance-code)

                              Codes defining the type of the substance (including pharmaceutical products).

                              TypeCoding
                              Is Modifierfalse
                              Summarytrue
                              Requirements

                              Allows for alternative encodings within a code system, and translations to other code systems.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              142. AllergyIntolerance.reaction.substance.text
                              Definition

                              A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

                              ShortPlain text representation of the concept
                              Comments

                              Very often the text is the same as a displayName of one of the codings.

                              Control0..1
                              Typestring
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              144. AllergyIntolerance.reaction.manifestation
                              Definition

                              Clinical symptoms and/or signs that are observed or associated with the adverse reaction event.

                              ShortClinical symptoms/signs associated with the Event
                              Comments

                              Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10.

                              Control1..*
                              BindingFor example codes, see SNOMEDCTClinicalFindings
                              (example to http://hl7.org/fhir/ValueSet/clinical-findings)

                              Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.

                              TypeCodeableConcept
                              Is Modifierfalse
                              Must Supporttrue
                              Summaryfalse
                              Alternate NamesSymptoms, Signs
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              146. AllergyIntolerance.reaction.description
                              Definition

                              Text description about the reaction as a whole, including details of the manifestation if required.

                              ShortDescription of the event as a whole
                              Comments

                              Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives.

                              Control0..1
                              Typestring
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summaryfalse
                              Alternate NamesNarrative, Text
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              148. AllergyIntolerance.reaction.onset
                              Definition

                              Record of the date and/or time of the onset of the Reaction.

                              ShortDate(/time) when manifestations showed
                              Control0..1
                              TypedateTime
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              150. AllergyIntolerance.reaction.severity
                              Definition

                              Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations.

                              Shortmild | moderate | severe (of event as a whole)
                              Comments

                              It is acknowledged that this assessment is very subjective. There may be some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions.

                              Control0..1
                              BindingThe codes SHALL be taken from AllergyIntoleranceSeverity
                              (required to http://hl7.org/fhir/ValueSet/reaction-event-severity|4.0.1)

                              Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.

                              Typecode
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              152. AllergyIntolerance.reaction.exposureRoute
                              Definition

                              Identification of the route by which the subject was exposed to the substance.

                              ShortHow the subject was exposed to the substance
                              Comments

                              The binding strength of this element is Preferred, meaning that codes are encouraged to draw from the RouteOfAdministration value set for interoperability purposes but are not required to do so to be considered conformant.

                              Control0..1
                              BindingThe codes SHOULD be taken from https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration
                              (preferred to https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration)

                              A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

                              TypeCodeableConcept
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              154. AllergyIntolerance.reaction.note
                              Definition

                              Additional text about the adverse reaction event not captured in other fields.

                              ShortText about event not captured in other fields
                              Comments

                              Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased.

                              Control0..*
                              TypeAnnotation
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))