MCC eCare Plan Draft Implementation Guide
0.1.0 - CI Build

MCC eCare Plan Draft Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: Chronic Kidney Disease Condition

Defining URL:http://hl7.org/fhir/us/mcc/StructureDefinition/ChronicKidneyDisease
Version:0.1.0
Name:ChronicKidneyDiseaseCondition
Title:Chronic Kidney Disease Conditions
Status:Draft as of 2020-06-29
Definition:

This profile constrains US Core Condition to chronic kidney disease conditions and supporting information.

Publisher:HL7 International - Patient Care WG
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/mcc/StructureDefinition/ChronicKidneyDisease

This profile sets additional expectations for the US Core Condition profile to record, search, and fetch condition or diagnosis terms representing chronic kidney disease (CKD) conditions associated with a patient. In addition to the requirements set in the US Core Condition profile, conditionCode is bound to a chronic kidney disease condition or diagnosis value set and the Condition.onset and Condition.recordedDate are set to “must support ‘’. In addition the profile seeks to record, search, fetch and associate supporting evidence for the diagnosis or state of CKD. While not limiting the possible evidence asserted, the profile explicitly seeks to find and represent evidence of end stage renal disease by looking for assertions of stage 5 chronic kidney disease conditions, evidence the patient is receiving dialysis or has had a kidney transplant. In addition, evidence may be expressed within a lab result profile. CKD relevant lab results may also be expressed elsewhere in the Care Plan. If present, family history of chronic kidney disease may also exist as pertinent information in the evidence element. The profile leverages the “Condition-Due To’’ extension defined on the base condition resource, which contains a profile on condition “CKD Type or Cause”. The profile allows expression of the kidney disease stage either through a pre-coordinated ICD10 or SNOMED CT code in the “CKD All stages” profile or through the “Stage” backbone element where post-coordinated stage can be expressed. The MCC IG Draft 1.0 CKD Profile, allows, but does not define post- coordinated staging. If the backbone element where post-coordinated stage can be expressed is used, care must be taken that the condition.code and condition.stage do not conflict.

Chronic Kidney Disease Profile Relationship Diagram

Formal Views of Profile Content

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

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.extension:Condition-dueTo.value[x]requiredhttps://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1222.6/expansion
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleUSCoreConditionCategoryCodes
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.coderequiredhttps://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1222.159/expansion
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

Constraints

IdPathDetailsRequirements
con-3ConditionCondition.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-4ConditionIf 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-5ConditionCondition.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-2ConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ConditionIf 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-4ConditionIf 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-5ConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ConditionA resource should have narrative for robust management
: text.`div`.exists()
us-core-1ConditionA code in Condition.category SHOULD be from US Core Condition Category Codes value set.
: where(category.memberOf('http://hl7.org/fhir/us/core/ValueSet/us-core-condition-category')).exists()
ele-1Condition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.extension:Condition-dueToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extension:Condition-dueToMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.extension:Condition-dueTo.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extension:Condition-dueTo.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.extension:Condition-dueTo.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.extension:resource-pertainsToGoalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extension:resource-pertainsToGoalMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.clinicalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.verificationStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.severityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.abatement[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.recordedDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.recorderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.asserterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-1Condition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
ele-1Condition.stageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.stage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.stage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.stage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.stage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.stage.summaryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.stage.assessmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.stage.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-2Condition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
ele-1Condition.evidenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.evidence.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.evidence.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.evidence.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.evidence.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:EndStageRenalDiseaseConditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:RenalTransplantAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:DialysisAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:ChronicKidneyDiseaseFamilyHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:EstimatedGlomerularFiltrationRateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:SerumCreatinineAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:UrineAlbuminCreatinineRatioAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:BloodUreaNitrogenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.evidence.detail:KidneyBiopsyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())