eHealth Infrastructure - Local Development build (v2021.3.0). See the Directory of published versions
Defining URL: | http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan |
Version: | 2021.3.0 |
Name: | ehealth-careplan |
Status: | Active as of 2021-11-25T09:32:14+00:00 |
Publisher: | Systematic | Trifork |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan
A CarePlan describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.
In scope of the eHealth infrastructure CarePlans represent specific tele-medicine plans prepared by a Practitioner and applied to a specific Patient for the treatment a condition such as chronic obstructive pulmonary disease (COPD).
A CarePlan can be constructed as a hierarchy of sub plans. The initial hierarchy is inherited from the PlanDefinition, but can be modified for the specific patient. This modification is possible both when instantiating the CarePlan and during execution of the plan.
Sub plans can be attached by making them partOf
the parent plan.
In order to preserve the context and history, it is not allowed to delete sub plans or remove ProcedureRequest from the CarePlan.
The status
element can be used to either cancel
or complete
a CarePlan or ProcedureRequest, if it is no longer relevant for the Patient.
The history of changes in status
is automatically maintained in the element ehealth-careplan-statusHistory
.
A CarePlan can have a number of responsible CareTeam set in careTeam
. The history of changes in careTeam
is automatically maintained in the element ehealth-teamHistory
.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
CarePlan.language | preferred | CommonLanguages Max Binding: AllLanguages |
CarePlan.status | required | RequestStatus |
CarePlan.intent | required | CarePlanIntent |
CarePlan.category | required | CareplanCategory |
CarePlan.activity.outcomeCodeableConcept | example | CarePlanActivityOutcome |
CarePlan.activity.detail.kind | required | CarePlanActivityKind |
CarePlan.activity.detail.code | example | ProcedureCodes(SNOMEDCT) |
CarePlan.activity.detail.reasonCode | example | SNOMEDCTClinicalFindings |
CarePlan.activity.detail.status | required | CarePlanActivityStatus |
CarePlan.activity.detail.product[x] | example | SNOMEDCTMedicationCodes |
Id | Path | Details | Requirements |
dom-2 | CarePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | CarePlan | 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 : 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-4 | CarePlan | If 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-5 | CarePlan | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | CarePlan | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | CarePlan.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.extension:episodeOfCare | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension:episodeOfCare | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.extension:statusHistory | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension:statusHistory | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.extension:teamHistory | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension:teamHistory | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.extension:statusSchedule | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension:statusSchedule | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.extension:teamSchedule | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.extension:teamSchedule | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.instantiatesUri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.intent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.created | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.contributor | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.careTeam | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.addresses | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.supportingInfo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.goal | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
cpl-3 | CarePlan.activity | Provide a reference or detail, not both : detail.empty() or reference.empty() | |
ele-1 | CarePlan.activity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.activity.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.activity.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.activity.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.activity.outcomeCodeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.outcomeReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.activity.progress.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.activity.progress.author[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress.author[x]:authorReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress.author[x]:authorString | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress.time | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.progress.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.activity.detail.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.activity.detail.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.activity.detail.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.activity.detail.kind | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.instantiatesUri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.goal | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.doNotPerform | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.scheduled[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.performer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.product[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.dailyAmount | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.quantity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.activity.detail.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CarePlan.note.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CarePlan.note.author[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note.author[x]:authorReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note.author[x]:authorString | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note.time | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CarePlan.note.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |