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 Retrieve CarePlan

Official URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/ohh-retrieve-care-plan Version: 0.1.0
Active as of 2026-10-27 Computable Name: OhhRetrieveCarePlan

A profile on the CarePlan resource describing the information returned by the GET operation.

Scope and Usage

A CarePlan contains the task for the patient and/or caregivers for a specific PlanDefinition. The tasks will reference the Open Health Hub Form Filler to easily fill out forms.

Usages:

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.

This structure is derived from OhhBaseCarePlan

NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.status This element must be supported. 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
CarePlan.subject
CarePlan.subject.reference This element must be supported. 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.period.end This element must be supported. 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.careTeam 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. 0..* BackboneElement Action to occur as part of plan
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.code 1..1 CodeableConcept Detail type of activity
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element must be supported. 1..1 code not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
CarePlan.activity.detail.Slices for scheduled[x] 0..1 Timing, Period, string When activity is to occur
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
CarePlan.instantiatesCanonical This element must be supported. This element is included in summaries. 1..1 canonical(OHH Plan Definition Profile) Instantiates FHIR protocol or definition
CarePlan.status This element is a modifier element. This element must be supported. This element is included in summaries. 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.
CarePlan.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
CarePlan.subject This element must be supported. This element is included in summaries. 1..1 Reference(Ohh Patient Profile) Who the care plan is for
CarePlan.subject.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.period This element must be supported. This element is included in summaries. 1..1 Period Time period plan covers
CarePlan.period.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.author This element must be supported. This element is included in summaries. C 0..1 Reference(Practitioner) Who is the designated responsible party
Constraints: author-name-requirement
CarePlan.careTeam This element must be supported. 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
CarePlan.activity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.code 1..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.
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element is a modifier element. This element must be supported. 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.
CarePlan.activity.detail.doNotPerform This element is a modifier element. 0..1 boolean If true, activity is prohibiting action
CarePlan.activity.detail.Slices for scheduled[x] 0..1 When activity is to occur
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduledTiming Timing
CarePlan.activity.detail.Slices for scheduled[x].scheduledPeriod Period
CarePlan.activity.detail.Slices for scheduled[x].scheduledString string
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. This element is included in summaries. C 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform

