This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Patient Care Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Encounter, Patient, Practitioner, RelatedPerson |
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.
CarePlan is one of the request resources in the FHIR workflow specification.
Care Plans are used in many areas of healthcare with a variety of scopes. They can be as simple as a general practitioner keeping track of when their patient is next due for a tetanus immunization through to a detailed plan for an oncology patient covering diet, chemotherapy, radiation, lab work and counseling with detailed timing relationships, pre-conditions and goals. They may be used in veterinary care or clinical research to describe the care of a herd or other collection of animals. In public health, they may describe education or immunization campaigns.
This resource takes an intermediate approach to complexity. It captures basic details about who is involved and what actions are intended without dealing in discrete data about dependencies and timing relationships. These can be supported where necessary using the extension mechanism.
The scope of care plans may vary widely. Examples include:
This resource can be used to represent both proposed plans (for example, recommendations from a decision support engine or returned as part of a consult report) as well as active plans. The nature of the plan is communicated by the status. Some systems may need to filter CarePlans to ensure that only appropriate plans are exposed via a given user interface.
For simplicity's sake, CarePlan allows the inline definition of activities as part of a plan using
the activity.detail
element. However, activities can also be defined using references
to the various "request" resources. These references could be to resources with a status of
"planned" or to an active order. It is possible for planned activities to exist (e.g. appointments)
without needing a CarePlan at all. CarePlans are used when there's a need to group activities,
goals and/or participants together to provide some degree of context.
CarePlans can be tied to specific Conditions, however they can also be condition-independent and instead focused on a particular type of care (e.g. psychological, nutritional) or the care delivered by a particular practitioner or group of practitioners.
An ImmunizationRecommendation can be interpreted as a narrow type of CarePlan dealing only with immunization events. Where such information could appear in either resource, the immunization-specific resource is preferred.
CarePlans represent a specific plan instance for a particular patient or group. It is not intended to be used to define generic plans or protocols that are independent of a specific individual or group. CarePlan represents a specific intent, not a general definition. Protocols and order sets are supported through PlanDefinition.
This resource is referenced by itself, DiagnosticReport, GuidanceResponse, ImagingStudy, Media, MedicationRequest, MedicationStatement, Observation, Procedure, QuestionnaireResponse and ServiceRequest.
This resource implements the Request pattern.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | TU | DomainResource | Healthcare plan for patient or group Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | External Ids for this plan |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan) | Fulfills CarePlan |
replaces | Σ | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan |
partOf | Σ | 0..* | Reference(CarePlan) | Part of referenced CarePlan |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Care Plan Intent (Required) |
category | Σ | 0..* | CodeableConcept | Type of plan Care Plan Category (Example) |
title | Σ | 0..1 | string | Human-friendly name for the care plan |
description | Σ | 0..1 | string | Summary of nature of plan |
subject | Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of |
period | Σ | 0..1 | Period | Time period plan covers |
created | Σ | 0..1 | dateTime | Date record was first recorded |
author | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who is the designated responsible party |
contributor | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan | |
careTeam | 0..* | Reference(CareTeam) | Who's involved in plan? | |
addresses | Σ | 0..* | Reference(Condition) | Health issues this plan addresses |
supportingInfo | 0..* | Reference(Any) | Information considered as part of plan | |
goal | 0..* | Reference(Goal) | Desired outcome of plan | |
activity | I | 0..* | BackboneElement | Action to occur as part of plan + Rule: Provide a reference or detail, not both |
outcomeCodeableConcept | 0..* | CodeableConcept | Results of the activity Care Plan Activity Outcome (Example) | |
outcomeReference | 0..* | Reference(Any) | Appointment, Encounter, Procedure, etc. | |
progress | 0..* | Annotation | Comments about the activity status/progress | |
reference | I | 0..1 | Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) | Activity details defined in specific resource |
detail | I | 0..1 | BackboneElement | In-line definition of activity |
kind | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Care Plan Activity Kind (Required) | |
instantiatesCanonical | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition | |
instantiatesUri | 0..* | uri | Instantiates external protocol or definition | |
code | 0..1 | CodeableConcept | Detail type of activity Procedure Codes (SNOMED CT) (Example) | |
reasonCode | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited SNOMED CT Clinical Findings (Example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed | |
goal | 0..* | Reference(Goal) | Goals this activity relates to | |
status | ?! | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error CarePlanActivityStatus (Required) |
statusReason | 0..1 | CodeableConcept | Reason for current status | |
doNotPerform | ?! | 0..1 | boolean | If true, activity is prohibiting action |
scheduled[x] | 0..1 | When activity is to occur | ||
scheduledTiming | Timing | |||
scheduledPeriod | Period | |||
scheduledString | string | |||
location | 0..1 | Reference(Location) | Where it should happen | |
performer | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible? | |
product[x] | 0..1 | What is to be administered/supplied SNOMED CT Medication Codes (Example) | ||
productCodeableConcept | CodeableConcept | |||
productReference | Reference(Medication | Substance) | |||
dailyAmount | 0..1 | SimpleQuantity | How to consume/day? | |
quantity | 0..1 | SimpleQuantity | How much to administer/supply/consume | |
description | 0..1 | string | Extra info describing activity to perform | |
note | 0..* | Annotation | Comments about the plan | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<CarePlan xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this plan --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan) Fulfills CarePlan --></basedOn> <replaces><!-- 0..* Reference(CarePlan) CarePlan replaced by this CarePlan --></replaces> <partOf><!-- 0..* Reference(CarePlan) Part of referenced CarePlan --></partOf> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | order | option --> <category><!-- 0..* CodeableConcept Type of plan --></category> <title value="[string]"/><!-- 0..1 Human-friendly name for the care plan --> <description value="[string]"/><!-- 0..1 Summary of nature of plan --> <subject><!-- 1..1 Reference(Group|Patient) Who the care plan is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <period><!-- 0..1 Period Time period plan covers --></period> <created value="[dateTime]"/><!-- 0..1 Date record was first recorded --> <author><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who is the designated responsible party --></author> <contributor><!-- 0..* Reference(CareTeam|Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Who provided the content of the care plan --></contributor> <careTeam><!-- 0..* Reference(CareTeam) Who's involved in plan? --></careTeam> <addresses><!-- 0..* Reference(Condition) Health issues this plan addresses --></addresses> <supportingInfo><!-- 0..* Reference(Any) Information considered as part of plan --></supportingInfo> <goal><!-- 0..* Reference(Goal) Desired outcome of plan --></goal> <activity> <!-- 0..* Action to occur as part of plan --> <outcomeCodeableConcept><!-- 0..* CodeableConcept Results of the activity --></outcomeCodeableConcept> <outcomeReference><!-- 0..* Reference(Any) Appointment, Encounter, Procedure, etc. --></outcomeReference> <progress><!-- 0..* Annotation Comments about the activity status/progress --></progress> <reference><!-- 0..1 Reference(Appointment|CommunicationRequest|DeviceRequest| MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|Task| VisionPrescription) Activity details defined in specific resource --></reference> <detail> <!-- 0..1 In-line definition of activity --> <kind value="[code]"/><!-- 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription --> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <code><!-- 0..1 CodeableConcept Detail type of activity --></code> <reasonCode><!-- 0..* CodeableConcept Why activity should be done or why activity was prohibited --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why activity is needed --></reasonReference> <goal><!-- 0..* Reference(Goal) Goals this activity relates to --></goal> <status value="[code]"/><!-- 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <doNotPerform value="[boolean]"/><!-- 0..1 If true, activity is prohibiting action --> <scheduled[x]><!-- 0..1 Timing|Period|string When activity is to occur --></scheduled[x]> <location><!-- 0..1 Reference(Location) Where it should happen --></location> <performer><!-- 0..* Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who will be responsible? --></performer> <product[x]><!-- 0..1 CodeableConcept|Reference(Medication|Substance) What is to be administered/supplied --></product[x]> <dailyAmount><!-- 0..1 Quantity(SimpleQuantity) How to consume/day? --></dailyAmount> <quantity><!-- 0..1 Quantity(SimpleQuantity) How much to administer/supply/consume --></quantity> <description value="[string]"/><!-- 0..1 Extra info describing activity to perform --> </detail> </activity> <note><!-- 0..* Annotation Comments about the plan --></note> </CarePlan>
JSON Template
{ "resourceType" : "CarePlan", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Ids for this plan "instantiatesCanonical" : [{ canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan) }], // Fulfills CarePlan "replaces" : [{ Reference(CarePlan) }], // CarePlan replaced by this CarePlan "partOf" : [{ Reference(CarePlan) }], // Part of referenced CarePlan "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | order | option "category" : [{ CodeableConcept }], // Type of plan "title" : "<string>", // Human-friendly name for the care plan "description" : "<string>", // Summary of nature of plan "subject" : { Reference(Group|Patient) }, // R! Who the care plan is for "encounter" : { Reference(Encounter) }, // Encounter created as part of "period" : { Period }, // Time period plan covers "created" : "<dateTime>", // Date record was first recorded "author" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who is the designated responsible party "contributor" : [{ Reference(CareTeam|Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) }], // Who provided the content of the care plan "careTeam" : [{ Reference(CareTeam) }], // Who's involved in plan? "addresses" : [{ Reference(Condition) }], // Health issues this plan addresses "supportingInfo" : [{ Reference(Any) }], // Information considered as part of plan "goal" : [{ Reference(Goal) }], // Desired outcome of plan "activity" : [{ // Action to occur as part of plan "outcomeCodeableConcept" : [{ CodeableConcept }], // Results of the activity "outcomeReference" : [{ Reference(Any) }], // Appointment, Encounter, Procedure, etc. "progress" : [{ Annotation }], // Comments about the activity status/progress "reference" : { Reference(Appointment|CommunicationRequest|DeviceRequest| MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|Task| VisionPrescription) }, // C? Activity details defined in specific resource "detail" : { // C? In-line definition of activity "kind" : "<code>", // Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription "instantiatesCanonical" : [{ canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "code" : { CodeableConcept }, // Detail type of activity "reasonCode" : [{ CodeableConcept }], // Why activity should be done or why activity was prohibited "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why activity is needed "goal" : [{ Reference(Goal) }], // Goals this activity relates to "status" : "<code>", // R! not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error "statusReason" : { CodeableConcept }, // Reason for current status "doNotPerform" : <boolean>, // If true, activity is prohibiting action // scheduled[x]: When activity is to occur. One of these 3: "scheduledTiming" : { Timing }, "scheduledPeriod" : { Period }, "scheduledString" : "<string>", "location" : { Reference(Location) }, // Where it should happen "performer" : [{ Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who will be responsible? // product[x]: What is to be administered/supplied. One of these 2: "productCodeableConcept" : { CodeableConcept }, "productReference" : { Reference(Medication|Substance) }, "dailyAmount" : { Quantity(SimpleQuantity) }, // How to consume/day? "quantity" : { Quantity(SimpleQuantity) }, // How much to administer/supply/consume "description" : "<string>" // Extra info describing activity to perform } }], "note" : [{ Annotation }] // Comments about the plan }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:CarePlan; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:CarePlan.identifier [ Identifier ], ... ; # 0..* External Ids for this plan fhir:CarePlan.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:CarePlan.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:CarePlan.basedOn [ Reference(CarePlan) ], ... ; # 0..* Fulfills CarePlan fhir:CarePlan.replaces [ Reference(CarePlan) ], ... ; # 0..* CarePlan replaced by this CarePlan fhir:CarePlan.partOf [ Reference(CarePlan) ], ... ; # 0..* Part of referenced CarePlan fhir:CarePlan.status [ code ]; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:CarePlan.intent [ code ]; # 1..1 proposal | plan | order | option fhir:CarePlan.category [ CodeableConcept ], ... ; # 0..* Type of plan fhir:CarePlan.title [ string ]; # 0..1 Human-friendly name for the care plan fhir:CarePlan.description [ string ]; # 0..1 Summary of nature of plan fhir:CarePlan.subject [ Reference(Group|Patient) ]; # 1..1 Who the care plan is for fhir:CarePlan.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers fhir:CarePlan.created [ dateTime ]; # 0..1 Date record was first recorded fhir:CarePlan.author [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who is the designated responsible party fhir:CarePlan.contributor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ], ... ; # 0..* Who provided the content of the care plan fhir:CarePlan.careTeam [ Reference(CareTeam) ], ... ; # 0..* Who's involved in plan? fhir:CarePlan.addresses [ Reference(Condition) ], ... ; # 0..* Health issues this plan addresses fhir:CarePlan.supportingInfo [ Reference(Any) ], ... ; # 0..* Information considered as part of plan fhir:CarePlan.goal [ Reference(Goal) ], ... ; # 0..* Desired outcome of plan fhir:CarePlan.activity [ # 0..* Action to occur as part of plan fhir:CarePlan.activity.outcomeCodeableConcept [ CodeableConcept ], ... ; # 0..* Results of the activity fhir:CarePlan.activity.outcomeReference [ Reference(Any) ], ... ; # 0..* Appointment, Encounter, Procedure, etc. fhir:CarePlan.activity.progress [ Annotation ], ... ; # 0..* Comments about the activity status/progress fhir:CarePlan.activity.reference [ Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder| RequestGroup|ServiceRequest|Task|VisionPrescription) ]; # 0..1 Activity details defined in specific resource fhir:CarePlan.activity.detail [ # 0..1 In-line definition of activity fhir:CarePlan.activity.detail.kind [ code ]; # 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription fhir:CarePlan.activity.detail.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:CarePlan.activity.detail.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:CarePlan.activity.detail.code [ CodeableConcept ]; # 0..1 Detail type of activity fhir:CarePlan.activity.detail.reasonCode [ CodeableConcept ], ... ; # 0..* Why activity should be done or why activity was prohibited fhir:CarePlan.activity.detail.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why activity is needed fhir:CarePlan.activity.detail.goal [ Reference(Goal) ], ... ; # 0..* Goals this activity relates to fhir:CarePlan.activity.detail.status [ code ]; # 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error fhir:CarePlan.activity.detail.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:CarePlan.activity.detail.doNotPerform [ boolean ]; # 0..1 If true, activity is prohibiting action # CarePlan.activity.detail.scheduled[x] : 0..1 When activity is to occur. One of these 3 fhir:CarePlan.activity.detail.scheduledTiming [ Timing ] fhir:CarePlan.activity.detail.scheduledPeriod [ Period ] fhir:CarePlan.activity.detail.scheduledString [ string ] fhir:CarePlan.activity.detail.location [ Reference(Location) ]; # 0..1 Where it should happen fhir:CarePlan.activity.detail.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ], ... ; # 0..* Who will be responsible? # CarePlan.activity.detail.product[x] : 0..1 What is to be administered/supplied. One of these 2 fhir:CarePlan.activity.detail.productCodeableConcept [ CodeableConcept ] fhir:CarePlan.activity.detail.productReference [ Reference(Medication|Substance) ] fhir:CarePlan.activity.detail.dailyAmount [ Quantity(SimpleQuantity) ]; # 0..1 How to consume/day? fhir:CarePlan.activity.detail.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much to administer/supply/consume fhir:CarePlan.activity.detail.description [ string ]; # 0..1 Extra info describing activity to perform ]; ], ...; fhir:CarePlan.note [ Annotation ], ... ; # 0..* Comments about the plan ]
Changes since R3
CarePlan | |
CarePlan.status |
|
CarePlan.intent |
|
CarePlan.activity.detail.kind |
|
CarePlan.activity.detail.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 11 tests that all execute ok. All tests pass round-trip testing and 10 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CarePlan | TU | DomainResource | Healthcare plan for patient or group Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | External Ids for this plan |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan) | Fulfills CarePlan |
replaces | Σ | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan |
partOf | Σ | 0..* | Reference(CarePlan) | Part of referenced CarePlan |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Care Plan Intent (Required) |
category | Σ | 0..* | CodeableConcept | Type of plan Care Plan Category (Example) |
title | Σ | 0..1 | string | Human-friendly name for the care plan |
description | Σ | 0..1 | string | Summary of nature of plan |
subject | Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of |
period | Σ | 0..1 | Period | Time period plan covers |
created | Σ | 0..1 | dateTime | Date record was first recorded |
author | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who is the designated responsible party |
contributor | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan | |
careTeam | 0..* | Reference(CareTeam) | Who's involved in plan? | |
addresses | Σ | 0..* | Reference(Condition) | Health issues this plan addresses |
supportingInfo | 0..* | Reference(Any) | Information considered as part of plan | |
goal | 0..* | Reference(Goal) | Desired outcome of plan | |
activity | I | 0..* | BackboneElement | Action to occur as part of plan + Rule: Provide a reference or detail, not both |
outcomeCodeableConcept | 0..* | CodeableConcept | Results of the activity Care Plan Activity Outcome (Example) | |
outcomeReference | 0..* | Reference(Any) | Appointment, Encounter, Procedure, etc. | |
progress | 0..* | Annotation | Comments about the activity status/progress | |
reference | I | 0..1 | Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) | Activity details defined in specific resource |
detail | I | 0..1 | BackboneElement | In-line definition of activity |
kind | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Care Plan Activity Kind (Required) | |
instantiatesCanonical | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition | |
instantiatesUri | 0..* | uri | Instantiates external protocol or definition | |
code | 0..1 | CodeableConcept | Detail type of activity Procedure Codes (SNOMED CT) (Example) | |
reasonCode | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited SNOMED CT Clinical Findings (Example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed | |
goal | 0..* | Reference(Goal) | Goals this activity relates to | |
status | ?! | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error CarePlanActivityStatus (Required) |
statusReason | 0..1 | CodeableConcept | Reason for current status | |
doNotPerform | ?! | 0..1 | boolean | If true, activity is prohibiting action |
scheduled[x] | 0..1 | When activity is to occur | ||
scheduledTiming | Timing | |||
scheduledPeriod | Period | |||
scheduledString | string | |||
location | 0..1 | Reference(Location) | Where it should happen | |
performer | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible? | |
product[x] | 0..1 | What is to be administered/supplied SNOMED CT Medication Codes (Example) | ||
productCodeableConcept | CodeableConcept | |||
productReference | Reference(Medication | Substance) | |||
dailyAmount | 0..1 | SimpleQuantity | How to consume/day? | |
quantity | 0..1 | SimpleQuantity | How much to administer/supply/consume | |
description | 0..1 | string | Extra info describing activity to perform | |
note | 0..* | Annotation | Comments about the plan | |
Documentation for this format |
XML Template
<CarePlan xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this plan --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan) Fulfills CarePlan --></basedOn> <replaces><!-- 0..* Reference(CarePlan) CarePlan replaced by this CarePlan --></replaces> <partOf><!-- 0..* Reference(CarePlan) Part of referenced CarePlan --></partOf> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | order | option --> <category><!-- 0..* CodeableConcept Type of plan --></category> <title value="[string]"/><!-- 0..1 Human-friendly name for the care plan --> <description value="[string]"/><!-- 0..1 Summary of nature of plan --> <subject><!-- 1..1 Reference(Group|Patient) Who the care plan is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <period><!-- 0..1 Period Time period plan covers --></period> <created value="[dateTime]"/><!-- 0..1 Date record was first recorded --> <author><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who is the designated responsible party --></author> <contributor><!-- 0..* Reference(CareTeam|Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Who provided the content of the care plan --></contributor> <careTeam><!-- 0..* Reference(CareTeam) Who's involved in plan? --></careTeam> <addresses><!-- 0..* Reference(Condition) Health issues this plan addresses --></addresses> <supportingInfo><!-- 0..* Reference(Any) Information considered as part of plan --></supportingInfo> <goal><!-- 0..* Reference(Goal) Desired outcome of plan --></goal> <activity> <!-- 0..* Action to occur as part of plan --> <outcomeCodeableConcept><!-- 0..* CodeableConcept Results of the activity --></outcomeCodeableConcept> <outcomeReference><!-- 0..* Reference(Any) Appointment, Encounter, Procedure, etc. --></outcomeReference> <progress><!-- 0..* Annotation Comments about the activity status/progress --></progress> <reference><!-- 0..1 Reference(Appointment|CommunicationRequest|DeviceRequest| MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|Task| VisionPrescription) Activity details defined in specific resource --></reference> <detail> <!-- 0..1 In-line definition of activity --> <kind value="[code]"/><!-- 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription --> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <code><!-- 0..1 CodeableConcept Detail type of activity --></code> <reasonCode><!-- 0..* CodeableConcept Why activity should be done or why activity was prohibited --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why activity is needed --></reasonReference> <goal><!-- 0..* Reference(Goal) Goals this activity relates to --></goal> <status value="[code]"/><!-- 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <doNotPerform value="[boolean]"/><!-- 0..1 If true, activity is prohibiting action --> <scheduled[x]><!-- 0..1 Timing|Period|string When activity is to occur --></scheduled[x]> <location><!-- 0..1 Reference(Location) Where it should happen --></location> <performer><!-- 0..* Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who will be responsible? --></performer> <product[x]><!-- 0..1 CodeableConcept|Reference(Medication|Substance) What is to be administered/supplied --></product[x]> <dailyAmount><!-- 0..1 Quantity(SimpleQuantity) How to consume/day? --></dailyAmount> <quantity><!-- 0..1 Quantity(SimpleQuantity) How much to administer/supply/consume --></quantity> <description value="[string]"/><!-- 0..1 Extra info describing activity to perform --> </detail> </activity> <note><!-- 0..* Annotation Comments about the plan --></note> </CarePlan>
JSON Template
{ "resourceType" : "CarePlan", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Ids for this plan "instantiatesCanonical" : [{ canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan) }], // Fulfills CarePlan "replaces" : [{ Reference(CarePlan) }], // CarePlan replaced by this CarePlan "partOf" : [{ Reference(CarePlan) }], // Part of referenced CarePlan "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | order | option "category" : [{ CodeableConcept }], // Type of plan "title" : "<string>", // Human-friendly name for the care plan "description" : "<string>", // Summary of nature of plan "subject" : { Reference(Group|Patient) }, // R! Who the care plan is for "encounter" : { Reference(Encounter) }, // Encounter created as part of "period" : { Period }, // Time period plan covers "created" : "<dateTime>", // Date record was first recorded "author" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who is the designated responsible party "contributor" : [{ Reference(CareTeam|Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) }], // Who provided the content of the care plan "careTeam" : [{ Reference(CareTeam) }], // Who's involved in plan? "addresses" : [{ Reference(Condition) }], // Health issues this plan addresses "supportingInfo" : [{ Reference(Any) }], // Information considered as part of plan "goal" : [{ Reference(Goal) }], // Desired outcome of plan "activity" : [{ // Action to occur as part of plan "outcomeCodeableConcept" : [{ CodeableConcept }], // Results of the activity "outcomeReference" : [{ Reference(Any) }], // Appointment, Encounter, Procedure, etc. "progress" : [{ Annotation }], // Comments about the activity status/progress "reference" : { Reference(Appointment|CommunicationRequest|DeviceRequest| MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|Task| VisionPrescription) }, // C? Activity details defined in specific resource "detail" : { // C? In-line definition of activity "kind" : "<code>", // Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription "instantiatesCanonical" : [{ canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "code" : { CodeableConcept }, // Detail type of activity "reasonCode" : [{ CodeableConcept }], // Why activity should be done or why activity was prohibited "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why activity is needed "goal" : [{ Reference(Goal) }], // Goals this activity relates to "status" : "<code>", // R! not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error "statusReason" : { CodeableConcept }, // Reason for current status "doNotPerform" : <boolean>, // If true, activity is prohibiting action // scheduled[x]: When activity is to occur. One of these 3: "scheduledTiming" : { Timing }, "scheduledPeriod" : { Period }, "scheduledString" : "<string>", "location" : { Reference(Location) }, // Where it should happen "performer" : [{ Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who will be responsible? // product[x]: What is to be administered/supplied. One of these 2: "productCodeableConcept" : { CodeableConcept }, "productReference" : { Reference(Medication|Substance) }, "dailyAmount" : { Quantity(SimpleQuantity) }, // How to consume/day? "quantity" : { Quantity(SimpleQuantity) }, // How much to administer/supply/consume "description" : "<string>" // Extra info describing activity to perform } }], "note" : [{ Annotation }] // Comments about the plan }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:CarePlan; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:CarePlan.identifier [ Identifier ], ... ; # 0..* External Ids for this plan fhir:CarePlan.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:CarePlan.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:CarePlan.basedOn [ Reference(CarePlan) ], ... ; # 0..* Fulfills CarePlan fhir:CarePlan.replaces [ Reference(CarePlan) ], ... ; # 0..* CarePlan replaced by this CarePlan fhir:CarePlan.partOf [ Reference(CarePlan) ], ... ; # 0..* Part of referenced CarePlan fhir:CarePlan.status [ code ]; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:CarePlan.intent [ code ]; # 1..1 proposal | plan | order | option fhir:CarePlan.category [ CodeableConcept ], ... ; # 0..* Type of plan fhir:CarePlan.title [ string ]; # 0..1 Human-friendly name for the care plan fhir:CarePlan.description [ string ]; # 0..1 Summary of nature of plan fhir:CarePlan.subject [ Reference(Group|Patient) ]; # 1..1 Who the care plan is for fhir:CarePlan.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers fhir:CarePlan.created [ dateTime ]; # 0..1 Date record was first recorded fhir:CarePlan.author [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who is the designated responsible party fhir:CarePlan.contributor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ], ... ; # 0..* Who provided the content of the care plan fhir:CarePlan.careTeam [ Reference(CareTeam) ], ... ; # 0..* Who's involved in plan? fhir:CarePlan.addresses [ Reference(Condition) ], ... ; # 0..* Health issues this plan addresses fhir:CarePlan.supportingInfo [ Reference(Any) ], ... ; # 0..* Information considered as part of plan fhir:CarePlan.goal [ Reference(Goal) ], ... ; # 0..* Desired outcome of plan fhir:CarePlan.activity [ # 0..* Action to occur as part of plan fhir:CarePlan.activity.outcomeCodeableConcept [ CodeableConcept ], ... ; # 0..* Results of the activity fhir:CarePlan.activity.outcomeReference [ Reference(Any) ], ... ; # 0..* Appointment, Encounter, Procedure, etc. fhir:CarePlan.activity.progress [ Annotation ], ... ; # 0..* Comments about the activity status/progress fhir:CarePlan.activity.reference [ Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder| RequestGroup|ServiceRequest|Task|VisionPrescription) ]; # 0..1 Activity details defined in specific resource fhir:CarePlan.activity.detail [ # 0..1 In-line definition of activity fhir:CarePlan.activity.detail.kind [ code ]; # 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription fhir:CarePlan.activity.detail.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:CarePlan.activity.detail.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:CarePlan.activity.detail.code [ CodeableConcept ]; # 0..1 Detail type of activity fhir:CarePlan.activity.detail.reasonCode [ CodeableConcept ], ... ; # 0..* Why activity should be done or why activity was prohibited fhir:CarePlan.activity.detail.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why activity is needed fhir:CarePlan.activity.detail.goal [ Reference(Goal) ], ... ; # 0..* Goals this activity relates to fhir:CarePlan.activity.detail.status [ code ]; # 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error fhir:CarePlan.activity.detail.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:CarePlan.activity.detail.doNotPerform [ boolean ]; # 0..1 If true, activity is prohibiting action # CarePlan.activity.detail.scheduled[x] : 0..1 When activity is to occur. One of these 3 fhir:CarePlan.activity.detail.scheduledTiming [ Timing ] fhir:CarePlan.activity.detail.scheduledPeriod [ Period ] fhir:CarePlan.activity.detail.scheduledString [ string ] fhir:CarePlan.activity.detail.location [ Reference(Location) ]; # 0..1 Where it should happen fhir:CarePlan.activity.detail.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ], ... ; # 0..* Who will be responsible? # CarePlan.activity.detail.product[x] : 0..1 What is to be administered/supplied. One of these 2 fhir:CarePlan.activity.detail.productCodeableConcept [ CodeableConcept ] fhir:CarePlan.activity.detail.productReference [ Reference(Medication|Substance) ] fhir:CarePlan.activity.detail.dailyAmount [ Quantity(SimpleQuantity) ]; # 0..1 How to consume/day? fhir:CarePlan.activity.detail.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much to administer/supply/consume fhir:CarePlan.activity.detail.description [ string ]; # 0..1 Extra info describing activity to perform ]; ], ...; fhir:CarePlan.note [ Annotation ], ... ; # 0..* Comments about the plan ]
Changes since Release 3
CarePlan | |
CarePlan.status |
|
CarePlan.intent |
|
CarePlan.activity.detail.kind |
|
CarePlan.activity.detail.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 11 tests that all execute ok. All tests pass round-trip testing and 10 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
CarePlan.status | Required | RequestStatus | |
CarePlan.intent | Required | CarePlanIntent | |
CarePlan.category | Example | 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 | Level | Location | Description | Expression |
cpl-3 | Rule | CarePlan.activity | Provide a reference or detail, not both | detail.empty() or reference.empty() |
The Provenance resource can be used for detailed review information, such as when the care plan was last reviewed and by whom.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
activity-code | token | Detail type of activity | CarePlan.activity.detail.code | |
activity-date | date | Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x] | CarePlan.activity.detail.scheduled | |
activity-reference | reference | Activity details defined in specific resource | CarePlan.activity.reference (Appointment, MedicationRequest, Task, NutritionOrder, RequestGroup, VisionPrescription, DeviceRequest, ServiceRequest, CommunicationRequest) | |
based-on | reference | Fulfills CarePlan | CarePlan.basedOn (CarePlan) | |
care-team | reference | Who's involved in plan? | CarePlan.careTeam (CareTeam) | |
category | token | Type of plan | CarePlan.category | |
condition | reference | Health issues this plan addresses | CarePlan.addresses (Condition) | |
date | date | Time period plan covers | CarePlan.period | |
encounter | reference | Encounter created as part of | CarePlan.encounter (Encounter) | |
goal | reference | Desired outcome of plan | CarePlan.goal (Goal) | |
identifier | token | External Ids for this plan | CarePlan.identifier | |
instantiates-canonical | reference | Instantiates FHIR protocol or definition | CarePlan.instantiatesCanonical (Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition) | |
instantiates-uri | uri | Instantiates external protocol or definition | CarePlan.instantiatesUri | |
intent | token | proposal | plan | order | option | CarePlan.intent | |
part-of | reference | Part of referenced CarePlan | CarePlan.partOf (CarePlan) | |
patient | reference | Who the care plan is for | CarePlan.subject.where(resolve() is Patient) (Group, Patient) | |
performer | reference | Matches if the practitioner is listed as a performer in any of the "simple" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.) | CarePlan.activity.detail.performer (Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
replaces | reference | CarePlan replaced by this CarePlan | CarePlan.replaces (CarePlan) | |
status | token | draft | active | on-hold | revoked | completed | entered-in-error | unknown | CarePlan.status | |
subject | reference | Who the care plan is for | CarePlan.subject (Group, Patient) |