R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). 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 Use Compartments: 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 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 DiagnosticReport, GuidanceResponse, ImagingStudy, Media, MedicationRequest, MedicationStatement, Observation, Procedure, QuestionnaireResponse and ServiceRequest

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
... instantiates Σ0..*uriProtocol 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..1codedraft | active | suspended | completed | entered-in-error | cancelled | unknown
CarePlanStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order | option
CarePlanIntent (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
... context Σ0..1Reference(Encounter | EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is responsible for contents of the 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 I0..*BackboneElementAction to occur as part of plan
+ Provide a reference or detail, not both
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Care Plan Activity Outcome (Example)
.... outcomeReference 0..*Reference(Any)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... kind 0..1codeKind of resource
Care Plan Activity Kind (Required)
..... instantiates 0..1uriProtocol or definition
..... code 0..1CodeableConceptDetail type of activity
Procedure Codes (SNOMED CT) (Example)
..... reasonCode 0..*CodeableConceptWhy 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..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown
CarePlanActivityStatus (Required)
..... statusReason 0..1stringReason for current status
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... 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

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..*]Identifies the protocol, questionnaire, guideline or other specification the care plan should be conducted in accordance withinstantiates : 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] « Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. (Strength=Required)CarePlanStatus! »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] « Codes indicating the degree of authority/intentionality associated with a care plan (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..*] « Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc. (Strength=Example)Care Plan Category?? »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 »Identifies the original context in which this particular care plan was createdcontext : Reference [0..1] « Encounter|EpisodeOfCare »Indicates when the plan did (or is intended to) come into effect and endperiod : Period [0..1]Identifies the individual(s) or organization who is responsible for the content of the care planauthor : 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 : Reference [0..*] « Condition »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 outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not)outcomeCodeableConcept : CodeableConcept [0..*] « Identifies the results of the activity (Strength=Example)Care Plan Activity Outcome?? »Details of the outcome or action resulting from the activity. The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource)outcomeReference : Reference [0..*] « Any »Notes about the adherence/status/progress of the activityprogress : Annotation [0..*]The details of the proposed activity represented in a specific resourcereference : Reference [0..1] « Appointment|CommunicationRequest| DeviceRequest|MedicationRequest|NutritionOrder|Task| ServiceRequest|VisionPrescription|RequestGroup »DetailA 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] « Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity. (Strength=Required)Care Plan Activity Kind! »Identifies the protocol, questionnaire, guideline or other specification the planned activity should be conducted in accordance withinstantiates : uri [0..1]Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encountercode : CodeableConcept [0..1] « Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter. (Strength=Example)Procedure Codes (SNOMED CT)?? »Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibitedreasonCode : CodeableConcept [0..*] « Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc. (Strength=Example)SNOMED CT Clinical Findings?? »Indicates 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 planreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »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] « Indicates where the activity is at in its overall life cycle. (Strength=Required)CarePlanActivityStatus! »Provides reason why the activity isn't yet started, is on hold, was cancelled, etcstatusReason : string [0..1]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] : Type [0..1] « Timing|Period|string »Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etclocation : Reference [0..1] « Location »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] : Type [0..1] « CodeableConcept|Reference(Medication| Substance); A product supplied or administered as part of a care plan activity. (Strength=Example)SNOMED CT Medication ?? »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 etcdetail[0..1]Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, 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>
 <instantiates value="[uri]"/><!-- 0..* 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) Who the care plan is for --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created in context of --></context>
 <period><!-- 0..1 Period Time period plan covers --></period>
 <author><!-- 0..* Reference(Patient|Practitioner|PractitionerRole|Device|
   RelatedPerson|Organization|CareTeam) Who is responsible for contents of the plan --></author>
 <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|Task|ServiceRequest|VisionPrescription|
    RequestGroup) Activity details defined in specific resource --></reference>
  <detail>  <!-- ?? 0..1 In-line definition of activity -->
   <kind value="[code]"/><!-- 0..1 Kind of resource -->
   <instantiates value="[uri]"/><!-- 0..1 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|Observation|DiagnosticReport|
     DocumentReference) 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 -->
   <statusReason value="[string]"/><!-- 0..1 Reason for current status -->
   <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(Practitioner|PractitionerRole|Organization|
     RelatedPerson|Patient|CareTeam|HealthcareService|Device) 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

