Source | fhir.cdc.opioid-cds-r4#current:2022 CDC Clinical Practice Guideline for Prescribing Opioids Implementation Guide (v4.0.1) |
resourceType | PlanDefinition |
id | opioidcds-03 |
canonical | http://fhir.org/guides/cdc/opioid-cds/PlanDefinition/opioidcds-03 |
version | 2022.1.0 |
status | draft |
publisher | Centers for Disease Control and Prevention (CDC) |
name | CDC_opioid_03 |
title | PlanDefinition - 2022 CDC Clinical Practice Guideline for Prescribing Opioids for Pain: Recommendation #3 |
date | 2023-05-01 |
experimental | true |
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. |
copyright | © CDC 2016+. |
jurisdictions | us |
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.
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