doco 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.activity.detail.​code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​status Base required CarePlanActivityStatus 📍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()
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
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()
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.id This element is included in summaries. 0..1 id Logical id of this artifact
CarePlan.meta This element is included in summaries. 0..1 Meta Metadata about the resource
CarePlan.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
CarePlan.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
CarePlan.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
CarePlan.contained 0..* Resource Contained, inline Resources
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
CarePlan.identifier This element is included in summaries. 0..* Identifier External Ids for this plan
CarePlan.instantiatesCanonical This element must be supported. This element is included in summaries. 1..1 canonical(OHH Plan Definition Profile) Instantiates FHIR protocol or definition
CarePlan.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
CarePlan.basedOn This element is included in summaries. 0..* Reference(CarePlan) Fulfills CarePlan
CarePlan.replaces This element is included in summaries. 0..* Reference(CarePlan) CarePlan replaced by this CarePlan
CarePlan.partOf This element is included in summaries. 0..* Reference(CarePlan) Part of referenced CarePlan
CarePlan.status This element is a modifier element. This element must be supported. This element is included in summaries. 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.
CarePlan.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
CarePlan.category This element is included in summaries. 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.
CarePlan.title This element is included in summaries. 0..1 string Human-friendly name for the care plan
CarePlan.description This element is included in summaries. 0..1 string Summary of nature of plan
CarePlan.subject This element must be supported. This element is included in summaries. 1..1 Reference(Ohh Patient Profile) Who the care plan is for
CarePlan.subject.id 0..1 string Unique id for inter-element referencing
CarePlan.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.subject.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.subject.type This element is included in summaries. 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).
CarePlan.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
CarePlan.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
CarePlan.encounter This element is included in summaries. 0..1 Reference(Encounter) Encounter created as part of
CarePlan.period This element must be supported. This element is included in summaries. 1..1 Period Time period plan covers
CarePlan.period.id 0..1 string Unique id for inter-element referencing
CarePlan.period.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.period.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.created This element is included in summaries. 0..1 dateTime Date record was first recorded
CarePlan.author This element must be supported. This element is included in summaries. C 0..1 Reference(Practitioner) Who is the designated responsible party
Constraints: author-name-requirement
CarePlan.contributor 0..* Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) Who provided the content of the care plan
CarePlan.careTeam This element must be supported. 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.addresses This element is included in summaries. 0..* Reference(Condition) Health issues this plan addresses
CarePlan.supportingInfo 0..* Reference(Resource) Information considered as part of plan
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
CarePlan.activity.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.extension 0..* Extension Additional content defined by implementations
CarePlan.activity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.outcomeCodeableConcept 0..* CodeableConcept Results of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.progress 0..* Annotation Comments about the activity status/progress
CarePlan.activity.reference C 0..1 Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) Activity details defined in specific resource
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.detail.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.
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.instantiatesUri 0..* uri Instantiates external protocol or definition
CarePlan.activity.detail.code 1..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.
CarePlan.activity.detail.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.
CarePlan.activity.detail.reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why activity is needed
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element is a modifier element. This element must be supported. 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.
CarePlan.activity.detail.statusReason 0..1 CodeableConcept Reason for current status
CarePlan.activity.detail.doNotPerform This element is a modifier element. 0..1 boolean If true, activity is prohibiting action
CarePlan.activity.detail.Slices for scheduled[x] 0..1 When activity is to occur
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduledTiming Timing
CarePlan.activity.detail.Slices for scheduled[x].scheduledPeriod Period
CarePlan.activity.detail.Slices for scheduled[x].scheduledString string
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. This element is included in summaries. C 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.location 0..1 Reference(Location) Where it should happen
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.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.
CarePlan.activity.detail.product[x].productCodeableConcept CodeableConcept
CarePlan.activity.detail.product[x].productReference Reference(Medication | Substance)
CarePlan.activity.detail.dailyAmount C 0..1 SimpleQuantity(4.0.1) How to consume/day?
Constraints: sqty-1
CarePlan.activity.detail.quantity C 0..1 SimpleQuantity(4.0.1) How much to administer/supply/consume
Constraints: sqty-1
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform
CarePlan.note 0..* Annotation Comments about the plan

doco 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()
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
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()
sqty-1 error CarePlan.activity.detail.dailyAmount, CarePlan.activity.detail.quantity The comparator is not used on a SimpleQuantity comparator.empty()
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()

Differential View

This structure is derived from OhhBaseCarePlan

NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.status This element must be supported. 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
CarePlan.subject
CarePlan.subject.reference This element must be supported. 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.period
CarePlan.period.end This element must be supported. 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.careTeam 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. 0..* BackboneElement Action to occur as part of plan
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.code 1..1 CodeableConcept Detail type of activity
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element must be supported. 1..1 code not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
CarePlan.activity.detail.Slices for scheduled[x] 0..1 Timing, Period, string When activity is to occur
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
CarePlan.instantiatesCanonical This element must be supported. This element is included in summaries. 1..1 canonical(OHH Plan Definition Profile) Instantiates FHIR protocol or definition
CarePlan.status This element is a modifier element. This element must be supported. This element is included in summaries. 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.
CarePlan.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
CarePlan.subject This element must be supported. This element is included in summaries. 1..1 Reference(Ohh Patient Profile) Who the care plan is for
CarePlan.subject.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.period This element must be supported. This element is included in summaries. 1..1 Period Time period plan covers
CarePlan.period.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.author This element must be supported. This element is included in summaries. C 0..1 Reference(Practitioner) Who is the designated responsible party
Constraints: author-name-requirement
CarePlan.careTeam This element must be supported. 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
CarePlan.activity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.code 1..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.
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element is a modifier element. This element must be supported. 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.
CarePlan.activity.detail.doNotPerform This element is a modifier element. 0..1 boolean If true, activity is prohibiting action
CarePlan.activity.detail.Slices for scheduled[x] 0..1 When activity is to occur
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduledTiming Timing
CarePlan.activity.detail.Slices for scheduled[x].scheduledPeriod Period
CarePlan.activity.detail.Slices for scheduled[x].scheduledString string
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. This element is included in summaries. C 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform

doco 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.activity.detail.​code Base example Procedure Codes (SNOMED CT) 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​status Base required CarePlanActivityStatus 📍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()
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
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()
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
CarePlan C 0..* OhhBaseCarePlan Healthcare plan for patient or group
Constraints: care-providers-requirement, caregivers-requirement
CarePlan.id This element is included in summaries. 0..1 id Logical id of this artifact
CarePlan.meta This element is included in summaries. 0..1 Meta Metadata about the resource
CarePlan.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
CarePlan.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
CarePlan.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
CarePlan.contained 0..* Resource Contained, inline Resources
CarePlan.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.Slices for extension.extension:programLink This element must be supported. 0..1 string Program Link
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-link
CarePlan.Slices for extension.extension:programPin This element must be supported. 0..1 string Program PIN
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/program-pin
CarePlan.Slices for extension.extension:customInviteImage This element must be supported. 0..1 Attachment Custom Invite Image
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-image
CarePlan.Slices for extension.extension:customInviteText This element must be supported. 0..1 string Custom Invite Text
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/custom-invite-text
CarePlan.Slices for extension.extension:formFillerProgramTimeline This element must be supported. 0..1 string Form Filler Program Timeline
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-timeline
CarePlan.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
CarePlan.identifier This element is included in summaries. 0..* Identifier External Ids for this plan
CarePlan.instantiatesCanonical This element must be supported. This element is included in summaries. 1..1 canonical(OHH Plan Definition Profile) Instantiates FHIR protocol or definition
CarePlan.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
CarePlan.basedOn This element is included in summaries. 0..* Reference(CarePlan) Fulfills CarePlan
CarePlan.replaces This element is included in summaries. 0..* Reference(CarePlan) CarePlan replaced by this CarePlan
CarePlan.partOf This element is included in summaries. 0..* Reference(CarePlan) Part of referenced CarePlan
CarePlan.status This element is a modifier element. This element must be supported. This element is included in summaries. 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.
CarePlan.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
CarePlan.category This element is included in summaries. 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.
CarePlan.title This element is included in summaries. 0..1 string Human-friendly name for the care plan
CarePlan.description This element is included in summaries. 0..1 string Summary of nature of plan
CarePlan.subject This element must be supported. This element is included in summaries. 1..1 Reference(Ohh Patient Profile) Who the care plan is for
CarePlan.subject.id 0..1 string Unique id for inter-element referencing
CarePlan.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.subject.reference This element must be supported. This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
CarePlan.subject.type This element is included in summaries. 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).
CarePlan.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
CarePlan.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
CarePlan.encounter This element is included in summaries. 0..1 Reference(Encounter) Encounter created as part of
CarePlan.period This element must be supported. This element is included in summaries. 1..1 Period Time period plan covers
CarePlan.period.id 0..1 string Unique id for inter-element referencing
CarePlan.period.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.period.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.period.end This element must be supported. This element is included in summaries. C 0..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.created This element is included in summaries. 0..1 dateTime Date record was first recorded
CarePlan.author This element must be supported. This element is included in summaries. C 0..1 Reference(Practitioner) Who is the designated responsible party
Constraints: author-name-requirement
CarePlan.contributor 0..* Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) Who provided the content of the care plan
CarePlan.careTeam This element must be supported. 1..2 Reference(CareTeam) Who's involved in plan?
CarePlan.addresses This element is included in summaries. 0..* Reference(Condition) Health issues this plan addresses
CarePlan.supportingInfo 0..* Reference(Resource) Information considered as part of plan
CarePlan.goal This element must be supported. 0..* Reference(Goal) Desired outcome of plan
CarePlan.activity This element must be supported. C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
CarePlan.activity.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.extension 0..* Extension Additional content defined by implementations
CarePlan.activity.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.outcomeCodeableConcept 0..* CodeableConcept Results of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
CarePlan.activity.outcomeReference This element must be supported. 0..1 Reference(Resource) Appointment, Encounter, Procedure, etc.
CarePlan.activity.progress 0..* Annotation Comments about the activity status/progress
CarePlan.activity.reference C 0..1 Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup) Activity details defined in specific resource
CarePlan.activity.detail This element must be supported. C 1..1 BackboneElement In-line definition of activity
Constraints: valid-activity-detail-code
CarePlan.activity.detail.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.detail.Slices for extension 0..* Extension Extension
Slice: Unordered, Closed by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
CarePlan.activity.detail.Slices for extension.extension:formFillerProgramTask This element must be supported. 0..1 string Form Filler Program Task URL
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/form-filler-program-task
CarePlan.activity.detail.Slices for extension.extension:taskUuid This element must be supported. 0..1 string Task UUID
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/task-uuid
CarePlan.activity.detail.Slices for extension.extension:relatedQuestionnaire This element must be supported. 0..1 Reference(Ohh Questionnaire Profile) Related Questionnaire
URL: https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/related-questionnaire
CarePlan.activity.detail.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
CarePlan.activity.detail.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.
CarePlan.activity.detail.instantiatesCanonical This element must be supported. 0..1 canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
CarePlan.activity.detail.instantiatesUri 0..* uri Instantiates external protocol or definition
CarePlan.activity.detail.code 1..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.
CarePlan.activity.detail.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.
CarePlan.activity.detail.reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why activity is needed
CarePlan.activity.detail.goal This element must be supported. 0..* Reference(Goal) Goals this activity relates to
CarePlan.activity.detail.status This element is a modifier element. This element must be supported. 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.
CarePlan.activity.detail.statusReason 0..1 CodeableConcept Reason for current status
CarePlan.activity.detail.doNotPerform This element is a modifier element. 0..1 boolean If true, activity is prohibiting action
CarePlan.activity.detail.Slices for scheduled[x] 0..1 When activity is to occur
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
CarePlan.activity.detail.Slices for scheduled[x].scheduledTiming Timing
CarePlan.activity.detail.Slices for scheduled[x].scheduledPeriod Period
CarePlan.activity.detail.Slices for scheduled[x].scheduledString string
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod 0..1 Period When activity is to occur
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.id 0..1 string Unique id for inter-element referencing
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.start This element must be supported. This element is included in summaries. C 1..1 dateTime Starting time with inclusive boundary
CarePlan.activity.detail.Slices for scheduled[x].scheduled[x]:scheduledPeriod.end This element must be supported. This element is included in summaries. C 1..1 dateTime End time with inclusive boundary, if not ongoing
CarePlan.activity.detail.location 0..1 Reference(Location) Where it should happen
CarePlan.activity.detail.performer This element must be supported. 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
CarePlan.activity.detail.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.
CarePlan.activity.detail.product[x].productCodeableConcept CodeableConcept
CarePlan.activity.detail.product[x].productReference Reference(Medication | Substance)
CarePlan.activity.detail.dailyAmount C 0..1 SimpleQuantity(4.0.1) How to consume/day?
Constraints: sqty-1
CarePlan.activity.detail.quantity C 0..1 SimpleQuantity(4.0.1) How much to administer/supply/consume
Constraints: sqty-1
CarePlan.activity.detail.description This element must be supported. 0..1 string Extra info describing activity to perform
CarePlan.note 0..* Annotation Comments about the plan