{doco
  "resourceType" : "CarePlan",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this plan
  "instantiates" : ["<uri>"], // 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) }, // R!  Who the care plan is for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Created in context of
  "period" : { Period }, // Time period plan covers
  "author" : [{ Reference(Patient|Practitioner|PractitionerRole|Device|
   RelatedPerson|Organization|CareTeam) }], // Who is responsible for contents of the 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|Task|ServiceRequest|VisionPrescription|
    RequestGroup) }, // C? Activity details defined in specific resource
    "detail" : { // C? In-line definition of activity
      "kind" : "<code>", // Kind of resource
      "instantiates" : "<uri>", // Protocol or definition
      "code" : { CodeableConcept }, // Detail type of activity
      "reasonCode" : [{ CodeableConcept }], // Why activity should be done or why activity was prohibited
      "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
     DocumentReference) }], // 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
      "statusReason" : "<string>", // 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(Practitioner|PractitionerRole|Organization|
     RelatedPerson|Patient|CareTeam|HealthcareService|Device) }], // 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.instantiates [ uri ], ... ; # 0..* 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) ]; # 1..1 Who the care plan is for
  fhir:CarePlan.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Created in context of
  fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers
  fhir:CarePlan.author [ Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam) ], ... ; # 0..* Who is responsible for contents of the 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|
  Task|ServiceRequest|VisionPrescription|RequestGroup) ]; # 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 Kind of resource
      fhir:CarePlan.activity.detail.instantiates [ uri ]; # 0..1 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|Observation|DiagnosticReport|DocumentReference) ], ... ; # 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
      fhir:CarePlan.activity.detail.statusReason [ string ]; # 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(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|
  HealthcareService|Device) ], ... ; # 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.instantiates
  • Added Element
CarePlan.author
  • Type changed from Reference(Patient|Practitioner|RelatedPerson|Organization|CareTeam) to Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)
CarePlan.activity.reference
  • Type changed from Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ProcedureRequest|ReferralRequest|VisionPrescription|RequestGroup) to Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup)
CarePlan.activity.detail.kind
  • Added Element
CarePlan.activity.detail.instantiates
  • Added Element
CarePlan.activity.detail.reasonReference
  • Type changed from Reference(Condition) to Reference(Condition|Observation|DiagnosticReport|DocumentReference)
CarePlan.activity.detail.doNotPerform
  • Added Element
CarePlan.activity.detail.performer
  • Type changed from Reference(Practitioner|Organization|RelatedPerson|Patient|CareTeam) to Reference(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|HealthcareService|Device)
CarePlan.activity.detail.product[x]
  • Remove Reference(Medication|Substance), Add Reference(Medication|Substance)
CarePlan.definition
  • deleted
CarePlan.activity.detail.category
  • deleted
CarePlan.activity.detail.definition
  • deleted
