PlanDefinition-opioidcds-03

Sourcefhir.cdc.opioid-cds-r4#current:2022 CDC Clinical Practice Guideline for Prescribing Opioids Implementation Guide (v4.0.1)
resourceTypePlanDefinition
idopioidcds-03
canonicalhttp://fhir.org/guides/cdc/opioid-cds/PlanDefinition/opioidcds-03
version2022.1.0
statusdraft
publisherCenters for Disease Control and Prevention (CDC)
nameCDC_opioid_03
titlePlanDefinition - 2022 CDC Clinical Practice Guideline for Prescribing Opioids for Pain: Recommendation #3
date2023-05-01
experimentaltrue
descriptionWhen starting opioid therapy for subacute or chronic pain, clinicians should prescribe immediate-release opioids instead of extended-release/long-acting (ER/LA) opioids.
copyright© CDC 2016+.
jurisdictionsus
Usages(none)

Generated Narrative: PlanDefinition

Resource PlanDefinition "opioidcds-03"

Profiles: CPG Recommendation Definition , CPG Publishable Plan Definition

CPG Knowledge Capability Extension : shareable

CPG Knowledge Capability Extension : computable

CPG Knowledge Capability Extension : executable

CPG Knowledge Capability Extension : publishable

CQFM Software System : Device/cqf-tooling

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Get Summary

url

statement

value : define "Get Summary": if "Is Recommendation Applicable?" then 'When Initiating Opioid Therapy, Utilize Immediate Release Opioids' else null

url

displaySequence

value : 0

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Chronic Pain Extended Release Opioid Analgesic with Ambulatory Misuse Potential Prescriptions

url

statement

value : define "Chronic Pain Extended Release Opioid Analgesic with Ambulatory Misuse Potential Prescriptions": ( Common."Is Opioid Analgesic with Ambulatory Misuse Potential?"( ContextPrescriptions ) ) AmbulatoryOpioidPrescription where Routines."Is Subacute or Chronic Pain Prescription?"( AmbulatoryOpioidPrescription ) and AmbulatoryOpioidPrescription.medication in Common."Extended release opioid with ambulatory misuse potential"

url

displaySequence

value : 1

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Patient Is Being Prescribed Extended Release Opioid Analgesic with Ambulatory Misuse Potential

url

statement

value : define "Patient Is Being Prescribed Extended Release Opioid Analgesic with Ambulatory Misuse Potential": exists( "Chronic Pain Extended Release Opioid Analgesic with Ambulatory Misuse Potential Prescriptions" )

url

displaySequence

value : 2

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Patient Age Less Than 18

url

statement

value : define "Patient Age Less Than 18": if (Config."Age Less than 18 Years Is Enabled") then AgeInYearsAt(Today()) < 18 else false

url

displaySequence

value : 3

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Condition Positive for Sickle Cell

url

statement

value : define "Condition Positive for Sickle Cell": if (Config."Sickle Cell Check Enabled") then exists( Common."Positive Sickle Cell Condition" ) else false

url

displaySequence

value : 4

CQFM Logic Definition

url

libraryName

value : OpioidCDSCommon

url

name

value : US Core-Categorized Conditions

url

statement

value : // 3. Medications indicating end of life /* or exists ( "Medications Indicating End of Life" ) */ define "US Core-Categorized Conditions": [Condition: category in "Encounter Diagnosis Condition Category"] union [Condition: category in "Problem List Condition Category"] union [Condition: category in "US Core Health Concern Condition Category"]

url

displaySequence

value : 5

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Conditions Indicating End Of Life Present

url

statement

value : define "Conditions Indicating End Of Life Present": exists ( Common."US Core-Categorized Conditions" LLEC where LLEC.code in Common."Limited life expectancy conditions" and LLEC.clinicalStatus in Common."Active Condition" )

url

displaySequence

value : 6

CQFM Logic Definition

url

libraryName

value : OpioidCDSCommon

url

name

value : Service Requests

url

statement

value : define "Service Requests": [ServiceRequest] SR return SR

url

displaySequence

value : 7

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Palliative Care Lookback Period

url

statement