doco 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()
care-providers-requirement error CarePlan Exactly 1 care providers CareTeam careTeam.where(reference.exists() and reference.matches('^CareTeam/[0-9]+$')).count() = 1
caregivers-requirement error CarePlan At most 1 caregivers CareTeam careTeam.where(reference.exists() and reference.matches('CareTeam/[0-9]+-caregivers$')).count() <= 1
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()
sqty-1 error CarePlan.activity.detail.dailyAmount, CarePlan.activity.detail.quantity The comparator is not used on a SimpleQuantity comparator.empty()
valid-activity-detail-code error CarePlan.activity.detail Activity detail code must be from questionnaire-types or action-type code systems code.coding.where(system.endsWith('/questionnaire-types') or system.endsWith('/action-type')).exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Retrieving a CarePlan

An individual CarePlan can be retrieved by its ID using a GET request. Alongside standard FHIR fields, the CarePlan will contain the following customised fields:

  • An extension containing the URL the patient needs to open the program (program-link)
  • An extension containing the PIN which the patient needs to register the program (program-pin)
  • Two extensions that contain the Customized Invite Mail text and image when set in the Improve Designer (custom-invite-image and custom-invite-text)
  • An extension with a link to the embedded form filler program timeline. This will only be present when the patient is already registered to the program (form-filler-program-timeline).
  • Two careTeam references. Both CareTeams contain a list of Practitioner references:
    • In the CareTeam with the same id as the CarePlan, Practitioners have a public key that should be used for encrypting the QuestionnaireResponses that fulfill activities in this CarePlan.
    • The CareTeam where the id has a -caregivers suffix lists the Practitioners that have activities in this CarePlan. They are referenced by their role.
  • An activity list. Every activity represents either a questionnaire for the patient or a caregiver of the patient, or a communication request to remind the patient to fill in the questionnaire (push notification or a call from the responsible health care professional). Questionnaires are calculated dynamically based on input from previous questionnaires, so the list is not final and can grow over time. The questionnaire activities contain two extensions to open the specific questionnaire directly in the embedded form filler (form-filler-program-task, task-uuid).

