eHealth Infrastructure (v2019.5.3)

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

CarePlans can be constructed as a hierarchy of subplans. 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.

Subplans 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 subplans or procedureRequests. The status attribute can be used to either cancel or complete a plan or procedureRequest, if it is no longer relevant for the patient.

Responsible and responsibleHistory

A careplan can have a number of responsible CareTeams, Practitioners or Organizations with different roles who are responsible for monitoring or otherwise facilitate different aspects of the CarePlan. For instance a Practitioner could have the role of “monitoringResponsible”. All responsibles referenced from element responsible currently hold the responsibility defined by their role.

Historically responsible CareTeams, Practitioners or Organizations are referenced from element responsibleHistory. This structure is identical to values of the responsible element except that entries in responsibleHistory also carry a “period” which states the period during which the referenced party was responsible for the CarePlan.

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 Fri Jun 07 11:10:06 UTC 2019 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..*The 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-responsible 0..*(Complex)Individuals, careteam and/or organization responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... ehealth-responsibleHistory 0..*(Complex)Individuals, careteam and/or organization historically responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsibleHistory
... ehealth-careplan-responsibilitySummary 0..*(Complex)High level summary of responsibilities presented to patient.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-responsibilitySummary
... 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: CareplanCategory (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}

doco Documentation for this format

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*The 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)
... 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 0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-responsible 0..*(Complex)Individuals, careteam and/or organization responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... ehealth-responsibleHistory 0..*(Complex)Individuals, careteam and/or organization historically responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsibleHistory
... ehealth-careplan-responsibilitySummary 0..*(Complex)High level summary of responsibilities presented to patient.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-responsibilitySummary
... 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: CareplanCategory (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..1Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) {r}, stringIndividual responsible for the annotation
..... 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..1Timing, Period, stringWhen activity is to occur
..... 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..1CodeableConcept, Reference(Medication | Substance) {r}What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... 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..1Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) {r}, stringIndividual responsible for the annotation
.... 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..*The 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-responsible 0..*(Complex)Individuals, careteam and/or organization responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... ehealth-responsibleHistory 0..*(Complex)Individuals, careteam and/or organization historically responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsibleHistory
... ehealth-careplan-responsibilitySummary 0..*(Complex)High level summary of responsibilities presented to patient.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-responsibilitySummary
... 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: CareplanCategory (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}

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*The 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)
... 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 0..*(Complex)Historical statuses of this careplan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-statusHistory
... ehealth-responsible 0..*(Complex)Individuals, careteam and/or organization responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... ehealth-responsibleHistory 0..*(Complex)Individuals, careteam and/or organization historically responsible for monitoring this plan.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsibleHistory
... ehealth-careplan-responsibilitySummary 0..*(Complex)High level summary of responsibilities presented to patient.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careplan-responsibilitySummary
... 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: CareplanCategory (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..1Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) {r}, stringIndividual responsible for the annotation
..... 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..1Timing, Period, stringWhen activity is to occur
..... 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..1CodeableConcept, Reference(Medication | Substance) {r}What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... 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..1Reference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson) {r}, stringIndividual responsible for the annotation
.... time Σ0..1dateTimeWhen the annotation was made
.... text 1..1stringThe annotation - text content

doco Documentation for this format

 

Terminology Bindings

PathNameConformanceValueSet
CarePlan.languageCommon LanguagesextensibleCommon Languages
CarePlan.statusCarePlanStatusrequiredCarePlanStatus
CarePlan.intentCarePlanIntentrequiredCarePlanIntent
CarePlan.categoryCareplanCategoryrequiredCareplanCategory
CarePlan.activity.outcomeCodeableConceptCare Plan Activity OutcomeexampleCare Plan Activity Outcome
CarePlan.activity.detail.categoryCarePlanActivityCategoryexampleCarePlanActivityCategory
CarePlan.activity.detail.codeCare Plan ActivityexampleCare Plan Activity
CarePlan.activity.detail.reasonCodeActivity ReasonexampleActivity Reason
CarePlan.activity.detail.statusCarePlanActivityStatusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]SNOMED CT Medication CodesexampleSNOMED 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.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())
.