US-Core CI Build

This page is part of the US Core (v0.0.0: STU1 Ballot 1) based on FHIR v1.8.0. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

D.4.1 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:

  • Record or query for a careplan for a Patient
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These 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. a category code of “assess-plan”
  4. a patient

Profile specific implementation guidance:

  • none

Examples

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan

This profile builds on CarePlan.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

Complete Summary of the Mandatory Requirements

  1. A narrative summary in CarePlan.text
    • [CarePlan.text.status] is either “generated” or “additional”
  2. One status in CarePlan.status
  3. One category in Careplan.category which must have:
    • a fixed Careplan.category.coding.system= “http://hl7.org/fhir/us/CodeSystem/careplan-category”
    • a fixed ‘Careplan.category.coding.code’=“assess-plan”
  4. One reference to a patient in CarePlan.subject
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*US Core CarePlan Profile
... text S1..1Narrative
.... status S1..1codeBinding: Narrative Status (required)
... status S1..1codeBinding: CarePlanStatus (required)
... category S1..1CodeableConceptRequired Pattern: {"coding":[{"system":"http://hl7.org/fhir/us/core/CodeSystem/careplan-category","code":"assess-plan"}]}
... subject S1..1Reference(US Core Patient Profile)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*US Core CarePlan Profile
... 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: Common Languages (extensible)
... text SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... status S1..1codegenerated | extensions | additional | empty
Binding: 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
... status ?!S1..1codeproposed | draft | active | suspended | completed | entered-in-error | cancelled | unknown
Binding: CarePlanStatus (required)
... category S1..1CodeableConceptType of plan
Binding: Care Plan Category (example)
Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/us/core/CodeSystem/careplan-category","code":"assess-plan"}]}
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding ∑0..*CodingCode defined by a terminology system
.... text ∑0..1stringPlain text representation of the concept
... description ∑0..1stringSummary of nature of plan
... subject S1..1Reference(US Core Patient Profile)Who care plan is for
... context ∑0..1Reference(Encounter), Reference(EpisodeOfCare)Created in context of
... period ∑0..1PeriodTime period plan covers
... modified ∑0..1dateTimeWhen last updated
... author ∑0..*Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Who is responsible for contents of the plan
... careTeam 0..*Reference(CareTeam)Who's involved in plan?
... addresses ∑0..*Reference(Condition)Health issues this plan addresses
... support 0..*Reference(Resource)Information considered as part of plan
... definition 0..1Reference(PlanDefinition), Reference(Questionnaire)Protocol or definition
... relatedPlan I0..*BackboneElementPlans related to this one
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code 0..1codeincludes | replaces | fulfills
Binding: CarePlanRelationship (required)
.... plan 1..1Reference(CarePlan)Plan relationship exists with
... goal 0..*Reference(Goal)Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
ctm-3: Provide a reference or detail, not both
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... actionResulting 0..*Reference(Resource)Appointments, orders, etc.
.... outcome 0..1CodeableConceptResults of the activity
Binding: (unbound) (example)
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment), Reference(CommunicationRequest), Reference(DeviceUseRequest), Reference(DiagnosticRequest), Reference(MedicationRequest), Reference(NutritionRequest), Reference(ProcedureRequest), Reference(ProcessRequest), Reference(ReferralRequest), Reference(VisionPrescription)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... definition 0..1Reference(PlanDefinition), Reference(Questionnaire)Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(Condition)Condition triggering need for activity
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | unknown
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1CodeableConceptReason for current status
Binding: GoalStatusReason (example)
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1Timing, Period, stringWhen activity is to occur
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner), Reference(Organization), Reference(RelatedPerson), Reference(Patient)Who will be responsible?
..... product[x] 0..1CodeableConcept, Reference(Medication), Reference(Substance)What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..1AnnotationComments about the plan

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. A narrative summary in CarePlan.text
    • [CarePlan.text.status] is either “generated” or “additional”
  2. One status in CarePlan.status
  3. One category in Careplan.category which must have:
    • a fixed Careplan.category.coding.system= “http://hl7.org/fhir/us/CodeSystem/careplan-category”
    • a fixed ‘Careplan.category.coding.code’=“assess-plan”
  4. One reference to a patient in CarePlan.subject

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*US Core CarePlan Profile
... text S1..1Narrative
.... status S1..1codeBinding: Narrative Status (required)
... status S1..1codeBinding: CarePlanStatus (required)
... category S1..1CodeableConceptRequired Pattern: {"coding":[{"system":"http://hl7.org/fhir/us/core/CodeSystem/careplan-category","code":"assess-plan"}]}
... subject S1..1Reference(US Core Patient Profile)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*US Core CarePlan Profile
... 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: Common Languages (extensible)
... text SI1..1NarrativeText summary of the resource, for human interpretation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... status S1..1codegenerated | extensions | additional | empty
Binding: 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
... status ?!S1..1codeproposed | draft | active | suspended | completed | entered-in-error | cancelled | unknown
Binding: CarePlanStatus (required)
... category S1..1CodeableConceptType of plan
Binding: Care Plan Category (example)
Required Pattern: {"coding":[{"system":"http://hl7.org/fhir/us/core/CodeSystem/careplan-category","code":"assess-plan"}]}
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding ∑0..*CodingCode defined by a terminology system
.... text ∑0..1stringPlain text representation of the concept
... description ∑0..1stringSummary of nature of plan
... subject S1..1Reference(US Core Patient Profile)Who care plan is for
... context ∑0..1Reference(Encounter), Reference(EpisodeOfCare)Created in context of
... period ∑0..1PeriodTime period plan covers
... modified ∑0..1dateTimeWhen last updated
... author ∑0..*Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Who is responsible for contents of the plan
... careTeam 0..*Reference(CareTeam)Who's involved in plan?
... addresses ∑0..*Reference(Condition)Health issues this plan addresses
... support 0..*Reference(Resource)Information considered as part of plan
... definition 0..1Reference(PlanDefinition), Reference(Questionnaire)Protocol or definition
... relatedPlan I0..*BackboneElementPlans related to this one
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code 0..1codeincludes | replaces | fulfills
Binding: CarePlanRelationship (required)
.... plan 1..1Reference(CarePlan)Plan relationship exists with
... goal 0..*Reference(Goal)Desired outcome of plan
... activity I0..*BackboneElementAction to occur as part of plan
ctm-3: Provide a reference or detail, not both
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... actionResulting 0..*Reference(Resource)Appointments, orders, etc.
.... outcome 0..1CodeableConceptResults of the activity
Binding: (unbound) (example)
.... progress 0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment), Reference(CommunicationRequest), Reference(DeviceUseRequest), Reference(DiagnosticRequest), Reference(MedicationRequest), Reference(NutritionRequest), Reference(ProcedureRequest), Reference(ProcessRequest), Reference(ReferralRequest), Reference(VisionPrescription)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
..... category 0..1CodeableConceptdiet | drug | encounter | observation | procedure | supply | other
Binding: CarePlanActivityCategory (example)
..... definition 0..1Reference(PlanDefinition), Reference(Questionnaire)Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (example)
..... reasonCode 0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: Activity Reason (example)
..... reasonReference 0..*Reference(Condition)Condition triggering need for activity
..... goal 0..*Reference(Goal)Goals this activity relates to
..... status ?!1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | unknown
Binding: CarePlanActivityStatus (required)
..... statusReason 0..1CodeableConceptReason for current status
Binding: GoalStatusReason (example)
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1Timing, Period, stringWhen activity is to occur
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner), Reference(Organization), Reference(RelatedPerson), Reference(Patient)Who will be responsible?
..... product[x] 0..1CodeableConcept, Reference(Medication), Reference(Substance)What is to be administered/supplied
Binding: SNOMED CT Medication Codes (example)
..... dailyAmount 0..1SimpleQuantityHow to consume/day?
..... quantity 0..1SimpleQuantityHow much to administer/supply/consume
..... description 0..1stringExtra info describing activity to perform
... note 0..1AnnotationComments about the plan

