eHealth Infrastructure (v2020.2)

StructureDefinition: ehealth-careplan

Introduction

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.

Scope and Usage

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).

Hierarchies of care plans

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.

Restrictions on deletion

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.

Responsible CareTeam and responsibleHistory

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.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan

This profile builds on CarePlan.

This profile was published on Tue Mar 31 08:26:16 UTC 2020 as a draft by ehealth.sundhed.dk.

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

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanThe intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-careplan-statusHistory 0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-teamHistory 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... definition 1..1Reference(eHealth PlanDefinition | eHealth Questionnaire) {r}Plan Definition
... basedOn 0..0
... replaces 0..0
... partOf 0..1Reference(eHealth CarePlan) {r}
... status 1..1codedraft | active | suspended | completed | entered-in-error | cancelled
... intent 1..1codeorder
... category 0..*CodeableConceptBinding: Careplan Category (required)
... subject 1..1Reference(eHealth Patient) {r}
... context 1..1Reference(eHealth EpisodeOfCare) {r}
... period 1..1Period
... author 0..*Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth Organization | eHealth CareTeam) {r}
... careTeam 0..*Reference(eHealth CareTeam) {r}
... addresses 1..1Reference(eHealth Condition) {r}
... supportingInfo 0..*Reference(Resource) {r}
... goal 0..*Reference(Goal) {r}
... activity
.... outcomeReference 0..*Reference(Resource) {r}
.... progress
..... author[x] 0..1
...... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
...... authorStringstring
.... reference 1..1Reference(eHealth ProcedureRequest) {rb}
.... detail
..... definition 0..1Reference(eHealth PlanDefinition | eHealth ActivityDefinition | eHealth Questionnaire) {r}
..... reasonReference 0..*Reference(eHealth Condition) {r}
..... goal 0..*Reference(Goal) {r}
..... location 0..1Reference(Location) {r}
..... performer 0..*Reference(eHealth Practitioner | eHealth Organization | eHealth RelatedPerson | eHealth Patient | eHealth CareTeam) {r}
..... product[x] 0..1
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
... note
.... author[x] 0..1
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring

doco Documentation for this format

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*CarePlanThe intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careplan-statusHistory I0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-teamHistory I0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this plan
... definition Σ1..1Reference(eHealth PlanDefinition | eHealth Questionnaire) {r}Plan Definition
... partOf Σ0..1Reference(eHealth CarePlan) {r}Part of referenced CarePlan
... status ?!Σ1..1codedraft | active | suspended | completed | entered-in-error | cancelled
Binding: CarePlanStatus (required)
... intent ?!Σ1..1codeorder
Binding: CarePlanIntent (required)
... category Σ0..*CodeableConceptType of plan
Binding: Careplan Category (required)
... title Σ0..1stringHuman-friendly name for the CarePlan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(eHealth Patient) {r}Who care plan is for
... context Σ1..1Reference(eHealth EpisodeOfCare) {r}Created in context of
... period Σ1..1PeriodTime period plan covers
... author Σ0..*Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth Organization | eHealth CareTeam) {r}Who is responsible for contents of the plan
... careTeam 0..*Reference(eHealth CareTeam) {r}Who's involved in plan?
... addresses Σ1..1Reference(eHealth Condition) {r}Health issues this plan addresses
... supportingInfo 0..*Reference(Resource) {r}Information considered as part of plan
... goal 0..*Reference(Goal) {r}Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: Care Plan Activity Outcome (example)
.... outcomeReference 0..*Reference(Resource) {r}Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... author[x] Σ0..1Individual responsible for the annotation
...... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
...... authorStringstring
..... time Σ0..1dateTimeWhen the annotation was made
..... text 1..1stringThe annotation - text content
.... reference I1..1Reference(eHealth ProcedureRequest) {rb}Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... definition 0..1Reference(eHealth PlanDefinition | eHealth ActivityDefinition | eHealth Questionnaire) {r}Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(eHealth Condition) {r}Condition triggering need for activity
..... goal 0..*Reference(Goal) {r}Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | unknown
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1stringReason for current status
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location) {r}Where it should happen
..... performer 0..*Reference(eHealth Practitioner | eHealth Organization | eHealth RelatedPerson | eHealth Patient | eHealth CareTeam) {r}Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..*AnnotationComments about the plan
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text 1..1stringThe annotation - text content

doco Documentation for this format

