US Core Implementation Guide
7.0.0-ballot - Ballot United States of America flag

This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: US Core CarePlan Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan Version: 7.0.0-ballot
Standards status: Trial-use Maturity Level: 3 Computable Name: USCoreCarePlanProfile

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

This profile sets minimum expectations for the CarePlan resource to record, search, and fetch assessment and plan of treatment data associated with a patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains the way the elements are used when using the profile. It provides the floor for standards development for specific use cases.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for a care plan belonging to a Patient
  • Record or update an existing care plan

Mandatory and Must Support Data Elements

The following data-elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each CarePlan Must Have:

  1. a status
  2. an intent
  3. a category code of “assess-plan”
  4. a patient

Each CarePlan Must Support:

  1. a narrative summary of the patient assessment and plan of treatment*

*see guidance below

Profile Specific Implementation Guidance:

  • *The original Assessment and Plan design in the CarePlan was to support the “Assessment and Plan” from a narrative Progress Note. Systems have advanced significantly since the introduction of this requirement in 2015. Relaxing this to 0..1 allows more sophisticated systems to discretely encode a CarePlan instead of providing the narrative portion.
  • Additional considerations for systems aligning with HL7 Consolidated (C-CDA) Care Plan requirements:
    • US Core Goal SHOULD be present in CarePlan.goal
    • US Core Condition SHOULD be present in CarePlan.addresses
    • Assessment and Plan MAY be included as narrative in CarePlan.text
  • As an alternative to the US Core CarePlan, Assessment and Plan of Treatment may be included in various types of Clinical Notes, such as Progress Notes, History & Physical (H&P), Discharge Summaries, etc.

Usage:

Formal Views of Profile Content

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

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... text S0..1NarrativeText summary of the resource, for human interpretation
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div S1..1xhtmlLimited xhtml content
... status S1..1codedraft | 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 S1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category S1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
.... category:AssessPlan S1..1CodeableConceptType of plan
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
... subject S1..1Reference(US Core Patient Profile S | Group)Who the care plan is for

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text S0..1NarrativeText summary of the resource, for human interpretation
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div SC1..1xhtmlLimited xhtml content
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codedraft | 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 ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category SΣ1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
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.


.... category:AssessPlan SΣ1..1CodeableConceptType 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.



Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
... subject SΣ1..1Reference(US Core Patient Profile)Who the care plan is for

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCarePlanCategory
CarePlan.category:AssessPlanexamplePattern: assess-plan

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf 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-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
txt-1errorCarePlan.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorCarePlan.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text S0..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div SC1..1xhtmlLimited xhtml content
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this plan
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan)Fulfills CarePlan
... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣ1..1codedraft | 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 ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category SΣ1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
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.


.... category:AssessPlan SΣ1..1CodeableConceptType 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.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... title Σ0..1stringHuman-friendly name for the care plan
... description Σ0..1stringSummary of nature of plan
... subject SΣ1..1Reference(US Core Patient Profile S | Group)Who the care plan is for
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... period Σ0..1PeriodTime period plan covers
... created Σ0..1dateTimeDate record was first recorded
... author Σ0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor 0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam 0..*Reference(CareTeam)Who's involved in plan?
... addresses Σ0..*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 C0..*BackboneElementAction to occur as part of plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.


.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference C0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail C0..1BackboneElementIn-line definition of activity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 0..1codeAppointment | 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..*uriInstantiates external protocol or definition
..... code 0..1CodeableConceptDetail 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..*CodeableConceptWhy 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..1codenot-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..1CodeableConceptReason for current status
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.

...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..*AnnotationComments about the plan

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
CarePlan.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCarePlanCategory
CarePlan.category:AssessPlanexamplePattern: assess-plan
CarePlan.activity.outcomeCodeableConceptexampleCarePlanActivityOutcome
CarePlan.activity.detail.kindrequiredCarePlanActivityKind
CarePlan.activity.detail.codeexampleProcedureCodes(SNOMEDCT)
CarePlan.activity.detail.reasonCodeexampleSNOMEDCTClinicalFindings
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]exampleSNOMEDCTMedicationCodes

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf 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-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
txt-1errorCarePlan.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorCarePlan.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()

This structure is derived from CarePlan

Summary

Mandatory: 2 elements
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element CarePlan.category is sliced based on the value of pattern:$this

Maturity: 3

Differential View

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... text S0..1NarrativeText summary of the resource, for human interpretation
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div S1..1xhtmlLimited xhtml content
... status S1..1codedraft | 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 S1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category S1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
.... category:AssessPlan S1..1CodeableConceptType of plan
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
... subject S1..1Reference(US Core Patient Profile S | Group)Who the care plan is for

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text S0..1NarrativeText summary of the resource, for human interpretation
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div SC1..1xhtmlLimited xhtml content
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codedraft | 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 ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category SΣ1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
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.


