CH-AllergyIntolerance (R4)
1.0.0 - STU 1

CH-AllergyIntolerance (R4), published by HL7 Switzerland. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/hl7ch/ch-allergyintolerance/ and changes regularly. See the Directory of published versions

Resource Profile: CH Allergy Intolerance Condition

Defining URL:http://fhir.ch/ig/ch-allergyintolerance/StructureDefinition/ch-allergyintolerance-condition
Version:1.0.0
Name:CHAllergyIntoleranceCondition
Title:CH Allergy Intolerance Condition
Status:Draft as of 1/19/22, 1:48 PM
Definition:

This profile represents the constraints applied to the Condition resource in the context of AllergyIntolerance as a problem-list item or a encounter-diagnosis entry in the Swiss realm - in adaption of the respective usecases provided in the Implementation Guide for Use of SNOMED CT in Documentation of Allergy, Non-allergic Hypersensitivity and Intolerance.

Publisher:HL7 Switzerland
Copyright:

CC-BY-SA-4.0

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://fhir.ch/ig/ch-allergyintolerance/StructureDefinition/ch-allergyintolerance-condition

Formal Views of Profile Content

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

This structure is derived from Condition

Summary

Mandatory: 1 element
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Condition.onset[x] is sliced based on the value of type:$this (Closed)
  • The element Condition.abatement[x] is sliced based on the value of type:$this (Closed)

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition S0..*ConditionDetailed information about conditions, problems or diagnoses
... clinicalStatus S0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
... verificationStatus S0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... category S0..*CodeableConceptproblem-list-item | encounter-diagnosis
... code S1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: CHAllergyIntoleranceConditionValueSet (extensible)
... bodySite S0..*CodeableConceptAnatomical location, if relevant
... subject 1..1Reference(CH Core Patient Profile)Who has the condition?
... Slices for onset[x] S0..1dateTime, Age, Period, Range, stringEstimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
... onsetDateTime S0..1dateTimeEstimated or actual date, date-time, or age
... onsetPeriod 0..1PeriodEstimated or actual date, date-time, or age
... Slices for abatement[x] S0..1dateTime, Age, Period, Range, stringWhen in resolution/remission
Slice: Unordered, Closed by type:$this
... abatementDateTime S0..1dateTimeWhen in resolution/remission
... abatementPeriod 0..1PeriodWhen in resolution/remission
... recorder 0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Who recorded the condition
... asserter S0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Person who asserts this condition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition SI0..*ConditionDetailed information about conditions, problems or diagnoses
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.

... category S0..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


... severity S0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.

... code SΣ1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: CHAllergyIntoleranceConditionValueSet (extensible)
... bodySite SΣ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject Σ1..1Reference(CH Core Patient Profile)Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... Slices for onset[x] SΣ0..1Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
.... onset[x]:onsetDateTime SΣ0..1dateTimeEstimated or actual date, date-time, or age
.... onset[x]:onsetPeriod Σ0..1PeriodEstimated or actual date, date-time, or age
... Slices for abatement[x] SI0..1When in resolution/remission
Slice: Unordered, Open by type:$this
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
.... abatementStringstring
.... abatement[x]:abatementDateTime SI0..1dateTimeWhen in resolution/remission
.... abatement[x]:abatementPeriod I0..1PeriodWhen in resolution/remission
... recordedDate Σ0..1dateTimeDate record was first recorded
... recorder Σ0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Who recorded the condition
... asserter SΣ0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Person who asserts this condition
... stage I0..*BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary I0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).

.... assessment I0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).

... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.


.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*ConditionDetailed information about conditions, problems or diagnoses
... clinicalStatus ?!ΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... verificationStatus ?!ΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.

... category 0..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


... code Σ1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: CHAllergyIntoleranceConditionValueSet (extensible)
... bodySite Σ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... Slices for onset[x] Σ0..1Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
.... onset[x]:onsetDateTime Σ0..1dateTimeEstimated or actual date, date-time, or age
... Slices for abatement[x] I0..1When in resolution/remission
Slice: Unordered, Open by type:$this
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
.... abatementStringstring
.... abatement[x]:abatementDateTime I0..1dateTimeWhen in resolution/remission
... asserter Σ0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Person who asserts this condition

doco Documentation for this format

This structure is derived from Condition

Summary

Mandatory: 1 element
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Condition.onset[x] is sliced based on the value of type:$this (Closed)
  • The element Condition.abatement[x] is sliced based on the value of type:$this (Closed)

Differential View

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition S0..*ConditionDetailed information about conditions, problems or diagnoses
... clinicalStatus S0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
... verificationStatus S0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... category S0..*CodeableConceptproblem-list-item | encounter-diagnosis
... code S1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: CHAllergyIntoleranceConditionValueSet (extensible)
... bodySite S0..*CodeableConceptAnatomical location, if relevant
... subject 1..1Reference(CH Core Patient Profile)Who has the condition?
... Slices for onset[x] S0..1dateTime, Age, Period, Range, stringEstimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
... onsetDateTime S0..1dateTimeEstimated or actual date, date-time, or age
... onsetPeriod 0..1PeriodEstimated or actual date, date-time, or age
... Slices for abatement[x] S0..1dateTime, Age, Period, Range, stringWhen in resolution/remission
Slice: Unordered, Closed by type:$this
... abatementDateTime S0..1dateTimeWhen in resolution/remission
... abatementPeriod 0..1PeriodWhen in resolution/remission
... recorder 0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Who recorded the condition
... asserter S0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Person who asserts this condition

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition SI0..*ConditionDetailed information about conditions, problems or diagnoses
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.

... category S0..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


... severity S0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.

... code SΣ1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: CHAllergyIntoleranceConditionValueSet (extensible)
... bodySite SΣ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject Σ1..1Reference(CH Core Patient Profile)Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... Slices for onset[x] SΣ0..1Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
.... onset[x]:onsetDateTime SΣ0..1dateTimeEstimated or actual date, date-time, or age
.... onset[x]:onsetPeriod Σ0..1PeriodEstimated or actual date, date-time, or age
... Slices for abatement[x] SI0..1When in resolution/remission
Slice: Unordered, Open by type:$this
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
.... abatementStringstring
.... abatement[x]:abatementDateTime SI0..1dateTimeWhen in resolution/remission
.... abatement[x]:abatementPeriod I0..1PeriodWhen in resolution/remission
... recordedDate Σ0..1dateTimeDate record was first recorded
... recorder Σ0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Who recorded the condition
... asserter SΣ0..1Reference(CH Core Practitioner Profile | CH Core Practitioner Role Profile | CH Core Patient Profile | RelatedPerson)Person who asserts this condition
... stage I0..*BackboneElementStage/grade, usually assessed formally
con-1: Stage SHALL have summary or assessment
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary I0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).

.... assessment I0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).

... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.


.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleCHAllergyIntoleranceConditionValueSet
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

Constraints

IdGradePathDetailsRequirements
con-3Best PracticeConditionCondition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
: clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4errorConditionIf condition is abated, then clinicalStatus must be either inactive, resolved, or remission
: abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5errorConditionCondition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dom-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorCondition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.clinicalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.verificationStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.severityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.onset[x]:onsetDateTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.onset[x]:onsetPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.abatement[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.abatement[x]:abatementDateTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.abatement[x]:abatementPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.recordedDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.recorderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.asserterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-1errorCondition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
ele-1errorCondition.stageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.stage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.stage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.stage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.stage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.stage.summaryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.stage.assessmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.stage.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-2errorCondition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
ele-1errorCondition.evidenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.evidence.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.evidence.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.evidence.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.evidence.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.evidence.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.evidence.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())