description: Proposed constraints and extensions on the AllergyIntolerance Resource package_name: OntarioacCDRFHIRImplementationGuide-0.10.00 derivation: constraint name: CDRAllergyIntolerance type: AllergyIntolerance elements: patient: type: Reference mustSupport: true refers: ['http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-profile-Patient'] index: 17 onset: choices: [] index: 20 slicing: discriminator: - {path: $this, type: type} min: null slices: onsetDateTime: match: {} schema: mustSupport: true choices: [onsetDateTime] index: 22 criticality: {mustSupport: true, index: 8} clinicalStatus: {mustSupport: 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: 4} meta: index: 0 elements: profile: pattern: {type: Canonical, value: 'http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-profile-AllergyIntolerance'} index: 1 required: [profile] encounter: type: Reference mustSupport: true refers: ['http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-profile-Encounter'] index: 18 type: {mustSupport: true, index: 7} asserter: type: Reference refers: ['http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-practitioner', 'http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-profile-Patient'] index: 25 contained: {mustSupport: true, index: 2} recorder: type: Reference refers: ['http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-practitioner'] index: 24 code: binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/allergy-intolerance-substance-condition-gps-uv-ips'} constraint: ca-baseline-allergy: {human: AllergyIntolerance.verificationStatus SHALL be present if AllergyIntolerance.code represents NullFlavor concept, source: 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance', severity: warning, expression: 'AllergyIntolerance.code.coding.where(system = ''https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor'').exists() or AllergyIntolerance.verificationStatus.exists()'} mustSupport: true index: 9 elements: coding: mustSupport: true index: 10 slicing: rules: closed discriminator: - {path: system, type: value} min: null slices: NotAsked: match: {system: 'http://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', source: 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance', 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 binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/NullFlavor'} index: 11 elements: system: pattern: {type: Uri, value: 'http://hl7.org/fhir/v3/NullFlavor'} index: 12 code: {index: 13} required: [system, code] SnomedAllergyOrNoAllergy: match: {system: 'http://snomed.info/sct'} schema: short: Code when a patient has been asked and has indicated no history of allergies or intolerance binding: {strength: required, valueSet: 'http://snomed.info/sct'} 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', source: 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-allergyintolerance', severity: warning, expression: 'AllergyIntolerance.code.coding.where(system = ''http://snomed.info/sct'' and code = ''716186003'').exists() and AllergyIntolerance.verificationStatus.coding.where(code = ''unconfirmed'').empty()'} index: 14 elements: system: pattern: {type: Uri, value: 'http://snomed.info/sct'} index: 15 code: {index: 16} required: [system, code] identifier: {mustSupport: true, index: 3} onsetDateTime: type: dateTime mustSupport: true choiceOf: onset index: 23 slicing: slices: onsetDateTime: match: {} schema: {type: dateTime, mustSupport: true, choiceOf: onset, index: 23} verificationStatus: mustSupport: true index: 5 elements: coding: {mustSupport: true, index: 6} reaction: mustSupport: true index: 26 elements: manifestation: binding: {strength: required, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/allergy-reaction-gps-uv-ips'} mustSupport: true index: 27 severity: {mustSupport: true, index: 28} exposureRoute: binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/RouteOfAdministration'} index: 29 package_version: 0.1.0 class: profile kind: resource url: http://ontariohealth.ca/fhir/StructureDefinition/ca-on-accdr-profile-AllergyIntolerance base: http://hl7.org/fhir/StructureDefinition/AllergyIntolerance version: 0.0.3 required: [meta, code]