PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.ca.baseline@1.1.6-pre
    http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance
description: Proposed constraints and extensions on the AllergyIntolerance Resource
package_name: hl7.fhir.ca.baseline
derivation: constraint
name: AllergyIntoleranceProfile
type: AllergyIntolerance
elements:
  patient:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient']
    index: 20
  category: {index: 10}
  clinicalStatus: {isModifier: true, isModifierReason: 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., index: 1}
  encounter:
    type: Reference
    short: Encounter when the allergy or intolerance was asserted
    refers: ['http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter']
    index: 21
  asserter:
    type: Reference
    short: Source of the information about the allergy
    refers: ['http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient', 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner', 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole']
    index: 24
  recorder:
    type: Reference
    short: Who recorded the sensitivity
    refers: ['http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient', 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner', 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole']
    index: 23
  code:
    constraint:
      ca-baseline-allergy: {human: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept, severity: error, expression: 'AllergyIntolerance.code.coding.where(system = ''https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor'').exists() or AllergyIntolerance.verificationStatus.exists()'}
    mustSupport: true
    index: 11
    elements:
      coding:
        index: 12
        slicing:
          rules: closed
          discriminator:
          - {path: system, type: value}
          min: 0
          slices:
            NotAsked:
              match: {system: 'http://terminology.hl7.org/fhir/v3/NullFlavor'}
              schema:
                constraint:
                  ca-baseline-allergy-notasked: {human: 'if AllergyIntolerance.code is a NullFlavor value, then AllergyIntolerance.clinicalStatus, AllergyIntolerance.verificationStatus, AllergyIntolerance.type, AllergyIntolerance.category, AllergyIntolerance.criticality SHALL NOT be present', severity: error, expression: 'AllergyIntolerance.code.coding.where(system = ''https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor'').exists() implies (AllergyIntolerance.verificationStatus.exists().not() and AllergyIntolerance.type.exists().not() and AllergyIntolerance.category.exists().not() and AllergyIntolerance.criticality.exists().not())'}
                short: Code for NOT asked or NOT possible to obtain information about allergy or intolerance
                type: Coding
                binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor'}
                index: 13
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://terminology.hl7.org/fhir/v3/NullFlavor'}
                    index: 14
                  code: {index: 15}
                required: [system, code]
            NoAllergy:
              match: {system: 'http://snomed.info/sct'}
              schema:
                constraint:
                  ca-baseline-allergy-noallergy: {human: 'if AllergyIntolerance.code is ''716186003'' No known allergy, then AllergyIntolerance.verificationStatus SHALL be one of the following: confirmed | refuted | entered-in-error', severity: error, expression: 'AllergyIntolerance.code.coding.where(system = ''http://snomed.info/sct'' and code = ''716186003'').exists() and AllergyIntolerance.verificationStatus.coding.where(code = ''unconfirmed'').empty()'}
                short: Code when a patient has been asked and has indicated no history of allergies or intolerance
                type: Coding
                index: 16
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://snomed.info/sct'}
                    index: 17
                  code:
                    pattern: {type: Code, value: '716186003'}
                    index: 18
                required: [system, code]
            '@default':
              match: {system: null}
              schema:
                type: Coding
                binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/allergyintolerance-code'}
                index: 19
              min: 0
              max: 1
  identifier: {index: 0}
  onsetDateTime:
    type: dateTime
    index: 22
    slicing:
      slices:
        onsetDateTime:
          match: {}
          schema: {type: dateTime, index: 22}
          min: 0
  verificationStatus:
    isModifier: true
    isModifierReason: 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.
    index: 2
    elements:
      coding:
        type: Coding
        index: 3
        slicing:
          rules: open
          description: Discriminated by the bound value set
          discriminator:
          - {path: $this, type: pattern}
          min: 0
          slices:
            StatusCode:
              match: {}
              schema:
                short: Code for allergy or intolerance status
                type: Coding
                binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/allergyintolerancestatuscode'}
                index: 4
                elements:
                  system: {index: 5}
                  code: {index: 6}
                required: [system, code]
            HL7VerificationStatus:
              match: {}
              schema:
                short: Required value set for AllergyIntolerance Verification Status.
                type: Coding
                _required: true
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/allergyintolerance-verification|4.0.1'}
                index: 7
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification'}
                    index: 8
                  code: {index: 9}
                required: [system, code]
  reaction:
    elements:
      substance:
        short: Specific substance or pharmaceutical product considered to be responsible for event
        index: 25
        elements:
          coding:
            index: 26
            slicing:
              rules: closed
              discriminator:
              - {path: system, type: value}
              min: null
              slices:
                NonDrugAllergen:
                  match: {system: null}
                  schema:
                    type: Coding
                    short: Code for the specific non-drug allergen
                    binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/NonDrugAllergenCode'}
                    index: 27
                    elements:
                      system: {index: 28}
                      code: {index: 29}
                    required: [system, code]
                CCDD:
                  match: {system: 'https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset'}
                  schema:
                    type: Coding
                    short: Medicinal products for prescribing
                    binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct'}
                    index: 30
                    elements:
                      system:
                        pattern: {type: Uri, value: 'https://fhir.infoway-inforoute.ca/CodeSystem/canadianclinicaldrugdataset'}
                        index: 31
                      code: {index: 32}
                    required: [system, code]
                '@default':
                  match: {system: null}
                  schema:
                    type: Coding
                    short: Specific substance or pharmaceutical product considered to be responsible for event
                    binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/substance-code'}
                    index: 33
      manifestation: {mustSupport: true, index: 34}
      exposureRoute:
        type: CodeableConcept
        short: How the subject was exposed to the substance
        binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration'}
        index: 35
package_version: 1.1.6-pre
class: profile
kind: resource
url: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance
base: http://hl7.org/fhir/StructureDefinition/AllergyIntolerance
version: 1.0.0