ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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

FieldTypeCardinalityRole
identifierIdentifier[]0..*External plan identifiers.
instantiatesCanonicalcanonical[]0..*Applied reference PlanDefinition.
instantiatesUriuri[]0..*External protocol URI.
basedOnReference(CarePlan | ServiceRequest | RequestOrchestration | NutritionOrder)[]0..*Originating plan.
replacesReference(CarePlan)[]0..*Plan replaced by this one.
partOfReference(CarePlan)[]0..*Parent CarePlan of which this is a part.
statuscode1..1Mandatory. Lifecycle state. Modifier.
intentcode1..1Mandatory. Intent level. Modifier.
categoryCodeableConcept[]0..*Plan category (assess-plan, careteam, education…).
titlestring0..1User-facing title.
descriptionstring0..1Short description.
subjectReference(Patient | Group)1..1Mandatory. Plan beneficiary.
encounterReference(Encounter)0..1Encounter where the plan was created.
periodPeriod0..1Application period.
createddateTime0..1Authoring date.
custodianReference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)0..1Maintainer of the plan.
contributorReference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)[]0..*Contributors to the plan.
careTeamReference(CareTeam)[]0..*Responsible care team(s).
addressesCodeableReference(Condition)[]0..*Conditions addressed by the plan.
supportingInfoReference(any)[]0..*Supporting information.
goalReference(Goal)[]0..*Goals pursued by the plan.
activityBackboneElement[]0..*Planned or performed activities.
noteAnnotation[]0..*Additional notes.

status × intent

Like other FHIR planning resources, CarePlan crosses a state with an intent:

statusMeaning
draftDraft — not yet applied.
activePlan in progress.
on-holdPlan temporarily suspended.
revokedPlan cancelled.
completedPlan completed (goals reached, period ended).
entered-in-errorPlan entered in error.
unknownStatus unknown.
intentMeaning
proposalProposal — non-binding suggestion.
planPlan — commitment to organise activities. Typical value of a regular CarePlan.
orderOrder — prescriptive authority.
optionOption offered to patient or another actor.
directivePatient 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).

json careplan-example.json
{
  "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.
  • addresses cites SNOMED CT 44054006 (type 2 diabetes).
  • goal points to a Goal resource carrying the HbA1c target.
  • activity[] mixes a performed activity (performedActivity) with an upcoming one (plannedActivityReference).
  • careTeam gives the audit trail of the team.

Common pitfalls

  • Plan without status or intent — both are 1..1 Modifier elements. Without them, the plan has no business meaning.
  • Missing subject — a plan without a beneficiary is uninterpretable.
  • Several active CarePlans on the same Condition — not technically forbidden but confusing. Prefer a root CarePlan with sub-plans linked via partOf.
  • activity without plannedActivityReference or performedActivity — an activity must point to a concrete resource (ServiceRequest, Task, Procedure…) or contain a performed concept.
  • addresses not pointing to a Condition — since R5, this is a CodeableReference. A bare Reference without 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 stay active indefinitely, but it's wise to set period.end and 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.
  • 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.