SNOMED CT Implementation Guide for FHIR
0.1.0 - CI Build

SNOMED CT Implementation Guide for FHIR, published by SNOMED International. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/IHTSDO/snomed-ig/ and changes regularly. See the Directory of published versions

StructureDefinition: AllergyIntoleranceSubstanceFocused

Profile of Allergy Intolerance resource with bindings to SNOMED CT Substances as well as additional constraints to avoid overlap with the binding.

The official URL for this profile is:

http://snomed.info/fhir/StructureDefinition/AllergyIntolerance-SubstanceFocused

Formal Views of Profile Content

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

This structure is derived from AllergyIntolerance

Summary

Fixed Value: 1 element
Prohibited: 1 element

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*AllergyIntoleranceAllergy or Intolerance (generally: Risk of adverse reaction to a substance)
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal ids for this item
... clinicalStatus ?!ΣI0..1CodeableConceptactive | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required)
... verificationStatus ?!ΣI0..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type ΣI0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... criticality ΣI0..1codelow | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required)
... code ΣI0..1CodeableConceptCode that identifies the substance or product which the patient has an allergy or intolerance to
Binding: SubstanceCode (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣI0..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
..... version ΣI0..1stringVersion of the system - if relevant
..... code ΣI0..1codeSymbol in syntax defined by the system
..... display ΣI0..1stringRepresentation defined by the system
..... userSelected ΣI0..1booleanIf this coding was chosen directly by the user
.... text ΣI0..1stringPlain text representation of the concept
... patient ΣI1..1Reference(Patient)Who the sensitivity is for
... encounter I0..1Reference(Encounter)Encounter when the allergy or intolerance was asserted
... onset[x] I0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... recordedDate I0..1dateTimeDate first version of the resource instance was recorded
... recorder I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the sensitivity
... asserter ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Source of the information about the allergy
... lastOccurrence I0..1dateTimeDate(/time) of last known occurrence of a reaction
... note I0..*AnnotationAdditional text not captured in other fields
... reaction I0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... substance I0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (extensible)
.... manifestation I1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (extensible)
.... description I0..1stringDescription of the event as a whole
.... onset I0..1dateTimeDate(/time) when manifestations showed
.... severity I0..1codemild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required)
.... exposureRoute I0..1CodeableConceptHow the subject was exposed to the substance
Binding: SNOMEDCTRouteCodes (extensible)
.... note I0..*AnnotationText about event not captured in other fields

doco Documentation for this format

This structure is derived from AllergyIntolerance

Summary

Fixed Value: 1 element
Prohibited: 1 element

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*AllergyIntoleranceAllergy or Intolerance (generally: Risk of adverse reaction to a substance)
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal ids for this item
... clinicalStatus ?!ΣI0..1CodeableConceptactive | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required)
... verificationStatus ?!ΣI0..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type ΣI0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... criticality ΣI0..1codelow | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required)
... code ΣI0..1CodeableConceptCode that identifies the substance or product which the patient has an allergy or intolerance to
Binding: SubstanceCode (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣI0..1uriIdentity of the terminology system
Fixed Value: http://snomed.info/sct
..... version ΣI0..1stringVersion of the system - if relevant
..... code ΣI0..1codeSymbol in syntax defined by the system
..... display ΣI0..1stringRepresentation defined by the system
..... userSelected ΣI0..1booleanIf this coding was chosen directly by the user
.... text ΣI0..1stringPlain text representation of the concept
... patient ΣI1..1Reference(Patient)Who the sensitivity is for
... encounter I0..1Reference(Encounter)Encounter when the allergy or intolerance was asserted
... onset[x] I0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... recordedDate I0..1dateTimeDate first version of the resource instance was recorded
... recorder I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the sensitivity
... asserter ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Source of the information about the allergy
... lastOccurrence I0..1dateTimeDate(/time) of last known occurrence of a reaction
... note I0..*AnnotationAdditional text not captured in other fields
... reaction I0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... substance I0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (extensible)
.... manifestation I1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (extensible)
.... description I0..1stringDescription of the event as a whole
.... onset I0..1dateTimeDate(/time) when manifestations showed
.... severity I0..1codemild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required)
.... exposureRoute I0..1CodeableConceptHow the subject was exposed to the substance
Binding: SNOMEDCTRouteCodes (extensible)
.... note I0..*AnnotationText about event not captured in other fields

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
AllergyIntolerance.languagepreferredCommonLanguages
Max Binding: AllLanguages
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
AllergyIntolerance.typerequiredAllergyIntoleranceType
AllergyIntolerance.criticalityrequiredAllergyIntoleranceCriticality
AllergyIntolerance.codeextensibleSubstanceCode
AllergyIntolerance.reaction.substanceextensibleSubstanceCode
AllergyIntolerance.reaction.manifestationextensibleSNOMEDCTClinicalFindings
AllergyIntolerance.reaction.severityrequiredAllergyIntoleranceSeverity
AllergyIntolerance.reaction.exposureRouteextensibleSNOMEDCTRouteCodes

Constraints

Constraints

IdPathDetailsRequirements
ait-1AllergyIntoleranceAllergyIntolerance.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-2AllergyIntoleranceAllergyIntolerance.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-2AllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3AllergyIntoleranceIf 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-4AllergyIntoleranceIf 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-5AllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6AllergyIntoleranceA resource should have narrative for robust management
: text.`div`.exists()
ele-1AllergyIntolerance.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.clinicalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.verificationStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.criticalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
code-1AllergyIntolerance.codeA code or a note must exist
: code.exists() or note.exists()
ele-1AllergyIntolerance.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.code.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.code.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.code.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.recordedDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.recorderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.asserterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.lastOccurrenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reactionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.reaction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.reaction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.reaction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.reaction.substanceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.manifestationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.onsetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.severityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.exposureRouteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())