HL7 FHIR® US Core Implementation Guide (Release 3.0.1 STU3 Update for Comment)

This page is part of the US Core (v3.0.1: STU3 Ballot 3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

StructureDefinition-us-core-careplan

This profile sets minimum expectations for the CarePlan resource to record search and fetch assessment and plan of treatment data associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core-CarePlan 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 are mandatory (i.e data MUST be present) 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 Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each CarePlan must have:

  1. a narrative summary of the patient assessment and plan of treatment
  2. a status
  3. an intent
  4. a category code of “assess-plan”
  5. a patient

Profile specific implementation guidance:

  • 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
    • Assement and Plan MAY be included as narrative text

Examples

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan

Published on Thu Aug 29 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.

This profile builds on CarePlan


CarePlan

Summary of the Mandatory Requirements

  1. A Narrative in CarePlan.text
  2. A code in CarePlan.status with a required binding to RequestStatus
  3. A code in CarePlan.intent with a required binding to Care Plan Intent
  4. One or more CodeableConcepts in CarePlan.category with an example binding to Care Plan Category
    • which must have at least a CodeableConcept value in CarePlan.category with an example binding to Care Plan Category
      • which must have a Coding value in CarePlan.category.coding
        • which must have a fixed CarePlan.category.coding.system = http://hl7.org/fhir/us/core/CodeSystem/careplan-category
        • which must have a fixed CarePlan.category.coding.code = assess-plan
  5. A Patient Reference in CarePlan.subject
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*
... text S1..1Narrative
.... status S1..1codeBinding: US Core Narrative Status (required)
... status S1..1codeBinding: RequestStatus (required)
... intent S1..1codeBinding: CarePlanIntent (required)
... category S1..*(Slice Definition)Slice: Unordered, Open by pattern:$this
.... category:AssessPlan S1..1CodeableConceptRequired 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)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*Healthcare 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)
Max Binding: AllLanguages
... text S1..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 | extensions | additional | empty
Binding: US Core Narrative Status (required)
.... div I1..1xhtmlLimited xhtml content
txt-1: The 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
txt-2: The narrative SHALL have some non-whitespace 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 | suspended | completed | entered-in-error | cancelled | unknown
Binding: RequestStatus (required)
... intent ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣ1..*(Slice Definition)Type of plan
Slice: Unordered, Open by pattern:$this
Binding: CarePlanCategory (example)
.... category:AssessPlan SΣ1..1CodeableConceptType of plan
Binding: CarePlanCategory (example)

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)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 I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... 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)
.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... 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..1codeKind of resource
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical 0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri 0..*uriInstantiates external protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... 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)
...... 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

CarePlan

Summary of the Mandatory Requirements

  1. A Narrative in CarePlan.text
  2. A code in CarePlan.status with a required binding to RequestStatus
  3. A code in CarePlan.intent with a required binding to Care Plan Intent
  4. One or more CodeableConcepts in CarePlan.category with an example binding to Care Plan Category
    • which must have at least a CodeableConcept value in CarePlan.category with an example binding to Care Plan Category
      • which must have a Coding value in CarePlan.category.coding
        • which must have a fixed CarePlan.category.coding.system = http://hl7.org/fhir/us/core/CodeSystem/careplan-category
        • which must have a fixed CarePlan.category.coding.code = assess-plan
  5. A Patient Reference in CarePlan.subject

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*
... text S1..1Narrative
.... status S1..1codeBinding: US Core Narrative Status (required)
... status S1..1codeBinding: RequestStatus (required)
... intent S1..1codeBinding: CarePlanIntent (required)
... category S1..*(Slice Definition)Slice: Unordered, Open by pattern:$this
.... category:AssessPlan S1..1CodeableConceptRequired 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)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*Healthcare 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)
Max Binding: AllLanguages
... text S1..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 | extensions | additional | empty
Binding: US Core Narrative Status (required)
.... div I1..1xhtmlLimited xhtml content
txt-1: The 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
txt-2: The narrative SHALL have some non-whitespace 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 | suspended | completed | entered-in-error | cancelled | unknown
Binding: RequestStatus (required)
... intent ?!SΣ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣ1..*(Slice Definition)Type of plan
Slice: Unordered, Open by pattern:$this
Binding: CarePlanCategory (example)
.... category:AssessPlan SΣ1..1CodeableConceptType of plan
Binding: CarePlanCategory (example)

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)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 I0..*BackboneElementAction to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... 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)
.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... 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..1codeKind of resource
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical 0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri 0..*uriInstantiates external protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... 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)
...... 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

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron


Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

  • See the General Guidance 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.

Mandatory Search Parameters:

The following search parameters, search parameter combinations SHALL be supported. Any listed search parameter modifiers, comparators, chains and composites SHALL also be supported UNLESS they are listed as “optional” in which case they SHOULD be supported.:

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

    GET [base]/CarePlan?patient=[reference]&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 parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites 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 composite AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/CarePlan?patient=[reference]&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
    2. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&date=ge2018&date=le2018

    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 composite OR search on status (e.g.status={[system]}|[code],{[system]}|[code],...)

    GET [base]/CarePlan?patient=[reference]&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 composite 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 composite AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/CarePlan?patient=[reference]&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
    2. GET [base]/CarePlan?patient=1137192&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan&status=active&date=ge2018&date=le2019

    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)