CarePlan — Care plan
The orchestration of care. A CarePlan aggregates goals, planned activities, care team and addressed conditions into a single plan, updated along the patient journey.
Purpose of the resource
CarePlan documents the intention of how one or more practitioners intend to deliver care for a particular patient, group or community over a defined period. It covers the complexity of a children's immunization plan as much as a multidisciplinary oncology care plan.
CarePlan is the pivot resource of care coordination: it links one or more
Condition via
addresses, Goal
via goal, a CareTeam
via careTeam, and each planned activity via activity. The US
Core, mCODE (oncology) and SDOH-CC (social determinants) profiles all make central use
of it.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | External plan identifiers. |
instantiatesCanonical | canonical[] | 0..* | Applied reference PlanDefinition. |
instantiatesUri | uri[] | 0..* | External protocol URI. |
basedOn | Reference(CarePlan | ServiceRequest | RequestOrchestration | NutritionOrder)[] | 0..* | Originating plan. |
replaces | Reference(CarePlan)[] | 0..* | Plan replaced by this one. |
partOf | Reference(CarePlan)[] | 0..* | Parent CarePlan of which this is a part. |
status | code | 1..1 | Mandatory. Lifecycle state. Modifier. |
intent | code | 1..1 | Mandatory. Intent level. Modifier. |
category | CodeableConcept[] | 0..* | Plan category (assess-plan, careteam, education…). |
title | string | 0..1 | User-facing title. |
description | string | 0..1 | Short description. |
subject | Reference(Patient | Group) | 1..1 | Mandatory. Plan beneficiary. |
encounter | Reference(Encounter) | 0..1 | Encounter where the plan was created. |
period | Period | 0..1 | Application period. |
created | dateTime | 0..1 | Authoring date. |
custodian | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | 0..1 | Maintainer of the plan. |
contributor | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)[] | 0..* | Contributors to the plan. |
careTeam | Reference(CareTeam)[] | 0..* | Responsible care team(s). |
addresses | CodeableReference(Condition)[] | 0..* | Conditions addressed by the plan. |
supportingInfo | Reference(any)[] | 0..* | Supporting information. |
goal | Reference(Goal)[] | 0..* | Goals pursued by the plan. |
activity | BackboneElement[] | 0..* | Planned or performed activities. |
note | Annotation[] | 0..* | Additional notes. |
status × intent
Like other FHIR planning resources, CarePlan crosses a state with an intent:
| status | Meaning |
|---|---|
draft | Draft — not yet applied. |
active | Plan in progress. |
on-hold | Plan temporarily suspended. |
revoked | Plan cancelled. |
completed | Plan completed (goals reached, period ended). |
entered-in-error | Plan entered in error. |
unknown | Status unknown. |
| intent | Meaning |
|---|---|
proposal | Proposal — non-binding suggestion. |
plan | Plan — commitment to organise activities. Typical value of a regular CarePlan. |
order | Order — prescriptive authority. |
option | Option offered to patient or another actor. |
directive | Patient directive (often advance directive). |
JSON example
A 12-month multidisciplinary type 2 diabetes care plan with an HbA1c goal, a care team (GP + diabetologist + RN), and two planned activities (HbA1c measurement, therapeutic education workshop).
{
"resourceType": "CarePlan",
"id": "example",
"identifier": [{
"system": "http://example.org/identifiers/careplan",
"value": "CP-2026-187"
}],
"status": "active",
"intent": "plan",
"category": [{
"coding": [{
"system": "http://snomed.info/sct",
"code": "734163000",
"display": "Care plan (record artifact)"
}]
}],
"title": "Care plan — Type 2 diabetes",
"description": "Multidisciplinary follow-up of newly diagnosed type 2 diabetes.",
"subject": { "reference": "Patient/example", "display": "Peter Chalmers" },
"encounter": { "reference": "Encounter/example" },
"period": {
"start": "2026-05-14",
"end": "2027-05-14"
},
"created": "2026-05-14T14:00:00+02:00",
"custodian": { "reference": "Practitioner/example", "display": "Dr Adam Careful" },
"contributor": [
{ "reference": "Practitioner/diabetologist-1", "display": "Dr Marie Endo" },
{ "reference": "Practitioner/nurse-1", "display": "Lopez, RN" }
],
"careTeam": [{ "reference": "CareTeam/example" }],
"addresses": [{
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "44054006",
"display": "Diabetes mellitus type 2"
}]
}
}],
"goal": [{ "reference": "Goal/example-hba1c" }],
"activity": [{
"performedActivity": [{
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "171036003",
"display": "HbA1c measurement"
}]
}
}]
}, {
"plannedActivityReference": {
"reference": "ServiceRequest/therapeutic-education-1",
"display": "Patient education workshop — nutrition and exercise"
}
}],
"note": [{
"text": "Re-evaluate the plan at 3 months with HbA1c follow-up."
}]
} Worth pointing out in this example:
status=active+intent=plan= plan being executed.addressescites SNOMED CT 44054006 (type 2 diabetes).goalpoints to a Goal resource carrying the HbA1c target.activity[]mixes a performed activity (performedActivity) with an upcoming one (plannedActivityReference).careTeamgives the audit trail of the team.
Common pitfalls
- Plan without
statusorintent— both are1..1Modifier elements. Without them, the plan has no business meaning. - Missing
subject— a plan without a beneficiary is uninterpretable. - Several
activeCarePlans on the same Condition — not technically forbidden but confusing. Prefer a root CarePlan with sub-plans linked viapartOf. activitywithoutplannedActivityReferenceorperformedActivity— an activity must point to a concrete resource (ServiceRequest, Task, Procedure…) or contain a performed concept.addressesnot pointing to a Condition — since R5, this is a CodeableReference. A bareReferencewithout concept is allowed, but the inverse (concept only, no Condition) breaks the audit chain.- Permanent plan never
completed— a "lifelong diabetes follow-up" plan may stayactiveindefinitely, but it's wise to setperiod.endand roll a successor plan every 12 months. - Confusion with
RequestOrchestration— RequestOrchestration is the technical orchestration of multiple Requests. CarePlan is the business envelope speaking to the clinician. They can coexist.
Related resources
- CareTeam — care team(s) referenced by
careTeam. - Goal — clinical goals pursued by the plan.
- Condition — addressed conditions.
- ServiceRequest, MedicationRequest, DeviceRequest, Task, Procedure — possible activities referenced via
activity. - PlanDefinition — plan template instantiated via
instantiatesCanonical. - RequestOrchestration — technical orchestration of activities.
See also: the FHIR R5 index.