Searching CarePlans

Multiple CarePlans can be retrieved by searching for them using a GET request. This will return a Bundle which includes links to the current, previous, and next pages (if any). The search parameters are defined in the FHIR specification for CarePlan resources, which includes an optional count parameter. The count parameter specifies the maximum number of CarePlans to return. When no count parameter is specified, 25 CarePlans will be returned per default. The maximum number of CarePlans that can be returned in a single page is 50.

Using with the Embedded Form Filler

Besides using the embedded form filler links in the extensions, you can also build the links to the embedded form filler yourself:

URL format: https://formfiller.openhealthhub.com/user/< user-uuid>/program/<program-uuid>-<invite-id>/module/<task-uuid>?signature=<signature>&key=<key>

Values are retrieved from the following CarePlan fields:

  • user-uuid (Patient): contained subject.identifier with system urn:ietf:rfc:3986, without the urn:uuid: prefix
  • user-uuid (Practitioner): activity.detail.performer.reference (the id of the referenced Practitioner)
  • program-uuid: instantiatesCanonical (only the UUID part after PlanDefinition)
  • invite-id: id
  • task-uuid: activity.detail.extension (value of task_uuid extension) — optional when you want to open a specific questionnaire directly
  • signature: contained subject.extension with url https://api.openhealthhub.com/OpenHealthhub/fhir/4/StructureDefinition/patient-signature
  • key: must be appended by integrator; obtained from the Open Health Hub administration page and identifies your organisation
When using the embedded form filler links you will need to append the `key` query parameter yourself. This key can be obtained from our administration page by your organisation admin. The key identifies your organisation and determines the method of authentication for the patient.