Differential View

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanThe intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-careplan-statusHistory 0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-teamHistory 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... definition 1..1Reference(eHealth PlanDefinition | eHealth Questionnaire) {r}Plan Definition
... basedOn 0..0
... replaces 0..0
... partOf 0..1Reference(eHealth CarePlan) {r}
... status 1..1codedraft | active | suspended | completed | entered-in-error | cancelled
... intent 1..1codeorder
... category 0..*CodeableConceptBinding: Careplan Category (required)
... subject 1..1Reference(eHealth Patient) {r}
... context 1..1Reference(eHealth EpisodeOfCare) {r}
... period 1..1Period
... author 0..*Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth Organization | eHealth CareTeam) {r}
... careTeam 0..*Reference(eHealth CareTeam) {r}
... addresses 1..1Reference(eHealth Condition) {r}
... supportingInfo 0..*Reference(Resource) {r}
... goal 0..*Reference(Goal) {r}
... activity
.... outcomeReference 0..*Reference(Resource) {r}
.... progress
..... author[x] 0..1
...... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
...... authorStringstring
.... reference 1..1Reference(eHealth ProcedureRequest) {rb}
.... detail
..... definition 0..1Reference(eHealth PlanDefinition | eHealth ActivityDefinition | eHealth Questionnaire) {r}
..... reasonReference 0..*Reference(eHealth Condition) {r}
..... goal 0..*Reference(Goal) {r}
..... location 0..1Reference(Location) {r}
..... performer 0..*Reference(eHealth Practitioner | eHealth Organization | eHealth RelatedPerson | eHealth Patient | eHealth CareTeam) {r}
..... product[x] 0..1
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
... note
.... author[x] 0..1
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*CarePlanThe intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careplan-statusHistory I0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-teamHistory I0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this plan
... definition Σ1..1Reference(eHealth PlanDefinition | eHealth Questionnaire) {r}Plan Definition
... partOf Σ0..1Reference(eHealth CarePlan) {r}Part of referenced CarePlan
... status ?!Σ1..1codedraft | active | suspended | completed | entered-in-error | cancelled
Binding: CarePlanStatus (required)
... intent ?!Σ1..1codeorder
Binding: CarePlanIntent (required)
... category Σ0..*CodeableConceptType of plan
Binding: Careplan Category (required)
... title Σ0..1stringHuman-friendly name for the CarePlan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(eHealth Patient) {r}Who care plan is for
... context Σ1..1Reference(eHealth EpisodeOfCare) {r}Created in context of
... period Σ1..1PeriodTime period plan covers
... author Σ0..*Reference(eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | eHealth Organization | eHealth CareTeam) {r}Who is responsible for contents of the plan
... careTeam 0..*Reference(eHealth CareTeam) {r}Who's involved in plan?
... addresses Σ1..1Reference(eHealth Condition) {r}Health issues this plan addresses
... supportingInfo 0..*Reference(Resource) {r}Information considered as part of plan
... goal 0..*Reference(Goal) {r}Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: Care Plan Activity Outcome (example)
.... outcomeReference 0..*Reference(Resource) {r}Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... author[x] Σ0..1Individual responsible for the annotation
...... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
...... authorStringstring
..... time Σ0..1dateTimeWhen the annotation was made
..... text 1..1stringThe annotation - text content
.... reference I1..1Reference(eHealth ProcedureRequest) {rb}Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... definition 0..1Reference(eHealth PlanDefinition | eHealth ActivityDefinition | eHealth Questionnaire) {r}Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(eHealth Condition) {r}Condition triggering need for activity
..... goal 0..*Reference(Goal) {r}Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | unknown
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1stringReason for current status
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location) {r}Where it should happen
..... performer 0..*Reference(eHealth Practitioner | eHealth Organization | eHealth RelatedPerson | eHealth Patient | eHealth CareTeam) {r}Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..*AnnotationComments about the plan
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text 1..1stringThe annotation - text content

doco Documentation for this format

 

Terminology Bindings

PathConformanceValueSet
CarePlan.languageextensibleCommon Languages
Max Binding: All Languages
CarePlan.statusrequiredCarePlanStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryrequiredCareplanCategory
CarePlan.activity.outcomeCodeableConceptexampleCare Plan Activity Outcome
CarePlan.activity.detail.categoryexampleCarePlanActivityCategory
CarePlan.activity.detail.codeexampleCare Plan Activity
CarePlan.activity.detail.reasonCodeexampleActivity Reason
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]exampleSNOMED CT Medication Codes

Constraints

IdPathDetailsRequirements
dom-2CarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CarePlanIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4CarePlanIf 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-3CarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1CarePlan.extension:statusHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1CarePlan.extension:statusHistoryMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.extension:teamHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1CarePlan.extension:teamHistoryMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.activityAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
cpl-3CarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
ele-1CarePlan.activity.detailAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.