HL7 FHIR® US Core Implementation Guide CI Build

US Core, published by HL7 International - US Realm Steering Committee. This is not an authorized publication; it is the continuous build for version 3.1.0). This version is based on the current content of https://github.com/HL7/US-Core-R4/ and changes regularly. 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 UTC 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..*CarePlan
... 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..*CarePlanHealthcare plan for patient or group
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status SI1..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 I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Ids for this plan
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan)Fulfills CarePlan
... replaces ΣI0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf ΣI0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
... intent ?!SΣI1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣI1..*(Slice Definition)Type of plan
Slice: Unordered, Open by pattern:$this
Binding: CarePlanCategory (example)
.... category:AssessPlan SΣI1..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 ΣI0..1stringHuman-friendly name for the care plan
... description ΣI0..1stringSummary of nature of plan
... subject SΣI1..1Reference(US Core Patient Profile)Who the care plan is for
... encounter ΣI0..1Reference(Encounter)Encounter created as part of
... period ΣI0..1PeriodTime period plan covers
... created ΣI0..1dateTimeDate record was first recorded
... author ΣI0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor I0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam I0..*Reference(CareTeam)Who's involved in plan?
... addresses ΣI0..*Reference(Condition)Health issues this plan addresses
... supportingInfo I0..*Reference(Resource)Information considered as part of plan
... goal I0..*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 I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept I0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example)
.... outcomeReference I0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress I0..*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 I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind I0..1codeAppointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical I0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri I0..*uriInstantiates external protocol or definition
..... code I0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode I0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal I0..*Reference(Goal)Goals this activity relates to
..... status ?!I1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... statusReason I0..1CodeableConceptReason for current status
..... doNotPerform ?!I0..1booleanIf true, activity is prohibiting action
..... scheduled[x] I0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location I0..1Reference(Location)Where it should happen
..... performer I0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] I0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount I0..1SimpleQuantityHow to consume/day?
..... quantity I0..1SimpleQuantityHow much to administer/supply/consume
..... description I0..1stringExtra info describing activity to perform
... note I0..*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..*CarePlan
... 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..*CarePlanHealthcare plan for patient or group
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... status SI1..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 I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Ids for this plan
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan)Fulfills CarePlan
... replaces ΣI0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf ΣI0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
... intent ?!SΣI1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣI1..*(Slice Definition)Type of plan
Slice: Unordered, Open by pattern:$this
Binding: CarePlanCategory (example)
.... category:AssessPlan SΣI1..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 ΣI0..1stringHuman-friendly name for the care plan
... description ΣI0..1stringSummary of nature of plan
... subject SΣI1..1Reference(US Core Patient Profile)Who the care plan is for
... encounter ΣI0..1Reference(Encounter)Encounter created as part of
... period ΣI0..1PeriodTime period plan covers
... created ΣI0..1dateTimeDate record was first recorded
... author ΣI0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor I0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam I0..*Reference(CareTeam)Who's involved in plan?
... addresses ΣI0..*Reference(Condition)Health issues this plan addresses
... supportingInfo I0..*Reference(Resource)Information considered as part of plan
... goal I0..*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 I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept I0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example)
.... outcomeReference I0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress I0..*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 I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind I0..1codeAppointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical I0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri I0..*uriInstantiates external protocol or definition
..... code I0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode I0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal I0..*Reference(Goal)Goals this activity relates to
..... status ?!I1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... statusReason I0..1CodeableConceptReason for current status
..... doNotPerform ?!I0..1booleanIf true, activity is prohibiting action
..... scheduled[x] I0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location I0..1Reference(Location)Where it should happen
..... performer I0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] I0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount I0..1SimpleQuantityHow to consume/day?
..... quantity I0..1SimpleQuantityHow much to administer/supply/consume
..... description I0..1stringExtra info describing activity to perform
... note I0..*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 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=[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 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 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)