Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

9.5 Resource CarePlan - Content

Patient Care Work GroupMaturity Level: 2 Trial UseSecurity 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:

  • Multi-disciplinary cross-organizational care plans; e.g. An oncology plan including the oncologist, home nursing staff, pharmacy and others
  • Plans to manage specific disease/condition(s) (e.g. nutritional plan for a patient post bowel resection, neurological plan post head injury, pre-natal plan, post-partum plan, grief management plan, etc.)
  • Decision support generated plans following specific practice guidelines (e.g. stroke care plan, diabetes plan, falls prevention, etc.)
  • Self-maintained patient or care-giver authored plans identifying their goals and an integrated understanding of actions to be taken. This does not include the legal Advance Directives, which should be represented with either the Consent resource with Consent.category = Advance Directive or with a specific request resource with intent = directive. Informal advance directives could be represented as a Goal, such as "I want to die at home."

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

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan TUDomainResourceHealthcare plan for patient or group

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal Ids for this plan

... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan

... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan

... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order | option | directive
Care Plan Intent (Required)
... category Σ0..*CodeableConceptType of plan
Care Plan Category (Example)

... title Σ0..1stringHuman-friendly name for the care plan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(Patient | Group)Who the care plan is for
... encounter Σ0..1Reference(Encounter)The Encounter during which this CarePlan was created
... period Σ0..1PeriodTime period plan covers
... created Σ0..1dateTimeDate record was first recorded
... custodian Σ0..1Reference(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..*CodeableReference(Condition)Health issues this plan addresses
SNOMED CT Clinical Findings (Example)

... supportingInfo 0..*Reference(Any)Information considered as part of plan

... goal 0..*Reference(Goal)Desired outcome of plan

... activity C0..*BackboneElementAction to occur or has occurred as part of plan
+ Rule: Provide a plannedActivityReference or plannedActivityDetail, not both

.... performedActivity 0..*CodeableReference(Any)Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
Care Plan Activity Performed (Example)

.... progress 0..*AnnotationComments about the activity status/progress

.... plannedActivityReference C0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestOrchestration | ImmunizationRecommendation)Activity that is intended to be part of the care plan
.... plannedActivityDetail C0..1BackboneElementIn-line definition of activity
..... kind 0..1codeAppointment | 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..*uriInstantiates external protocol or definition

..... code 0..1CodeableConceptDetail type of activity
Procedure Codes (SNOMED CT) (Example)
..... reason 0..*CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity should be done or why activity was prohibited
SNOMED CT Clinical Findings (Example)

..... goal 0..*Reference(Goal)Goals this activity relates to

..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
CarePlanActivityStatus (Required)
..... statusReason 0..1CodeableConceptReason for current status
Care Plan Activity Status Reason (Example)
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1CodeableReference(Location)Where it should happen
ServiceDeliveryLocationRoleType (Extensible)
..... reported[x] 0..1Reported rather than primary record
...... reportedBooleanboolean
...... reportedReferenceReference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
..... performer 0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?

..... product[x] 0..1What is to be administered/supplied
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


doco Documentation for this format

See the Extensions for this resource

UML Diagram (Legend)

CarePlan (DomainResource)Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlaninstantiatesCanonical : canonical [0..*] « PlanDefinition| Questionnaire|Measure|ActivityDefinition|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlaninstantiatesUri : uri [0..*]A care plan that is fulfilled in whole or in part by this care planbasedOn : Reference [0..*] « CarePlan »Completed or terminated care plan whose function is taken by this new care planreplaces : Reference [0..*] « CarePlan »A larger care plan of which this particular care plan is a component or steppartOf : Reference [0..*] « CarePlan »Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)RequestStatus! »Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)CarePlanIntent! »Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etccategory : CodeableConcept [0..*] « null (Strength=Example)CarePlanCategory?? »Human-friendly name for the care plantitle : string [0..1]A description of the scope and nature of the plandescription : string [0..1]Identifies the patient or group whose intended care is described by the plansubject : Reference [1..1] « Patient|Group »The Encounter during which this CarePlan was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »Indicates when the plan did (or is intended to) come into effect and endperiod : Period [0..1]Represents when this particular CarePlan record was created in the system, which is often a system-generated datecreated : dateTime [0..1]When populated, the custodian is responsible for the care plan. The care plan is attributed to the custodiancustodian : Reference [0..1] « Patient|Practitioner|PractitionerRole| Device|RelatedPerson|Organization|CareTeam »Identifies the individual(s), organization or device who provided the contents of the care plancontributor : Reference [0..*] « Patient|Practitioner| PractitionerRole|Device|RelatedPerson|Organization|CareTeam »Identifies all people and organizations who are expected to be involved in the care envisioned by this plancareTeam : Reference [0..*] « CareTeam »Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this planaddresses : CodeableReference [0..*] « Condition; null (Strength=Example) SNOMEDCTClinicalFindings?? »Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etcsupportingInfo : Reference [0..*] « Any »Describes the intended objective(s) of carrying out the care plangoal : Reference [0..*] « Goal »General notes about the care plan not covered elsewherenote : Annotation [0..*]ActivityIdentifies the activity that was performed. For example, an activity could be patient education, exercise, or a medication administration. The reference to an "event" resource, such as Procedure or Encounter or Observation, represents the activity that was performed. The requested activity can be conveyed using CarePlan.activity.plannedActivityDetail OR using the CarePlan.activity.plannedActivityReference (a reference to a “request” resource)performedActivity : CodeableReference [0..*] « Any; null (Strength=Example) CarePlanActivityPerformed?? »Notes about the adherence/status/progress of the activityprogress : Annotation [0..*]The details of the proposed activity represented in a specific resourceplannedActivityReference : Reference [0..1] « Appointment| CommunicationRequest|DeviceRequest|MedicationRequest| NutritionOrder|Task|ServiceRequest|VisionPrescription| RequestOrchestration|ImmunizationRecommendation » « This element has or is affected by some invariantsC »PlannedActivityDetailA description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequestkind : code [0..1] « null (Strength=Required)CarePlanActivityKind! »The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activityinstantiatesCanonical : canonical [0..*] « PlanDefinition| ActivityDefinition|Questionnaire|Measure|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activityinstantiatesUri : uri [0..*]Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encountercode : CodeableConcept [0..1] « null (Strength=Example)ProcedureCodes(SNOMEDCT)?? »Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited - either a coded concept, or another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the planreason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference; null (Strength=Example)SNOMEDCTClinicalFindings?? »Internal reference that identifies the goals that this activity is intended to contribute towards meetinggoal : Reference [0..*] « Goal »Identifies what progress is being made for the specific activity (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)CarePlanActivityStatus! »Provides reason why the activity isn't yet started, is on hold, was cancelled, etcstatusReason : CodeableConcept [0..1] « null (Strength=Example)CarePlanActivityStatusReason?? »If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]The period, timing or frequency upon which the described activity is to occurscheduled[x] : DataType [0..1] « Timing|Period|string »Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etclocation : CodeableReference [0..1] « Location; null (Strength=Extensible) ServiceDeliveryLocationRoleTy...+ »Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the reportreported[x] : DataType [0..1] « boolean|Reference(Patient| RelatedPerson|Practitioner|PractitionerRole|Organization) »Identifies who's expected to be involved in the activityperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|RelatedPerson|Patient|CareTeam|HealthcareService| Device »Identifies the food, drug or other product to be consumed or supplied in the activityproduct[x] : DataType [0..1] « CodeableConcept|Reference(Medication| Substance); null (Strength=Example)SNOMEDCTMedicationCodes?? »Identifies the quantity expected to be consumed in a given daydailyAmount : Quantity(SimpleQuantity) [0..1]Identifies the quantity expected to be supplied, administered or consumed by the subjectquantity : Quantity(SimpleQuantity) [0..1]This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etcdescription : string [0..1]A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etcplannedActivityDetail[0..1]Identifies an action that has occurred or is a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring that has occurred, education etcactivity[0..*]

XML Template

<CarePlan xmlns="http://hl7.org/fhir"> doco
 <!-- 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 | directive -->
 <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) The Encounter during which this CarePlan was created --></encounter>
 <period><!-- 0..1 Period Time period plan covers --></period>
 <created value="[dateTime]"/><!-- 0..1 Date record was first recorded -->
 <custodian><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) Who is the designated responsible party --></custodian>
 <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..* CodeableReference(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 or has occurred as part of plan -->
  <performedActivity><!-- 0..* CodeableReference(Any) Results of the activity (concept, or Appointment, Encounter, Procedure, etc) --></performedActivity>
  <progress><!-- 0..* Annotation Comments about the activity status/progress --></progress>
  <plannedActivityReference><!-- I 0..1 Reference(Appointment|CommunicationRequest|
    DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
    RequestOrchestration|ServiceRequest|Task|VisionPrescription) Activity that is intended to be part of the care plan --></plannedActivityReference>
  <plannedActivityDetail>  <!-- I 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>
   <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|
     DocumentReference|Observation) Why activity should be done or why activity was prohibited --></reason>
   <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 CodeableReference(Location) Where it should happen  --></location>
   <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner|
     PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]>
   <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 -->
  </plannedActivityDetail>
 </activity>
 <note><!-- 0..* Annotation Comments about the plan --></note>