CarePlan.activity.detail.prohibited
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 10 tests that all execute ok. 8 fail round-trip testing and 10 r3 resources are invalid (33 errors).). Note: these have note yet been updated to be R3 to R4

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
... instantiates Σ0..*uriProtocol 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..1codedraft | active | suspended | completed | entered-in-error | cancelled | unknown
CarePlanStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order | option
CarePlanIntent (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
... context Σ0..1Reference(Encounter | EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is responsible for contents of the 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 I0..*BackboneElementAction to occur as part of plan
+ Provide a reference or detail, not both
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Care Plan Activity Outcome (Example)
.... outcomeReference 0..*Reference(Any)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... kind 0..1codeKind of resource
Care Plan Activity Kind (Required)
..... instantiates 0..1uriProtocol or definition
..... code 0..1CodeableConceptDetail type of activity
Procedure Codes (SNOMED CT) (Example)
..... reasonCode 0..*CodeableConceptWhy 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..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown
CarePlanActivityStatus (Required)
..... statusReason 0..1stringReason for current status
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... 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

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..*]Identifies the protocol, questionnaire, guideline or other specification the care plan should be conducted in accordance withinstantiates : 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] « Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. (Strength=Required)CarePlanStatus! »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] « Codes indicating the degree of authority/intentionality associated with a care plan (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..*] « Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc. (Strength=Example)Care Plan Category?? »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 »Identifies the original context in which this particular care plan was createdcontext : Reference [0..1] « Encounter|EpisodeOfCare »Indicates when the plan did (or is intended to) come into effect and endperiod : Period [0..1]Identifies the individual(s) or organization who is responsible for the content of the care planauthor : 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 : Reference [0..*] « Condition »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 outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not)outcomeCodeableConcept : CodeableConcept [0..*] « Identifies the results of the activity (Strength=Example)Care Plan Activity Outcome?? »Details of the outcome or action resulting from the activity. The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource)outcomeReference : Reference [0..*] « Any »Notes about the adherence/status/progress of the activityprogress : Annotation [0..*]The details of the proposed activity represented in a specific resourcereference : Reference [0..1] « Appointment|CommunicationRequest| DeviceRequest|MedicationRequest|NutritionOrder|Task| ServiceRequest|VisionPrescription|RequestGroup »DetailA 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] « Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity. (Strength=Required)Care Plan Activity Kind! »Identifies the protocol, questionnaire, guideline or other specification the planned activity should be conducted in accordance withinstantiates : uri [0..1]Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encountercode : CodeableConcept [0..1] « Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter. (Strength=Example)Procedure Codes (SNOMED CT)?? »Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibitedreasonCode : CodeableConcept [0..*] « Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc. (Strength=Example)SNOMED CT Clinical Findings?? »Indicates 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 planreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »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] « Indicates where the activity is at in its overall life cycle. (Strength=Required)CarePlanActivityStatus! »Provides reason why the activity isn't yet started, is on hold, was cancelled, etcstatusReason : string [0..1]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] : Type [0..1] « Timing|Period|string »Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etclocation : Reference [0..1] « Location »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] : Type [0..1] « CodeableConcept|Reference(Medication| Substance); A product supplied or administered as part of a care plan activity. (Strength=Example)SNOMED CT Medication ?? »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 etcdetail[0..1]Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, 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>
 <instantiates value="[uri]"/><!-- 0..* 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) Who the care plan is for --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created in context of --></context>
 <period><!-- 0..1 Period Time period plan covers --></period>
 <author><!-- 0..* Reference(Patient|Practitioner|PractitionerRole|Device|
   RelatedPerson|Organization|CareTeam) Who is responsible for contents of the plan --></author>
 <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|Task|ServiceRequest|VisionPrescription|
    RequestGroup) Activity details defined in specific resource --></reference>
  <detail>  <!-- ?? 0..1 In-line definition of activity -->
   <kind value="[code]"/><!-- 0..1 Kind of resource -->
   <instantiates value="[uri]"/><!-- 0..1 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|Observation|DiagnosticReport|
     DocumentReference) 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 -->
   <statusReason value="[string]"/><!-- 0..1 Reason for current status -->
   <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(Practitioner|PractitionerRole|Organization|
     RelatedPerson|Patient|CareTeam|HealthcareService|Device) 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

{doco
  "resourceType" : "CarePlan",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this plan
  "instantiates" : ["<uri>"], // 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) }, // R!  Who the care plan is for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Created in context of
  "period" : { Period }, // Time period plan covers
  "author" : [{ Reference(Patient|Practitioner|PractitionerRole|Device|
   RelatedPerson|Organization|CareTeam) }], // Who is responsible for contents of the 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|Task|ServiceRequest|VisionPrescription|
    RequestGroup) }, // C? Activity details defined in specific resource
    "detail" : { // C? In-line definition of activity
      "kind" : "<code>", // Kind of resource
      "instantiates" : "<uri>", // Protocol or definition
      "code" : { CodeableConcept }, // Detail type of activity
      "reasonCode" : [{ CodeableConcept }], // Why activity should be done or why activity was prohibited
      "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
     DocumentReference) }], // 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
      "statusReason" : "<string>", // 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(Practitioner|PractitionerRole|Organization|
     RelatedPerson|Patient|CareTeam|HealthcareService|Device) }], // 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.instantiates [ uri ], ... ; # 0..* 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 | suspended | completed | entered-in-error | cancelled | 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(Patient|Group) ]; # 1..1 Who the care plan is for
  fhir:CarePlan.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Created in context of
  fhir:CarePlan.period [ Period ]; # 0..1 Time period plan covers
  fhir:CarePlan.author [ Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam) ], ... ; # 0..* Who is responsible for contents of the 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|
  Task|ServiceRequest|VisionPrescription|RequestGroup) ]; # 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 Kind of resource
      fhir:CarePlan.activity.detail.instantiates [ uri ]; # 0..1 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|Observation|DiagnosticReport|DocumentReference) ], ... ; # 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
      fhir:CarePlan.activity.detail.statusReason [ string ]; # 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(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|
  HealthcareService|Device) ], ... ; # 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 DSTU2