value : /* ** Routine #1 ** Opioid Review Useful Routine ** ** Definition | Answer to Proceed | Details | Data (Terminology) Requirement ** ------------------------------------------------------------------------------------------------------------------------------------ ** Age < 18 years? | No | Calculate age from date of birth; exclude | Date of birth ** | | patients with age less than 18 years at the | ** | | time of the prescription | ** ------------------------------------------------------------------------------------------------------------------------------------ ** Evidence of | No | Look for documented findings consistent | Sickle cell disease conditions ** sickle cell disease? | | with those listed in the sickle cell | ** | | value set | ** ------------------------------------------------------------------------------------------------------------------------------------ ** Limited life | No | Look for documented findings consistent | Limited life expectancy conditions ** expectancy conditions | | with those listed in the limited life | ** present? | | expectancy value set (terminal illness, bad | ** | | prognosis, pre-terminal) | ** ------------------------------------------------------------------------------------------------------------------------------------ ** Order for therapies | No | Look for patients with an existing order for | Therapies indicating end of life care ** indicating end of life | | therapies indicating end of life care | ** care in past 90 days? | | written within past 90 days | ** ------------------------------------------------------------------------------------------------------------------------------------ ** Active cancer | No | See sub-routine 3 | See sub-routine 3 ** treatment? | | | ** ------------------------------------------------------------------------------------------------------------------------------------ ** Conditions Likely | No | Look for patients with active conditions in | Conditions likely terminal for opioid ** Terminal for opioid | | the value set end-of-life-conditions | prescribing ** prescribing present? | | | ** ------------------------------------------------------------------------------------------------------------------------------------ ** */ define "Palliative Care Lookback Period": Interval[Today() - 90 days, Today()]

url

displaySequence

value : 8

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Order For Palliative Care In Past 90 Days

url

statement