</CarePlan>

JSON Template

{doco
  "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(PlanDefinition|Questionnaire|Measure|ActivityDefinition|OperationDefinition)>"], // 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 | directive
  "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) }, // The Encounter during which this CarePlan was created
  "period" : { Period }, // Time period plan covers
  "created" : "<dateTime>", // Date record was first recorded
  "custodian" : { 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" : [{ CodeableReference(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 or has occurred as part of plan
    "performedActivity" : [{ CodeableReference(Any) }], // Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
    "progress" : [{ Annotation }], // Comments about the activity status/progress
    "plannedActivityReference" : { Reference(Appointment|CommunicationRequest|
    DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
    RequestOrchestration|ServiceRequest|Task|VisionPrescription) }, // I Activity that is intended to be part of the care plan
    "plannedActivityDetail" : { // I In-line definition of activity
      "kind" : "<code>", // Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
      "instantiatesCanonical" : ["<canonical(PlanDefinition|ActivityDefinition|Questionnaire|Measure|OperationDefinition)>"], // Instantiates FHIR protocol or definition
      "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
      "code" : { CodeableConcept }, // Detail type of activity
      "reason" : [{ CodeableReference(Condition|DiagnosticReport|
     DocumentReference|Observation) }], // Why activity should be done or why activity was prohibited
      "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" : { CodeableReference(Location) }, // Where it should happen 
      // reported[x]: Reported rather than primary record. One of these 2:
      "reportedBoolean" : <boolean>,
      "reportedReference" : { Reference(Organization|Patient|Practitioner|
     PractitionerRole|RelatedPerson) },
      "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/> .doco


[ 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 | directive
  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 The Encounter during which this CarePlan was created
  fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers
  fhir:CarePlan.created [ dateTime ]; # 0..1 Date record was first recorded
  fhir:CarePlan.custodian [ 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 [ CodeableReference(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 or has occurred as part of plan
    fhir:CarePlan.activity.performedActivity [ CodeableReference(Any) ], ... ; # 0..* Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
    fhir:CarePlan.activity.progress [ Annotation ], ... ; # 0..* Comments about the activity status/progress
    fhir:CarePlan.activity.plannedActivityReference [ Reference(Appointment|CommunicationRequest|DeviceRequest|ImmunizationRecommendation|
  MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest|Task|
  VisionPrescription) ]; # 0..1 I Activity that is intended to be part of the care plan
    fhir:CarePlan.activity.plannedActivityDetail [ # 0..1 I In-line definition of activity
      fhir:CarePlan.activity.plannedActivityDetail.kind [ code ]; # 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
      fhir:CarePlan.activity.plannedActivityDetail.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition
      fhir:CarePlan.activity.plannedActivityDetail.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
      fhir:CarePlan.activity.plannedActivityDetail.code [ CodeableConcept ]; # 0..1 Detail type of activity
      fhir:CarePlan.activity.plannedActivityDetail.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why activity should be done or why activity was prohibited
      fhir:CarePlan.activity.plannedActivityDetail.goal [ Reference(Goal) ], ... ; # 0..* Goals this activity relates to
      fhir:CarePlan.activity.plannedActivityDetail.status [ code ]; # 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
      fhir:CarePlan.activity.plannedActivityDetail.statusReason [ CodeableConcept ]; # 0..1 Reason for current status
      fhir:CarePlan.activity.plannedActivityDetail.doNotPerform [ boolean ]; # 0..1 If true, activity is prohibiting action
      # CarePlan.activity.plannedActivityDetail.scheduled[x] : 0..1 When activity is to occur. One of these 3
        fhir:CarePlan.activity.plannedActivityDetail.scheduledTiming [ Timing ]
        fhir:CarePlan.activity.plannedActivityDetail.scheduledPeriod [ Period ]
        fhir:CarePlan.activity.plannedActivityDetail.scheduledString [ string ]
      fhir:CarePlan.activity.plannedActivityDetail.location [ CodeableReference(Location) ]; # 0..1 Where it should happen
      # CarePlan.activity.plannedActivityDetail.reported[x] : 0..1 Reported rather than primary record. One of these 2
        fhir:CarePlan.activity.plannedActivityDetail.reportedBoolean [ boolean ]
        fhir:CarePlan.activity.plannedActivityDetail.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]
      fhir:CarePlan.activity.plannedActivityDetail.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ], ... ; # 0..* Who will be responsible?
      # CarePlan.activity.plannedActivityDetail.product[x] : 0..1 What is to be administered/supplied. One of these 2
        fhir:CarePlan.activity.plannedActivityDetail.productCodeableConcept [ CodeableConcept ]
        fhir:CarePlan.activity.plannedActivityDetail.productReference [ Reference(Medication|Substance) ]
      fhir:CarePlan.activity.plannedActivityDetail.dailyAmount [ Quantity(SimpleQuantity) ]; # 0..1 How to consume/day?
      fhir:CarePlan.activity.plannedActivityDetail.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much to administer/supply/consume
      fhir:CarePlan.activity.plannedActivityDetail.description [ string ]; # 0..1 Extra info describing activity to perform
    ];
  ], ...;
  fhir:CarePlan.note [ Annotation ], ... ; # 0..* Comments about the plan
]

Changes since R4

CarePlan
CarePlan.custodian
  • Added Element
CarePlan.addresses
  • Type changed from Reference(Condition) to CodeableReference
  • Type changed from Reference(Condition) to CodeableReference
CarePlan.activity.performedActivity
  • Added Element
CarePlan.activity.plannedActivityReference
  • Added Element
CarePlan.activity.plannedActivityDetail
  • Added Element
CarePlan.activity.plannedActivityDetail.kind
  • Added Element
CarePlan.activity.plannedActivityDetail.instantiatesCanonical
  • Added Element
CarePlan.activity.plannedActivityDetail.instantiatesUri
  • Added Element
CarePlan.activity.plannedActivityDetail.code
  • Added Element
CarePlan.activity.plannedActivityDetail.reason
  • Added Element
CarePlan.activity.plannedActivityDetail.goal
  • Added Element
CarePlan.activity.plannedActivityDetail.status
  • Added Mandatory Element
CarePlan.activity.plannedActivityDetail.statusReason
  • Added Element
CarePlan.activity.plannedActivityDetail.doNotPerform
  • Added Element
CarePlan.activity.plannedActivityDetail.scheduled[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.location
  • Added Element
CarePlan.activity.plannedActivityDetail.reported[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.performer
  • Added Element
CarePlan.activity.plannedActivityDetail.product[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.dailyAmount
  • Added Element
CarePlan.activity.plannedActivityDetail.quantity
  • Added Element
CarePlan.activity.plannedActivityDetail.description
  • Added Element
CarePlan.author
  • deleted
CarePlan.activity.outcomeCodeableConcept
  • deleted
CarePlan.activity.outcomeReference
  • deleted
CarePlan.activity.reference
  • deleted
CarePlan.activity.detail
  • deleted

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan TUDomainResourceHealthcare plan for patient or group

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal Ids for this plan

... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan

... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan

... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order | option | directive
Care Plan Intent (Required)
... category Σ0..*CodeableConceptType of plan
Care Plan Category (Example)

... title Σ0..1stringHuman-friendly name for the care plan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(Patient | Group)Who the care plan is for
... encounter Σ0..1Reference(Encounter)The Encounter during which this CarePlan was created
... period Σ0..1PeriodTime period plan covers
... created Σ0..1dateTimeDate record was first recorded
... custodian Σ0..1Reference(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..*CodeableReference(Condition)Health issues this plan addresses
SNOMED CT Clinical Findings (Example)

... supportingInfo 0..*Reference(Any)Information considered as part of plan

... goal 0..*Reference(Goal)Desired outcome of plan

... activity C0..*BackboneElementAction to occur or has occurred as part of plan
+ Rule: Provide a plannedActivityReference or plannedActivityDetail, not both

.... performedActivity 0..*CodeableReference(Any)Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
Care Plan Activity Performed (Example)

.... progress 0..*AnnotationComments about the activity status/progress

.... plannedActivityReference C0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestOrchestration | ImmunizationRecommendation)Activity that is intended to be part of the care plan
.... plannedActivityDetail C0..1BackboneElementIn-line definition of activity
..... kind 0..1codeAppointment | 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..*uriInstantiates external protocol or definition

..... code 0..1CodeableConceptDetail type of activity
Procedure Codes (SNOMED CT) (Example)
..... reason 0..*CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity should be done or why activity was prohibited
SNOMED CT Clinical Findings (Example)

..... goal 0..*Reference(Goal)Goals this activity relates to

..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
CarePlanActivityStatus (Required)
..... statusReason 0..1CodeableConceptReason for current status
Care Plan Activity Status Reason (Example)
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1CodeableReference(Location)Where it should happen
ServiceDeliveryLocationRoleType (Extensible)
..... reported[x] 0..1Reported rather than primary record
...... reportedBooleanboolean
...... reportedReferenceReference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
..... performer 0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?

..... product[x] 0..1What is to be administered/supplied
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


doco Documentation for this format

See the Extensions for this resource

UML Diagram (Legend)

CarePlan (DomainResource)Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlaninstantiatesCanonical : canonical [0..*] « PlanDefinition| Questionnaire|Measure|ActivityDefinition|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlaninstantiatesUri : uri [0..*]A care plan that is fulfilled in whole or in part by this care planbasedOn : Reference [0..*] « CarePlan »Completed or terminated care plan whose function is taken by this new care planreplaces : Reference [0..*] « CarePlan »A larger care plan of which this particular care plan is a component or steppartOf : Reference [0..*] « CarePlan »Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)RequestStatus! »Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)CarePlanIntent! »Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etccategory : CodeableConcept [0..*] « null (Strength=Example)CarePlanCategory?? »Human-friendly name for the care plantitle : string [0..1]A description of the scope and nature of the plandescription : string [0..1]Identifies the patient or group whose intended care is described by the plansubject : Reference [1..1] « Patient|Group »The Encounter during which this CarePlan was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »Indicates when the plan did (or is intended to) come into effect and endperiod : Period [0..1]Represents when this particular CarePlan record was created in the system, which is often a system-generated datecreated : dateTime [0..1]When populated, the custodian is responsible for the care plan. The care plan is attributed to the custodiancustodian : Reference [0..1] « Patient|Practitioner|PractitionerRole| Device|RelatedPerson|Organization|CareTeam »Identifies the individual(s), organization or device who provided the contents of the care plancontributor : Reference [0..*] « Patient|Practitioner| PractitionerRole|Device|RelatedPerson|Organization|CareTeam »Identifies all people and organizations who are expected to be involved in the care envisioned by this plancareTeam : Reference [0..*] « CareTeam »Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this planaddresses : CodeableReference [0..*] « Condition; null (Strength=Example) SNOMEDCTClinicalFindings?? »Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etcsupportingInfo : Reference [0..*] « Any »Describes the intended objective(s) of carrying out the care plangoal : Reference [0..*] « Goal »General notes about the care plan not covered elsewherenote : Annotation [0..*]ActivityIdentifies the activity that was performed. For example, an activity could be patient education, exercise, or a medication administration. The reference to an "event" resource, such as Procedure or Encounter or Observation, represents the activity that was performed. The requested activity can be conveyed using CarePlan.activity.plannedActivityDetail OR using the CarePlan.activity.plannedActivityReference (a reference to a “request” resource)performedActivity : CodeableReference [0..*] « Any; null (Strength=Example) CarePlanActivityPerformed?? »Notes about the adherence/status/progress of the activityprogress : Annotation [0..*]The details of the proposed activity represented in a specific resourceplannedActivityReference : Reference [0..1] « Appointment| CommunicationRequest|DeviceRequest|MedicationRequest| NutritionOrder|Task|ServiceRequest|VisionPrescription| RequestOrchestration|ImmunizationRecommendation » « This element has or is affected by some invariantsC »PlannedActivityDetailA description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequestkind : code [0..1] « null (Strength=Required)CarePlanActivityKind! »The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activityinstantiatesCanonical : canonical [0..*] « PlanDefinition| ActivityDefinition|Questionnaire|Measure|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activityinstantiatesUri : uri [0..*]Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encountercode : CodeableConcept [0..1] « null (Strength=Example)ProcedureCodes(SNOMEDCT)?? »Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited - either a coded concept, or another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the planreason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference; null (Strength=Example)SNOMEDCTClinicalFindings?? »Internal reference that identifies the goals that this activity is intended to contribute towards meetinggoal : Reference [0..*] « Goal »Identifies what progress is being made for the specific activity (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)CarePlanActivityStatus! »Provides reason why the activity isn't yet started, is on hold, was cancelled, etcstatusReason : CodeableConcept [0..1] « null (Strength=Example)CarePlanActivityStatusReason?? »If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]The period, timing or frequency upon which the described activity is to occurscheduled[x] : DataType [0..1] « Timing|Period|string »Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etclocation : CodeableReference [0..1] « Location; null (Strength=Extensible) ServiceDeliveryLocationRoleTy...+ »Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the reportreported[x] : DataType [0..1] « boolean|Reference(Patient| RelatedPerson|Practitioner|PractitionerRole|Organization) »Identifies who's expected to be involved in the activityperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|RelatedPerson|Patient|CareTeam|HealthcareService| Device »Identifies the food, drug or other product to be consumed or supplied in the activityproduct[x] : DataType [0..1] « CodeableConcept|Reference(Medication| Substance); null (Strength=Example)SNOMEDCTMedicationCodes?? »Identifies the quantity expected to be consumed in a given daydailyAmount : Quantity(SimpleQuantity) [0..1]Identifies the quantity expected to be supplied, administered or consumed by the subjectquantity : Quantity(SimpleQuantity) [0..1]This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etcdescription : string [0..1]A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etcplannedActivityDetail[0..1]Identifies an action that has occurred or is a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring that has occurred, education etcactivity[0..*]

XML Template

<CarePlan xmlns="http://hl7.org/fhir"> doco
 <!-- 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 | directive -->
 <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) The Encounter during which this CarePlan was created --></encounter>
 <period><!-- 0..1 Period Time period plan covers --></period>
 <created value="[dateTime]"/><!-- 0..1 Date record was first recorded -->
 <custodian><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) Who is the designated responsible party --></custodian>
 <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..* CodeableReference(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 or has occurred as part of plan -->
  <performedActivity><!-- 0..* CodeableReference(Any) Results of the activity (concept, or Appointment, Encounter, Procedure, etc) --></performedActivity>
  <progress><!-- 0..* Annotation Comments about the activity status/progress --></progress>
  <plannedActivityReference><!-- I 0..1 Reference(Appointment|CommunicationRequest|
    DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
    RequestOrchestration|ServiceRequest|Task|VisionPrescription) Activity that is intended to be part of the care plan --></plannedActivityReference>
  <plannedActivityDetail>  <!-- I 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>
   <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|
     DocumentReference|Observation) Why activity should be done or why activity was prohibited --></reason>
   <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 CodeableReference(Location) Where it should happen  --></location>
   <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner|
     PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]>
   <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 -->
  </plannedActivityDetail>
 </activity>
 <note><!-- 0..* Annotation Comments about the plan --></note>
