Open Health Hub FHIR Implementation Guide
0.1.0 - v0.1.0

Open Health Hub FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: OHH Create CarePlan

Official URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/ohh-create-care-plan | Version: 0.1.0
Active as of 2025-12-03 | Computable Name: OhhCreateCarePlan

A profile on the CarePlan resource for creating new care plans.

### Scope and Usage

A CarePlan can be created to instantiate a PlanDefinition for a specific patient. The patient and (if applicable) the caregivers referenced in the PlanDefinition will be able to fill out the Questionnaires that are part of the PlanDefinition.

Usages:

- Examples for this Profile: CarePlan/ExampleCreateCarePlan
- CapabilityStatements using this Profile: OHH FHIR API

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from OhhBaseCarePlan

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
activity | S | 0..1 | BackboneElement | Action to occur as part of plan
reference | S | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
instantiatesCanonical | S Σ | 1..1 | canonical(OHH Plan Definition Profile) | Instantiates FHIR protocol or definition
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
subject | S Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). Required Pattern: ohh-patient
period | S Σ | 1..1 | Period | Time period plan covers
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
author | S Σ C | 0..1 | Reference(Practitioner) | Who is the designated responsible party Constraints: author-name-requirement
careTeam | S | 0..* | Reference(CareTeam) | Who's involved in plan?
activity | S C | 0..1 | BackboneElement | Action to occur as part of plan Constraints: cpl-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference | S C | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
CarePlan.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
CarePlan.intent | Base | required | Care Plan Intent | 📍4.0.1 | FHIR Std.
CarePlan.subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
author-name-requirement | error | CarePlan.author | Author name must be present | `resolve().name.text.exists()`
cpl-3 | error | CarePlan.activity | Provide a reference or detail, not both | `detail.empty() or reference.empty()`
dom-2 | error | CarePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | CarePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | CarePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Ids for this plan
instantiatesCanonical | S Σ | 1..1 | canonical(OHH Plan Definition Profile) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(CarePlan) | Fulfills CarePlan
replaces | Σ | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan
partOf | Σ | 0..* | Reference(CarePlan) | Part of referenced CarePlan
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
category | Σ | 0..* | CodeableConcept | Type of plan Binding: CarePlanCategory (example): Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc.
title | Σ | 0..1 | string | Human-friendly name for the care plan
description | Σ | 0..1 | string | Summary of nature of plan
subject | S Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). Required Pattern: ohh-patient
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
period | S Σ | 1..1 | Period | Time period plan covers
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
created | Σ | 0..1 | dateTime | Date record was first recorded
author | S Σ C | 0..1 | Reference(Practitioner) | Who is the designated responsible party Constraints: author-name-requirement
contributor |  | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan
careTeam | S | 0..* | Reference(CareTeam) | Who's involved in plan?
addresses | Σ | 0..* | Reference(Condition) | Health issues this plan addresses
supportingInfo |  | 0..* | Reference(Resource) | Information considered as part of plan
goal |  | 0..* | Reference(Goal) | Desired outcome of plan
activity | S C | 0..1 | BackboneElement | Action to occur as part of plan Constraints: cpl-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcomeCodeableConcept |  | 0..* | CodeableConcept | Results of the activity Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
outcomeReference |  | 0..* | Reference(Resource) | Appointment, Encounter, Procedure, etc.
progress |  | 0..* | Annotation | Comments about the activity status/progress
reference | S C | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
detail | C | 0..1 | BackboneElement | In-line definition of activity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
kind |  | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Binding: CarePlanActivityKind (required): Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.
instantiatesCanonical |  | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition
instantiatesUri |  | 0..* | uri | Instantiates external protocol or definition
code |  | 0..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.
reasonCode |  | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited Binding: SNOMEDCTClinicalFindings (example): 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.
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed
goal |  | 0..* | Reference(Goal) | Goals this activity relates to
status | ?! | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.
statusReason |  | 0..1 | CodeableConcept | Reason for current status
doNotPerform | ?! | 0..1 | boolean | If true, activity is prohibiting action
scheduled[x] |  | 0..1 |  | When activity is to occur
scheduledTiming |  |  | Timing |
scheduledPeriod |  |  | Period |
scheduledString |  |  | string |
location |  | 0..1 | Reference(Location) | Where it should happen
performer |  | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible?
product[x] |  | 0..1 |  | What is to be administered/supplied Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.
productCodeableConcept |  |  | CodeableConcept |
productReference |  |  | Reference(Medication | Substance) |
dailyAmount |  | 0..1 | SimpleQuantity(4.0.1) | How to consume/day?
quantity |  | 0..1 | SimpleQuantity(4.0.1) | How much to administer/supply/consume
description |  | 0..1 | string | Extra info describing activity to perform
note |  | 0..* | Annotation | Comments about the plan
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
CarePlan.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
CarePlan.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
CarePlan.intent | Base | required | Care Plan Intent | 📍4.0.1 | FHIR Std.
CarePlan.category | Base | example | Care Plan Category | 📍4.0.1 | FHIR Std.
CarePlan.subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
CarePlan.activity.outcomeCodeableConcept | Base | example | Care Plan Activity Outcome | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​kind | Base | required | Care Plan Activity Kind | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​status | Base | required | CarePlanActivityStatus | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​product[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
author-name-requirement | error | CarePlan.author | Author name must be present | `resolve().name.text.exists()`
cpl-3 | error | CarePlan.activity | Provide a reference or detail, not both | `detail.empty() or reference.empty()`
dom-2 | error | CarePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | CarePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | CarePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from OhhBaseCarePlan

Summary

Must-Support: 2 elements

Structures

This structure refers to these other structures:

- OHH Care Plan Task Profile (https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/ohh-care-plan-task)

Differential View

This structure is derived from OhhBaseCarePlan

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
activity | S | 0..1 | BackboneElement | Action to occur as part of plan
reference | S | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
Documentation for this format

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
instantiatesCanonical | S Σ | 1..1 | canonical(OHH Plan Definition Profile) | Instantiates FHIR protocol or definition
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
subject | S Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). Required Pattern: ohh-patient
period | S Σ | 1..1 | Period | Time period plan covers
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
author | S Σ C | 0..1 | Reference(Practitioner) | Who is the designated responsible party Constraints: author-name-requirement
careTeam | S | 0..* | Reference(CareTeam) | Who's involved in plan?
activity | S C | 0..1 | BackboneElement | Action to occur as part of plan Constraints: cpl-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference | S C | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
CarePlan.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
CarePlan.intent | Base | required | Care Plan Intent | 📍4.0.1 | FHIR Std.
CarePlan.subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
author-name-requirement | error | CarePlan.author | Author name must be present | `resolve().name.text.exists()`
cpl-3 | error | CarePlan.activity | Provide a reference or detail, not both | `detail.empty() or reference.empty()`
dom-2 | error | CarePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | CarePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | CarePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
CarePlan |  | 0..* | OhhBaseCarePlan | Healthcare plan for patient or group
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Ids for this plan
instantiatesCanonical | S Σ | 1..1 | canonical(OHH Plan Definition Profile) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(CarePlan) | Fulfills CarePlan
replaces | Σ | 0..* | Reference(CarePlan) | CarePlan replaced by this CarePlan
partOf | Σ | 0..* | Reference(CarePlan) | Part of referenced CarePlan
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.
intent | ?!Σ | 1..1 | code | proposal | plan | order | option Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
category | Σ | 0..* | CodeableConcept | Type of plan Binding: CarePlanCategory (example): Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc.
title | Σ | 0..1 | string | Human-friendly name for the care plan
description | Σ | 0..1 | string | Summary of nature of plan
subject | S Σ | 1..1 | Reference(Patient | Group) | Who the care plan is for
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). Required Pattern: ohh-patient
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
period | S Σ | 1..1 | Period | Time period plan covers
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
created | Σ | 0..1 | dateTime | Date record was first recorded
author | S Σ C | 0..1 | Reference(Practitioner) | Who is the designated responsible party Constraints: author-name-requirement
contributor |  | 0..* | Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) | Who provided the content of the care plan
careTeam | S | 0..* | Reference(CareTeam) | Who's involved in plan?
addresses | Σ | 0..* | Reference(Condition) | Health issues this plan addresses
supportingInfo |  | 0..* | Reference(Resource) | Information considered as part of plan
goal |  | 0..* | Reference(Goal) | Desired outcome of plan
activity | S C | 0..1 | BackboneElement | Action to occur as part of plan Constraints: cpl-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcomeCodeableConcept |  | 0..* | CodeableConcept | Results of the activity Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
outcomeReference |  | 0..* | Reference(Resource) | Appointment, Encounter, Procedure, etc.
progress |  | 0..* | Annotation | Comments about the activity status/progress
reference | S C | 0..1 | Reference(OHH Care Plan Task Profile) | Activity details defined in specific resource
detail | C | 0..1 | BackboneElement | In-line definition of activity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
kind |  | 0..1 | code | Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription Binding: CarePlanActivityKind (required): Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.
instantiatesCanonical |  | 0..* | canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) | Instantiates FHIR protocol or definition
instantiatesUri |  | 0..* | uri | Instantiates external protocol or definition
code |  | 0..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.
reasonCode |  | 0..* | CodeableConcept | Why activity should be done or why activity was prohibited Binding: SNOMEDCTClinicalFindings (example): 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.
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why activity is needed
goal |  | 0..* | Reference(Goal) | Goals this activity relates to
status | ?! | 1..1 | code | not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.
statusReason |  | 0..1 | CodeableConcept | Reason for current status
doNotPerform | ?! | 0..1 | boolean | If true, activity is prohibiting action
scheduled[x] |  | 0..1 |  | When activity is to occur
scheduledTiming |  |  | Timing |
scheduledPeriod |  |  | Period |
scheduledString |  |  | string |
location |  | 0..1 | Reference(Location) | Where it should happen
performer |  | 0..* | Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) | Who will be responsible?
product[x] |  | 0..1 |  | What is to be administered/supplied Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.
productCodeableConcept |  |  | CodeableConcept |
productReference |  |  | Reference(Medication | Substance) |
dailyAmount |  | 0..1 | SimpleQuantity(4.0.1) | How to consume/day?
quantity |  | 0..1 | SimpleQuantity(4.0.1) | How much to administer/supply/consume
description |  | 0..1 | string | Extra info describing activity to perform
note |  | 0..* | Annotation | Comments about the plan
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
CarePlan.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
CarePlan.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
CarePlan.intent | Base | required | Care Plan Intent | 📍4.0.1 | FHIR Std.
CarePlan.category | Base | example | Care Plan Category | 📍4.0.1 | FHIR Std.
CarePlan.subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
CarePlan.activity.outcomeCodeableConcept | Base | example | Care Plan Activity Outcome | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​kind | Base | required | Care Plan Activity Kind | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​status | Base | required | CarePlanActivityStatus | 📍4.0.1 | FHIR Std.
CarePlan.activity.detail.​product[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
author-name-requirement | error | CarePlan.author | Author name must be present | `resolve().name.text.exists()`
cpl-3 | error | CarePlan.activity | Provide a reference or detail, not both | `detail.empty() or reference.empty()`
dom-2 | error | CarePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | CarePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | CarePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | CarePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from OhhBaseCarePlan

Summary

Must-Support: 2 elements

Structures

This structure refers to these other structures:

- OHH Care Plan Task Profile (https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/ohh-care-plan-task)

Other representations of profile: CSV, Excel, Schematron

### Notes:

We always remove any time portion from the period.start field. We start the program at the start of the remaining date (in UTC). When retrieving a CarePlan the start date will always be in timezone Europe/Amsterdam. So for a CarePlan with period.start set to 2022-12-02T03:00:00+05:00 the program will start at 2022-12-02T01:00:00+01:00.

#### Activities

We offer the possibility to automatically create a user for the patient (if it doesn’t exist yet), register the patient to the program and send an invitation email to the patient. To achieve this, you should add an `activity` element to the CarePlan. The activity should contain a reference to a contained `Task` resource, where the desired actions can be specified.

Note that you can’t use `register-patient` without also enabling `create-user`.

Please see the create CarePlan JSON for an example what this looks like in a complete CarePlan request.

For more information about the returned CarePlan see Retrieving a CarePlan.

#### Caregivers

When a program has questionnaires that need to be filled out by caregivers of the patient, the caregivers need to be specified when creating a CarePlan for a patient. This can be done by setting the `careTeam` field. The CareTeam reference should point to a contained CareTeam resource. This CareTeam resource should list all Practitioners for all caregiver roles used in the program. The Practitioner can be referenced as a contained resource, or by id (if known). The create CarePlan example includes a contained CareTeam and Practitioner with the role `psychologist`, and an `oncologist` referenced by id.