value : define "Order For Palliative Care In Past 90 Days": exists ( Common."Service Requests" SR where SR.status in { 'active', 'completed'} and SR.intent in {'proposal', 'plan,', 'directive', 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'} and FHIRHelpers.ToDateTime(SR.authoredOn) during day of "Palliative Care Lookback Period" and SR.code in Common."Therapies indicating end of life care" )

url

displaySequence

value : 9

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Is Active Cancer Treatment?

url

statement

value : define "Is Active Cancer Treatment?": if (Config."Active Cancer Treatment Encounters Condition Is Enabled") then "Has Two or More Encounters with Cancer Diagnosis During Encounter Period" else false

url

displaySequence

value : 10

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Conditions Including Cancer To Exclude Opioid Management Indicating End-Stage Disease Present

url

statement

value : define "Conditions Including Cancer To Exclude Opioid Management Indicating End-Stage Disease Present": if (Config."End-Stage Disease Criteria Enabled") then exists ( Common."US Core-Categorized Conditions" EOLC where EOLC.code in Common."Conditions likely terminal for opioid prescribing" and EOLC.clinicalStatus in Common."Active Condition" ) else false

url

displaySequence

value : 11

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Is Opioid Review Useful?

url

statement

value : define "Is Opioid Review Useful?": not "Patient Age Less Than 18" and not "Condition Positive for Sickle Cell" and not "Conditions Indicating End Of Life Present" and not "Order For Palliative Care In Past 90 Days" and not "Is Active Cancer Treatment?" and not "Conditions Including Cancer To Exclude Opioid Management Indicating End-Stage Disease Present"

url

displaySequence

value : 12

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Has Opioid RX with Ambulatory Abuse Potential In Past 90 Days

url

statement

value : define "Has Opioid RX with Ambulatory Abuse Potential In Past 90 Days": if (Config."Opioid Naive Prescription Condition Is Enabled") then exists ("Opioid RX with Ambulatory Abuse Potential In Past 90 Days") else false

url

displaySequence

value : 13

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Has Opioid Dispense with Ambulatory Abuse Potential In Past 90 Days

url

statement

value : define "Has Opioid Dispense with Ambulatory Abuse Potential In Past 90 Days": if (Config."Opioid Naive Prescription Condition Is Enabled") then exists ("Opioid Dispense with Ambulatory Abuse Potential In Past 90 Days") else false

url

displaySequence

value : 14

CQFM Logic Definition

url

libraryName

value : OpioidCDSRoutines

url

name

value : Is Opioid Naive?

url

statement

value : // NOTE: MedicationStatement-dependent logic comment out due to bug in Publisher not supporting MedicationStatement in AllTypes. define "Is Opioid Naive?": not ("Has Opioid RX with Ambulatory Abuse Potential In Past 90 Days") /* and not ("Has Report of Opioid with Ambulatory Care Abuse Potential Reported in Past 90 Days") */ and not ("Has Opioid Dispense with Ambulatory Abuse Potential In Past 90 Days")

url

displaySequence

value : 15

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Inclusion Criteria

url

statement

value : define "Inclusion Criteria": "Patient Is Being Prescribed Extended Release Opioid Analgesic with Ambulatory Misuse Potential" and Routines."Is Opioid Review Useful?" and Routines."Is Opioid Naive?"

url

displaySequence

value : 16

CQFM Logic Definition

url

libraryName

value : OpioidCDSCommon

url

name

value : Conditions Indicating End of Life or With Limited Life Expectancy

url

statement

value : define "Conditions Indicating End of Life or With Limited Life Expectancy": ( "US Core-Categorized Conditions" C where C.code in "Conditions likely terminal for opioid prescribing" and C.clinicalStatus in "Active Condition" ) union ( "US Core-Categorized Conditions" C where C.code in "Limited life expectancy conditions" and C.clinicalStatus in "Active Condition" )

url

displaySequence

value : 17

CQFM Logic Definition

url

libraryName

value : OpioidCDSCommon

url

name

value : Admitted/Referred/Discharged to Hospice Care

url

statement

value : define "Admitted/Referred/Discharged to Hospice Care": ( [Procedure: code in "Hospice Procedure Codes"] P where P.status.value in { 'in-progress', 'completed' } ) union ( "Service Requests" SR where SR.code in "Hospice Procedure Codes" and SR.status.value in { 'active', 'completed' } ) union ( if (Config."Hospice Findings Exclusion Enabled") then [Observation: code in "Hospice Finding Codes"] O where not (O.status.value in { 'unknown', 'entered-in-error', 'cancelled' }) else {} ) union ( [Encounter] E where date from E.period.start 1 year or less on or before Today() and ( if E.hospitalization.dischargeDisposition.coding is null or not exists (E.hospitalization.dischargeDisposition.coding) then false else E.hospitalization.dischargeDisposition in "Hospice Disposition" ) and E.status.value in { 'planned', 'arrived', 'in-progress', 'finished', 'onleave' } )

url

displaySequence

value : 18

CQFM Logic Definition

url

libraryName

value : OpioidCDSCommon

url

name

value : End of Life Assessment

url

statement

value : define "End of Life Assessment": // 1. Conditions indicating end of life or with limited life expectancy exists ( "Conditions Indicating End of Life or With Limited Life Expectancy" ) // 2. Admitted/referred/discharged to hospice care or exists ( "Admitted/Referred/Discharged to Hospice Care" )

url

displaySequence

value : 19

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Exclusion Criteria

url

statement

value : define "Exclusion Criteria": Common."End of Life Assessment"

url

displaySequence

value : 20

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Is Recommendation Applicable?

url

statement

value : define "Is Recommendation Applicable?": "Inclusion Criteria" and not "Exclusion Criteria"

url

displaySequence

value : 21

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Get Detail

url

statement

value : define "Get Detail": if "Is Recommendation Applicable?" then 'Recommend prescribing immediate release opioids instead of extended release or long-acting opioids [For guidance regarding prescribing extended release/ long-acting opioids, see Recommendation 3 of the 2022 CDC Clinical Practice Guideline](https://www.cdc.gov/mmwr/volumes/71/rr/rr7103a1.htm#:~:text=evidence%20type%3A%204).-,Implementation%20Considerations,to%20educate%20their%20patients%20about%20its%20use%20should%20consider%20prescribing%20it.,-Supporting%20Rationale)' else null

url

displaySequence

value : 22

CQFM Logic Definition

url

libraryName

value : OpioidCDSREC03

url

name

value : Get Indicator

url

statement

value : define "Get Indicator": if "Is Recommendation Applicable?" then 'warning' else null

url

displaySequence

value : 23

CQFM Effective Data Requirements :

Related Artifacts

depends-on Library Common http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSCommon|2022.1.0
depends-on Library FHIRHelpers http://fhir.org/guides/cdc/opioid-cds/Library/FHIRHelpers|4.0.1
depends-on Library Routines http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSRoutines|2022.1.0
depends-on Value set Opioid analgesics with ambulatory misuse potential Opioid analgesics with ambulatory misuse potential
depends-on Value set Community http://fhir.org/guides/cdc/opioid-cds/ValueSet/medicationrequest-category-community
depends-on Value set Extended release opioid with ambulatory misuse potential Extended release opioid with ambulatory misuse potential
depends-on Value set Encounter Diagnosis Condition Category ValueSet - Encounter Diagnosis Condition Categories
depends-on Value set Problem List Condition Category ValueSet - Problem List Condition Category
depends-on Value set US Core Health Concern Condition Category ValueSet - US Core Health Concern Condition Category
depends-on Value set Limited life expectancy conditions Limited life expectancy conditions
depends-on Value set Active Condition ValueSet - Condition Clinical Status Active
depends-on Value set Therapies indicating end of life care Therapies indicating end of life care
depends-on Value set Conditions likely terminal for opioid prescribing Conditions likely terminal for opioid prescribing
depends-on Value set Hospice Procedure Codes Hospice Procedure

Parameters

ContextPrescriptions in 0 * MedicationRequest
Get Summary out 0 1 string
Is Recommendation Applicable? out 0 1 boolean
Get Detail out 0 1 string
Get Indicator out 0 1 string

Data Requirements

Type : Medication ( Medication )
Filter Value
id One of these codes:
Type : Condition ( Condition )
Filter Value
category In ValueSet ValueSet - Encounter Diagnosis Condition Categories
Type : Condition ( Condition )
Filter Value
category In ValueSet ValueSet - Problem List Condition Category
Type : Condition ( Condition )
Filter Value
category In ValueSet ValueSet - US Core Health Concern Condition Category
Type : ServiceRequest ( ServiceRequest )
Type : ServiceRequest ( ServiceRequest )
Type : Procedure ( Procedure )
Filter Value
code In ValueSet Hospice Procedure
Type : ServiceRequest ( ServiceRequest )
Type : Encounter ( Encounter )

Contents

url : http://fhir.org/guides/cdc/opioid-cds/PlanDefinition/opioidcds-03

identifier : id: cdc-opioid-guidance (use: OFFICIAL)

version : 2022.1.0

name : CDC_opioid_03

title : PlanDefinition - 2022 CDC Clinical Practice Guideline for Prescribing Opioids for Pain: Recommendation #3

type : ECA Rule (plan-definition-type#eca-rule)

status : DRAFT

experimental : true

date : 2023-05-01

publisher : Centers for Disease Control and Prevention (CDC)

contact : https://www.cdc.gov

description : When starting opioid therapy for subacute or chronic pain, clinicians should prescribe immediate-release opioids instead of extended-release/long-acting (ER/LA) opioids.

UseContexts

- Code Value[x]
* Clinical Focus (Details: http://terminology.hl7.org/CodeSystem/usage-context-type code focus = 'focus', stated as 'Clinical Focus') Medication requested (situation) (SNOMED CT#182888003)
* Clinical Focus (Details: http://terminology.hl7.org/CodeSystem/usage-context-type code focus = 'focus', stated as 'Clinical Focus') Chronic pain (finding) (SNOMED CT#82423001)

jurisdiction : United States of America (ISO Country Codes (ISO-3166)#US)

purpose : The 2022 CDC Clinical Practice Guideline for Prescribing Opioids for Pain is intended to improve communication between providers and patients about the risks and benefits of opioid therapy for chronic pain, improve the safety and effectiveness of pain treatment, and reduce the risks associated with long-term opioid therapy, including opioid use disorder and overdose. The Guideline is not intended for patients who are in active cancer treatment, palliative care, or end-of-life care.

usage : Providers should use caution when prescribing extended-release/long-acting (ER/LA) opioids as they carry a higher risk and negligible benefit compared to immediate-release opioids.

copyright : © CDC 2016+.

topic : Opioid Prescribing ()

author : Kensaku Kawamoto, MD, PhD, MHS: , Bryn Rhodes: , Floyd Eisenberg, MD, MPH: , Robert McClure, MD, MPH:

relatedArtifact

relatedArtifact

library : http://fhir.org/guides/cdc/opioid-cds/Library/OpioidCDSREC03

action

title : Extended-release opioid prescription triggered.

description : Checking if the trigger prescription meets the inclusion criteria for recommendation #4 workflow.

documentation

Triggers

- Type Name
* NAMEDEVENT order-sign

condition

kind : APPLICABILITY

Expressions

- Description Language Expression
* Check whether the opioid prescription for the existing patient is extended-release without any opioids-with-abuse-potential prescribed in the past 90 days. text/cql.identifier Is Recommendation Applicable?

groupingBehavior : VISUALGROUP

selectionBehavior : ANY

dynamicValue

path : action.title

Expressions

- Language Expression
* text/cql.identifier Get Summary

dynamicValue

path : action.description

Expressions

- Language Expression
* text/cql.identifier Get Detail

dynamicValue

path : activity.extension

Expressions

- Language Expression
* text/cql.identifier Get Indicator

Actions

- Description
* Document - Will prescribe immediate release opioid
* Snooze* - Benefits outweigh risks, snooze 3 months
* Snooze* N/A see comment, snooze 3 months

Produced 08 Sep 2023