{ "description": "Fresenius Condition Profile", "_filename": "StructureDefinition-fmc-condition-profile.json", "package_name": "fmcna.caredata.fhir.ig.r4", "date": null, "derivation": "constraint", "publisher": null, "fhirVersion": "4.0.1", "name": "FreseniusConidtion", "mapping": [ { "uri": "http://hl7.org/fhir/workflow", "name": "Workflow Pattern", "identity": "workflow" }, { "uri": "http://snomed.info/conceptdomain", "name": "SNOMED CT Concept Domain Binding", "identity": "sct-concept" }, { "uri": "http://hl7.org/v2", "name": "HL7 v2 Mapping", "identity": "v2" }, { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" }, { "uri": "http://hl7.org/fhir/fivews", "name": "FiveWs Pattern Mapping", "identity": "w5" }, { "uri": "http://snomed.org/attributebinding", "name": "SNOMED CT Attribute Binding", "identity": "sct-attr" } ], "abstract": false, "type": "Condition", "experimental": null, "resourceType": "StructureDefinition", "title": "Fresenius Condition Profile", "package_version": "1.1.8", "status": "active", "id": "431fb846-53b6-4610-a8eb-a8621e574f95", "kind": "resource", "url": "http://fkcfhir.org/fhir/StructureDefinition/fmc-condition-profile", "version": "1.1.7", "differential": { "element": [ { "id": "Condition", "path": "Condition", "constraint": [ { "key": "con-3", "human": "Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item", "xpath": "exists(f:clinicalStatus) or exists(f:verificationStatus/f:coding/f:code/@value='entered-in-error') or not(exists(category[@value='problem-list-item']))", "source": "http://hl7.org/fhir/StructureDefinition/Condition", "severity": "warning", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", "valueBoolean": true }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", "valueMarkdown": "Most systems will expect a clinicalStatus to be valued for problem-list-items that are managed over time, but might not need a clinicalStatus for point in time encounter-diagnosis." } ], "expression": "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()" }, { "key": "con-4", "human": "If condition is abated, then clinicalStatus must be either inactive, resolved, or remission", "xpath": "not(exists(*[starts-with(local-name(.), 'abatement')])) or exists(f:clinicalStatus/f:coding[f:system/@value='http://terminology.hl7.org/CodeSystem/condition-clinical' and f:code/@value=('resolved', 'remission', 'inactive')])", "source": "http://hl7.org/fhir/StructureDefinition/Condition", "severity": "error", "expression": "abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()" }, { "key": "con-5", "human": "Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error", "xpath": "not(exists(f:verificationStatus/f:coding[f:system/@value='http://terminology.hl7.org/CodeSystem/condition-ver-status' and f:code/@value='entered-in-error'])) or not(exists(f:clinicalStatus))", "source": "http://hl7.org/fhir/StructureDefinition/Condition", "severity": "error", "expression": "verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()" }, { "key": "dom-2", "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", "xpath": "not(parent::f:contained and f:contained)", "source": "http://hl7.org/fhir/StructureDefinition/DomainResource", "severity": "error", "expression": "contained.contained.empty()" }, { "key": "dom-3", "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", "source": "http://hl7.org/fhir/StructureDefinition/DomainResource", "severity": "error", "expression": "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()" }, { "key": "dom-4", "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", "source": "http://hl7.org/fhir/StructureDefinition/DomainResource", "severity": "error", "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" }, { "key": "dom-5", "human": "If a resource is contained in another resource, it SHALL NOT have a security label", "xpath": "not(exists(f:contained/*/f:meta/f:security))", "source": "http://hl7.org/fhir/StructureDefinition/DomainResource", "severity": "error", "expression": "contained.meta.security.empty()" }, { "key": "dom-6", "human": "A resource should have narrative for robust management", "xpath": "exists(f:text/h:div)", "source": "http://hl7.org/fhir/StructureDefinition/DomainResource", "severity": "warning", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", "valueBoolean": true }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." } ], "expression": "text.`div`.exists()" }, { "key": "cond-1", "human": "Condition onset start datetime must be less that current date + 1 year", "source": "http://fkcfhir.org/fhir/StructureDefinition/fmc-condition-profile", "severity": "error", "expression": "Condition.onsetPeriod.where(start <= (now() - 1 year))" } ] }, { "id": "Condition.extension", "min": 1, "path": "Condition.extension" }, { "id": "Condition.extension:conidtionType", "max": "1", "min": 0, "path": "Condition.extension", "type": [ { "code": "Extension", "profile": [ "http://fkcfhir.org/fhir/StructureDefinition/fmc-condition-type-extn" ] } ], "short": "Condition Type", "sliceName": "conidtionType", "mustSupport": true }, { "id": "Condition.extension:conidtionEoc", "max": "1", "min": 1, "path": "Condition.extension", "type": [ { "code": "Extension", "profile": [ "http://fkcfhir.org/fhir/StructureDefinition/fmc-condition-eoc-extn" ] } ], "short": "Condition Episode Of Care", "sliceName": "conidtionEoc", "mustSupport": true }, { "id": "Condition.identifier", "min": 1, "base": { "max": "*", "min": 1, "path": "Condition.identifier" }, "path": "Condition.identifier", "slicing": { "rules": "open", "discriminator": [ { "path": "system", "type": "value" } ] }, "mustSupport": true }, { "id": "Condition.identifier:ConditionIdentifier", "max": "1", "min": 1, "path": "Condition.identifier", "sliceName": "ConditionIdentifier", "mustSupport": true }, { "id": "Condition.identifier:ConditionIdentifier.system", "min": 1, "path": "Condition.identifier.system", "patternUri": "urn:oid:2.16.840.1.113883.3.7418.15.1" } ] }, "baseDefinition": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-encounter-diagnosis" }