CarePlan
CarePlan.instantiates
  • Added Element
CarePlan.author
  • Type changed from Reference(Patient|Practitioner|RelatedPerson|Organization|CareTeam) to Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)
CarePlan.activity.reference
  • Type changed from Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ProcedureRequest|ReferralRequest|VisionPrescription|RequestGroup) to Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup)
CarePlan.activity.detail.kind
  • Added Element
CarePlan.activity.detail.instantiates
  • Added Element
CarePlan.activity.detail.reasonReference
  • Type changed from Reference(Condition) to Reference(Condition|Observation|DiagnosticReport|DocumentReference)
CarePlan.activity.detail.doNotPerform
  • Added Element
CarePlan.activity.detail.performer
  • Type changed from Reference(Practitioner|Organization|RelatedPerson|Patient|CareTeam) to Reference(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|HealthcareService|Device)
CarePlan.activity.detail.product[x]
  • Remove Reference(Medication|Substance), Add Reference(Medication|Substance)
CarePlan.definition
  • deleted
CarePlan.activity.detail.category
  • deleted
CarePlan.activity.detail.definition
  • deleted
CarePlan.activity.detail.prohibited
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 10 tests that all execute ok. 8 fail round-trip testing and 10 r3 resources are invalid (33 errors).). Note: these have note yet been updated to be R3 to R4

 

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

PathDefinitionTypeReference
CarePlan.status Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.RequiredCarePlanStatus
CarePlan.intent Codes indicating the degree of authority/intentionality associated with a care planRequiredCarePlanIntent
CarePlan.category Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc.ExampleCare Plan Category
CarePlan.activity.outcomeCodeableConcept Identifies the results of the activityExampleCare Plan Activity Outcome
CarePlan.activity.detail.kind Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.RequiredCare Plan Activity Kind
CarePlan.activity.detail.code Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.ExampleProcedure Codes (SNOMED CT)
CarePlan.activity.detail.reasonCode Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc.ExampleSNOMED CT Clinical Findings
CarePlan.activity.detail.status Indicates where the activity is at in its overall life cycle.RequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x] A product supplied or administered as part of a care plan activity.ExampleSNOMED CT Medication Codes

  • cpl-3: On CarePlan.activity: Provide a reference or detail, not both (expression on CarePlan.activity: 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.

NameTypeDescriptionExpressionIn Common
activity-codetokenDetail type of activityCarePlan.activity.detail.code
activity-datedateSpecified date occurs within period specified by CarePlan.activity.timingScheduleCarePlan.activity.detail.scheduled
activity-referencereferenceActivity details defined in specific resourceCarePlan.activity.reference
(Appointment, MedicationRequest, Task, NutritionOrder, RequestGroup, VisionPrescription, DeviceRequest, ServiceRequest, CommunicationRequest)
based-onreferenceFulfills CarePlanCarePlan.basedOn
(CarePlan)
care-teamreferenceWho's involved in plan?CarePlan.careTeam
(CareTeam)
categorytokenType of planCarePlan.category
conditionreferenceHealth issues this plan addressesCarePlan.addresses
(Condition)
contextreferenceCreated in context ofCarePlan.context
(EpisodeOfCare, Encounter)
datedateTime period plan coversCarePlan.period17 Resources
encounterreferenceCreated in context ofCarePlan.context
(Encounter)
goalreferenceDesired outcome of planCarePlan.goal
(Goal)
identifiertokenExternal Ids for this planCarePlan.identifier26 Resources
instantiatesuriProtocol or definitionCarePlan.instantiates
intenttokenproposal | plan | order | optionCarePlan.intent
part-ofreferencePart of referenced CarePlanCarePlan.partOf
(CarePlan)
patientreferenceWho the care plan is forCarePlan.subject
(Patient)
29 Resources
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.detail.performer
(Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
replacesreferenceCarePlan replaced by this CarePlanCarePlan.replaces
(CarePlan)
statustokendraft | active | suspended | completed | entered-in-error | cancelled | unknownCarePlan.status
subjectreferenceWho the care plan is forCarePlan.subject
(Group, Patient)