HL7 FHIR Implementation Guide: Transversal Clinical Core
1.0.0 - STU1

This page is part of the HL7 Belgium FHIR Implementation Guide - Core clinical profiles - transversal (v1.0.0: Trial Use) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: BeProblem

Official URL: https://www.ehealth.fgov.be/standards/fhir/core-clinical/StructureDefinition/be-problem Version: 1.0.0
Active as of 2021-01-10 Maturity Level: 1 Responsible: eHealth Platform Realm: BE Computable Name: BeProblem

Belgian federal profile. Initially based on the functional description of the NIHDI. Defines a patient’s known problem, a diagnostic or antecedent that deserves attention.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleBeVSProblemCategory
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleBeVSProblemCode
Condition.bodySiterequiredBeVSBodySite
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.extension:ProblemOriginTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.extension:ProblemOriginTypeMust 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.bodySite.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.bodySite.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.bodySite.extension:lateralityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCondition.bodySite.extension:lateralityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCondition.bodySite.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCondition.bodySite.textAll 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.abatement[x]All 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())