</CarePlan>

JSON Template

{doco
  "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(PlanDefinition|Questionnaire|Measure|ActivityDefinition|OperationDefinition)>"], // 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 | directive
  "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) }, // The Encounter during which this CarePlan was created
  "period" : { Period }, // Time period plan covers
  "created" : "<dateTime>", // Date record was first recorded
  "custodian" : { 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" : [{ CodeableReference(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 or has occurred as part of plan
    "performedActivity" : [{ CodeableReference(Any) }], // Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
    "progress" : [{ Annotation }], // Comments about the activity status/progress
    "plannedActivityReference" : { Reference(Appointment|CommunicationRequest|
    DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
    RequestOrchestration|ServiceRequest|Task|VisionPrescription) }, // I Activity that is intended to be part of the care plan
    "plannedActivityDetail" : { // I In-line definition of activity
      "kind" : "<code>", // Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
      "instantiatesCanonical" : ["<canonical(PlanDefinition|ActivityDefinition|Questionnaire|Measure|OperationDefinition)>"], // Instantiates FHIR protocol or definition
      "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
      "code" : { CodeableConcept }, // Detail type of activity
      "reason" : [{ CodeableReference(Condition|DiagnosticReport|
     DocumentReference|Observation) }], // Why activity should be done or why activity was prohibited
      "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" : { CodeableReference(Location) }, // Where it should happen 
      // reported[x]: Reported rather than primary record. One of these 2:
      "reportedBoolean" : <boolean>,
      "reportedReference" : { Reference(Organization|Patient|Practitioner|
     PractitionerRole|RelatedPerson) },
      "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/> .doco


[ 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 | directive
  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 The Encounter during which this CarePlan was created
  fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers
  fhir:CarePlan.created [ dateTime ]; # 0..1 Date record was first recorded
  fhir:CarePlan.custodian [ 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 [ CodeableReference(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 or has occurred as part of plan
    fhir:CarePlan.activity.performedActivity [ CodeableReference(Any) ], ... ; # 0..* Results of the activity (concept, or Appointment, Encounter, Procedure, etc)
    fhir:CarePlan.activity.progress [ Annotation ], ... ; # 0..* Comments about the activity status/progress
    fhir:CarePlan.activity.plannedActivityReference [ Reference(Appointment|CommunicationRequest|DeviceRequest|ImmunizationRecommendation|
  MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest|Task|
  VisionPrescription) ]; # 0..1 I Activity that is intended to be part of the care plan
    fhir:CarePlan.activity.plannedActivityDetail [ # 0..1 I In-line definition of activity
      fhir:CarePlan.activity.plannedActivityDetail.kind [ code ]; # 0..1 Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
      fhir:CarePlan.activity.plannedActivityDetail.instantiatesCanonical [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition
      fhir:CarePlan.activity.plannedActivityDetail.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
      fhir:CarePlan.activity.plannedActivityDetail.code [ CodeableConcept ]; # 0..1 Detail type of activity
      fhir:CarePlan.activity.plannedActivityDetail.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why activity should be done or why activity was prohibited
      fhir:CarePlan.activity.plannedActivityDetail.goal [ Reference(Goal) ], ... ; # 0..* Goals this activity relates to
      fhir:CarePlan.activity.plannedActivityDetail.status [ code ]; # 1..1 not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
      fhir:CarePlan.activity.plannedActivityDetail.statusReason [ CodeableConcept ]; # 0..1 Reason for current status
      fhir:CarePlan.activity.plannedActivityDetail.doNotPerform [ boolean ]; # 0..1 If true, activity is prohibiting action
      # CarePlan.activity.plannedActivityDetail.scheduled[x] : 0..1 When activity is to occur. One of these 3
        fhir:CarePlan.activity.plannedActivityDetail.scheduledTiming [ Timing ]
        fhir:CarePlan.activity.plannedActivityDetail.scheduledPeriod [ Period ]
        fhir:CarePlan.activity.plannedActivityDetail.scheduledString [ string ]
      fhir:CarePlan.activity.plannedActivityDetail.location [ CodeableReference(Location) ]; # 0..1 Where it should happen
      # CarePlan.activity.plannedActivityDetail.reported[x] : 0..1 Reported rather than primary record. One of these 2
        fhir:CarePlan.activity.plannedActivityDetail.reportedBoolean [ boolean ]
        fhir:CarePlan.activity.plannedActivityDetail.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]
      fhir:CarePlan.activity.plannedActivityDetail.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ], ... ; # 0..* Who will be responsible?
      # CarePlan.activity.plannedActivityDetail.product[x] : 0..1 What is to be administered/supplied. One of these 2
        fhir:CarePlan.activity.plannedActivityDetail.productCodeableConcept [ CodeableConcept ]
        fhir:CarePlan.activity.plannedActivityDetail.productReference [ Reference(Medication|Substance) ]
      fhir:CarePlan.activity.plannedActivityDetail.dailyAmount [ Quantity(SimpleQuantity) ]; # 0..1 How to consume/day?
      fhir:CarePlan.activity.plannedActivityDetail.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much to administer/supply/consume
      fhir:CarePlan.activity.plannedActivityDetail.description [ string ]; # 0..1 Extra info describing activity to perform
    ];
  ], ...;
  fhir:CarePlan.note [ Annotation ], ... ; # 0..* Comments about the plan
]

Changes since Release 4

CarePlan
CarePlan.custodian
  • Added Element
CarePlan.addresses
  • Type changed from Reference(Condition) to CodeableReference
  • Type changed from Reference(Condition) to CodeableReference
CarePlan.activity.performedActivity
  • Added Element
CarePlan.activity.plannedActivityReference
  • Added Element
CarePlan.activity.plannedActivityDetail
  • Added Element
CarePlan.activity.plannedActivityDetail.kind
  • Added Element
CarePlan.activity.plannedActivityDetail.instantiatesCanonical
  • Added Element
CarePlan.activity.plannedActivityDetail.instantiatesUri
  • Added Element
CarePlan.activity.plannedActivityDetail.code
  • Added Element
CarePlan.activity.plannedActivityDetail.reason
  • Added Element
CarePlan.activity.plannedActivityDetail.goal
  • Added Element
CarePlan.activity.plannedActivityDetail.status
  • Added Mandatory Element
CarePlan.activity.plannedActivityDetail.statusReason
  • Added Element
CarePlan.activity.plannedActivityDetail.doNotPerform
  • Added Element
CarePlan.activity.plannedActivityDetail.scheduled[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.location
  • Added Element
CarePlan.activity.plannedActivityDetail.reported[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.performer
  • Added Element
CarePlan.activity.plannedActivityDetail.product[x]
  • Added Element
CarePlan.activity.plannedActivityDetail.dailyAmount
  • Added Element
CarePlan.activity.plannedActivityDetail.quantity
  • Added Element
CarePlan.activity.plannedActivityDetail.description
  • Added Element
CarePlan.author
  • deleted
CarePlan.activity.outcomeCodeableConcept
  • deleted
CarePlan.activity.outcomeReference
  • deleted
CarePlan.activity.reference
  • deleted
CarePlan.activity.detail
  • deleted

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

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

PathDefinitionTypeReference
CarePlan.status

Codes identifying the lifecycle stage of a request.

RequiredRequestStatus
CarePlan.intent

Codes indicating the degree of authority/intentionality associated with a care plan.

RequiredCarePlanIntent
CarePlan.category

Example codes indicating the category a care plan falls within. Note that these are in no way complete and might not even be appropriate for some uses.

ExampleCarePlanCategory
CarePlan.addresses

This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

ExampleSNOMEDCTClinicalFindings
CarePlan.activity.performedActivity

Example codes indicating the care plan activity that was performed. Note that these are in no way complete and might not even be appropriate for some uses.

ExampleCarePlanActivityPerformed
CarePlan.activity.plannedActivityDetail.kind

Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.

RequiredCarePlanActivityKind
CarePlan.activity.plannedActivityDetail.code

Procedure Code: All SNOMED CT procedure codes.

ExampleProcedureCodes(SNOMEDCT)
CarePlan.activity.plannedActivityDetail.reason

This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

ExampleSNOMEDCTClinicalFindings
CarePlan.activity.plannedActivityDetail.status

Codes that reflect the current state of a care plan activity within its overall life cycle.

RequiredCarePlanActivityStatus
CarePlan.activity.plannedActivityDetail.statusReason

Example codes indicating the reason why the activity isn't yet started, is on hold, was cancelled, etc. Note that these are in no way complete and might not even be appropriate for some uses.

ExampleCarePlanActivityStatusReason
CarePlan.activity.plannedActivityDetail.location

A role of a place that further classifies the setting (e.g., accident site, road side, work site, community location) in which services are delivered.

ExtensibleServiceDeliveryLocationRoleType
CarePlan.activity.plannedActivityDetail.product[x]

This value set includes all drug or medicament substance codes and all pharmaceutical/biologic products from SNOMED CT - provided as an exemplar value set.

ExampleSNOMEDCTMedicationCodes

UniqueKeyLevelLocationDescriptionExpression
 cpl-3Rule CarePlan.activityProvide a plannedActivityReference or plannedActivityDetail, not bothplannedActivityDetail.empty() or plannedActivityReference.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.

NameTypeDescriptionExpressionIn Common
activity-codetokenDetail type of activityCarePlan.activity.plannedActivityDetail.code
activity-referencereferenceActivity that is intended to be part of the care planCarePlan.activity.plannedActivityReference
(Appointment, MedicationRequest, Task, NutritionOrder, RequestOrchestration, VisionPrescription, DeviceRequest, ServiceRequest, CommunicationRequest, ImmunizationRecommendation)
activity-scheduled-datedateSpecified date occurs within period specified by CarePlan.activity.plannedActivityDetail.scheduled[x]CarePlan.activity.plannedActivityDetail.scheduled.ofType(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.ofType(Period)
activity-scheduled-stringstringWhen activity is to occurCarePlan.activity.plannedActivityDetail.scheduled.ofType(string)
based-onreferenceFulfills CarePlanCarePlan.basedOn
(CarePlan)
care-teamreferenceWho's involved in plan?CarePlan.careTeam
(CareTeam)
categorytokenType of planCarePlan.category
condition DreferenceReference to a resource (by instance)CarePlan.addresses.reference
custodianreferenceWho is the designated responsible partyCarePlan.custodian
(Practitioner, Organization, CareTeam, Device, Patient, PractitionerRole, RelatedPerson)
datedateTime period plan coversCarePlan.period
encounterreferenceThe Encounter during which this CarePlan was createdCarePlan.encounter
(Encounter)
goalreferenceDesired outcome of planCarePlan.goal
(Goal)
identifiertokenExternal Ids for this planCarePlan.identifier
instantiates-canonical NreferenceInstantiates FHIR protocol or definitionCarePlan.instantiatesCanonical
(Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition)
instantiates-uri NuriInstantiates external protocol or definitionCarePlan.instantiatesUri
intent Ntokenproposal | plan | order | option | directiveCarePlan.intent
part-ofreferencePart of referenced CarePlanCarePlan.partOf
(CarePlan)
patientreferenceWho the care plan is forCarePlan.subject.where(resolve() is Patient)
(Patient)
performerreferenceMatches 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.plannedActivityDetail.performer
(Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
replacesreferenceCarePlan replaced by this CarePlanCarePlan.replaces
(CarePlan)
status Ntokendraft | active | on-hold | revoked | completed | entered-in-error | unknownCarePlan.status
subjectreferenceWho the care plan is forCarePlan.subject
(Group, Patient)