doco Documentation for this format

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

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations.

Summary of Argonaut Search Criteria for StructureDefinition-us-core-careplan


Clients

  • A client has connected to a server and fetched all of a patient’s Assessment and Plan of Treatment information using GET /CarePlan?patient=[id]&category=assess-plan.
  • A client has connected to a server and fetched all of a patient’s Assessment and Plan of Treatment information over a specified time period using GET /CarePlan?patient=[id]&category=assess-plan&date=[date].

  • A client SHOULD be capable of connecting to a server and fetching all of a patient’s active Assessment and Plan of Treatment information using GET /CarePlan?patient=[id]&category=assess-plan&status=active.
  • A client SHOULD be capable of connecting to a server and fetching all of a patient’s active Assessment and Plan of Treatment information over a specified time period using GET /CarePlan?patient=[id]&category=assess-plan&status=active&date=[date].

Servers

  • A server is capable of returning all of a patient’s Assessment and Plan of Treatment information using GET /CarePlan?patient=[id]&category=assess-plan.
  • A server is capable of returning a patient’s Assessment and Plan of Treatment information over a specified time period using GET /CarePlan?patient=[id]&category=assess-plan&date=[date].

  • A server SHOULD be capable returning all of a patient’s active Assessment and Plan of Treatment information using GET /CarePlan?patient=[id]&category=assess-plan&status=active.
  • A server SHOULD be capable returning a patient’s active Assessment and Plan of Treatment information over a specified time period using GET /CarePlan?patient=[id]&category=assess-plan&status=active&date=[date].

  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

GET /CarePlan?patient=[id]&category=assess-plan

Support: Mandatory to support search by patient.

Implementation Notes: Search for all patient assessments and plans of treatment for a patient. Fetches a bundle of all CarePlan resources for the specified patient (how to search by reference) and (how to search by token).

.

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan)


GET /CarePlan?patient=[id]&category=assess-plan&date=[date]

Support: Mandatory to support search by date

Implementation Notes: Search for all assessment and plan of treatment for a patient within a time period. Fetches a bundle of all CarePlan resources for the specified patient for a specified time period. (how to search by reference), (how to search by token) and (how to search by date).

.

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14)

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14&date=le2016-01-14](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14&date=le2016-01-14](https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&date=ge2015-01-14&date=le2016-01-14)


GET /CarePlan?patient=[id]&category=assess-plan&status=active

Support: SHOULD support search by patient and status = ‘active’.

Implementation Notes: SHOULD support search by reference and status. (how to search by reference), (how to search by token).

.

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&status=active


GET /CarePlan?patient=[id]&category=assess-plan&status=active&date=[date]

Support: SHOULD support search by patient and status = ‘active’ and date.

Implementation Notes: Search for all active assessment and plan of treatment for a patient within a time period. Fetches a bundle of all active (careplan = “active”) CarePlan resources for the specified patient for a specified time period. (how to search by reference), (how to search by token) and (how to search by date). .

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/CarePlan?patient=1137192&category=assess-plan&datatus=active&date=ge2015-01-14