Opioid Prescribing Support Implementation Guide, published by Centers for Disease Control and Prevention (CDC). This is not an authorized publication; it is the continuous build for version 1.2.3). This version is based on the current content of https://github.com/cqframework/opioid-cds/ and changes regularly. See the Directory of published versions

D.4.1 StructureDefinition: cdc-careplan

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/cdc/opioid-cds/StructureDefinition/cdc-careplan

Profile of CarePlan for use with CDC Opioid Prescribing Guidelines

This profile builds on CarePlan.

This profile was published on 2017-04-21 as a draft by Centers for Disease Control and Prevention.

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

This structure is derived from CarePlan

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 2 elements

This structure is derived from CarePlan

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: Common Languages (extensible): A human language.

Additional BindingsPurpose
All LanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... 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
... definition Σ0..*Reference(PlanDefinition | Questionnaire)Protocol or definition
... basedOn Σ0..*Reference(CarePlan)Fulfills care plan
... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!Σ1..1codedraft | active | suspended | completed | entered-in-error | cancelled | unknown
Binding: CarePlanStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.

... intent ?!Σ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... category Σ0..*CodeableConceptType of plan
Binding: Care Plan Category (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.


... title Σ0..1stringHuman-friendly name for the CarePlan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(Patient | Group)Who care plan is for
... context Σ0..1Reference(Encounter | EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient | Practitioner | RelatedPerson | Organization | CareTeam)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
... supportingInfo 0..*Reference(Resource)Information considered as part of plan
... goal 0..*Reference(Goal)Desired outcome of plan
... activity SI0..*BackboneElementAction to occur as part of plan
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: Care Plan Activity Outcome (example): Identifies the results of the activity


.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference SI1..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ProcedureRequest | ReferralRequest | VisionPrescription | RequestGroup)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): High-level categorization of the type of activity in a care plan.

..... definition 0..1Reference(PlanDefinition | ActivityDefinition | Questionnaire)Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (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: Activity Reason (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)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): Indicates where the activity is at in its overall life cycle.

..... statusReason 0..1stringReason for current status
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner | Organization | RelatedPerson | Patient | CareTeam)Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMED CT Medication Codes (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

This structure is derived from http://hl7.org/fhir/STU3/careplan.html.

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 2 elements

Differential View

This structure is derived from http://hl7.org/fhir/STU3/careplan.html.

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: Common Languages (extensible): A human language.

Additional BindingsPurpose
All LanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... 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
... definition Σ0..*Reference(PlanDefinition | Questionnaire)Protocol or definition
... basedOn Σ0..*Reference(CarePlan)Fulfills care plan
... replaces Σ0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf Σ0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!Σ1..1codedraft | active | suspended | completed | entered-in-error | cancelled | unknown
Binding: CarePlanStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.

... intent ?!Σ1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan

... category Σ0..*CodeableConceptType of plan
Binding: Care Plan Category (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.


... title Σ0..1stringHuman-friendly name for the CarePlan
... description Σ0..1stringSummary of nature of plan
... subject Σ1..1Reference(Patient | Group)Who care plan is for
... context Σ0..1Reference(Encounter | EpisodeOfCare)Created in context of
... period Σ0..1PeriodTime period plan covers
... author Σ0..*Reference(Patient | Practitioner | RelatedPerson | Organization | CareTeam)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
... supportingInfo 0..*Reference(Resource)Information considered as part of plan
... goal 0..*Reference(Goal)Desired outcome of plan
... activity SI0..*BackboneElementAction to occur as part of plan
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... outcomeCodeableConcept 0..*CodeableConceptResults of the activity
Binding: Care Plan Activity Outcome (example): Identifies the results of the activity


.... outcomeReference 0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress 0..*AnnotationComments about the activity status/progress
.... reference SI1..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ProcedureRequest | ReferralRequest | VisionPrescription | RequestGroup)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): High-level categorization of the type of activity in a care plan.

..... definition 0..1Reference(PlanDefinition | ActivityDefinition | Questionnaire)Protocol or definition
..... code 0..1CodeableConceptDetail type of activity
Binding: Care Plan Activity (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: Activity Reason (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)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): Indicates where the activity is at in its overall life cycle.

..... statusReason 0..1stringReason for current status
..... prohibited ?!0..1booleanDo NOT do
..... scheduled[x] 0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location 0..1Reference(Location)Where it should happen
..... performer 0..*Reference(Practitioner | Organization | RelatedPerson | Patient | CareTeam)Who will be responsible?
..... product[x] 0..1What is to be administered/supplied
Binding: SNOMED CT Medication Codes (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

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
CarePlan.languageextensibleCommon Languages
Max Binding: All Languages
CarePlan.statusrequiredCarePlanStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCare Plan Category
CarePlan.activity.outcomeCodeableConceptexampleCare Plan Activity Outcome
CarePlan.activity.detail.categoryexampleCarePlanActivityCategory
CarePlan.activity.detail.codeexampleCare Plan Activity
CarePlan.activity.detail.reasonCodeexampleActivity Reason
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]exampleSNOMED CT Medication Codes

D.4.1.3 Constraints

Constraints

IdGradePathDetailsRequirements
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.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-3errorCarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1errorCarePlan.activityAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
ele-1errorCarePlan.activity.detailAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.

s