.... category:AssessPlan SΣ1..1CodeableConceptType 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.



Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
... subject SΣ1..1Reference(US Core Patient Profile)Who the care plan is for

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCarePlanCategory
CarePlan.category:AssessPlanexamplePattern: assess-plan

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf 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-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
txt-1errorCarePlan.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorCarePlan.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlanHealthcare plan for patient or group
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text S0..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status S1..1codegenerated | additional
Binding: US Core Narrative Status (required): Constrained value set of narrative statuses.

.... div SC1..1xhtmlLimited xhtml content
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this plan
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan)Fulfills CarePlan
... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣ1..1codedraft | 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 ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... Slices for category SΣ1..*CodeableConceptType of plan
Slice: Unordered, Open by pattern:$this
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.


.... category:AssessPlan SΣ1..1CodeableConceptType 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.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/careplan-category
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assess-plan
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... title Σ0..1stringHuman-friendly name for the care plan
... description Σ0..1stringSummary of nature of plan
... subject SΣ1..1Reference(US Core Patient Profile S | Group)Who the care plan is for
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... period Σ0..1PeriodTime period plan covers
... created Σ0..1dateTimeDate record was first recorded
... author Σ0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor 0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam 0..*Reference(CareTeam)Who's involved in plan?
... addresses Σ0..*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 C0..*BackboneElementAction to occur as part of plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.


.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference C0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail C0..1BackboneElementIn-line definition of activity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 0..1codeAppointment | 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..*uriInstantiates external protocol or definition
..... code 0..1CodeableConceptDetail 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..*CodeableConceptWhy 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..1codenot-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..1CodeableConceptReason for current status
..... doNotPerform ?!0..1booleanIf true, activity is prohibiting action
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.

...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..*AnnotationComments about the plan

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
CarePlan.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CarePlan.text.statusrequiredNarrativeStatus
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCarePlanCategory
CarePlan.category:AssessPlanexamplePattern: assess-plan
CarePlan.activity.outcomeCodeableConceptexampleCarePlanActivityOutcome
CarePlan.activity.detail.kindrequiredCarePlanActivityKind
CarePlan.activity.detail.codeexampleProcedureCodes(SNOMEDCT)
CarePlan.activity.detail.reasonCodeexampleSNOMEDCTClinicalFindings
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]exampleSNOMEDCTMedicationCodes

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf 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-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
txt-1errorCarePlan.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorCarePlan.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()

This structure is derived from CarePlan

Summary

Mandatory: 2 elements
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element CarePlan.category is sliced based on the value of pattern:$this

Maturity: 3

 

Other representations of profile: CSV, Excel, Schematron

Notes:


Quick Start


Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

  • The syntax used to describe the interactions is described here.
  • See the General Requirements section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

US Core Scopes

Servers providing access to care plan data SHALL support these US Core SMART Scopes:

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

  1. SHALL support searching using the combination of the patient and category search parameters:

    GET [base]/CarePlan?patient={Type/}[id]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan

    Example:

    1. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan

    Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=assess-plan (how to search by reference and how to search by token)

Optional Search Parameters:

The following search parameter combinations SHOULD be supported:

  1. SHOULD support searching using the combination of the patient and category and date search parameters:
    • including support for these date comparators: gt,lt,ge,le
    • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/CarePlan?patient={Type/}[id]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date=ge2019-01-01T00:00:00Z
    2. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date=ge2018-01-01T00:00:00Z&date=le2019-01-01T00:00:00Z

    Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=assess-plan and date (how to search by reference and how to search by token and how to search by date)

  2. SHOULD support searching using the combination of the patient and category and status search parameters:
    • including support for OR search on status (e.g.status={system|}[code],{system|}[code],...)

    GET [base]/CarePlan?patient={Type/}[id]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status={system|}[code]{,{system|}[code],...}

    Example:

    1. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active

    Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=assess-plan and status=active (how to search by reference and how to search by token)

  3. SHOULD support searching using the combination of the patient and category and status and date search parameters:
    • including support for OR search on status (e.g.status={system|}[code],{system|}[code],...)
    • including support for these date comparators: gt,lt,ge,le
    • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/CarePlan?patient={Type/}[id]&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active&date=ge2019-01-01T00:00:00Z
    2. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active&date=ge2018-01-01T00:00:00Z&date=le2019-01-01T00:00:00Z

    Implementation Notes: Fetches a bundle of all CarePlan resources for the specified patient and category=assess-plan and status=active and date (how to search by reference and how to search by token and how to search by date)