Common Data Models Harmonization
1.0.0 - STU 1 Publication

Common Data Models Harmonization, published by HL7 International - Biomedical Research and Regulation Work Group. 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/HL7/cdmh/ and changes regularly. See the Directory of published versions

Resource Profile: CdmhCondition

Defining URL:http://hl7.org/fhir/us/cdmh/StructureDefinition/cdmh-condition
Version:1.0.0
Name:CdmhCondition
Title:CDMH Condition
Status:Draft as of 9/1/19
Definition:

This is the Condition Resource profile for the IG.

Publisher:HL7 International - Biomedical Research and Regulation Work Group
Copyright:

Used by permission of HL7, all rights reserved Creative Commons License

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/cdmh/StructureDefinition/cdmh-condition

Formal Views of Profile Content

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

This structure is derived from USCoreCondition

Summary

Mandatory: 1 element
Must-Support: 7 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleUSCoreConditionCategoryCodes
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleUSCoreConditionCode
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.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.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.code.extension:pcornet-condition-sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.code.extension:pcornet-condition-sourceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Condition.code.textAll 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.onset[x]:onsetDateTimeAll 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.abatement[x]:abatementDateTimeAll 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.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())