Opioid Prescribing Support Implementation Guide
2016.4.0 - CI Build

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

2016 CDC Guideline OpioidCDS Recommendation 07 - CQL Source

library OpioidCDSREC07 version '2016.4.0'

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1' called FHIRHelpers
include OpioidCDSCommon version '2016.4.0' called Common
include OpioidCDSCommonConfig version '2016.4.0' called Config
include OpioidCDSRoutines version '2016.4.0' called Routines

/*
**
**  Recommendation #7
**    Clinicians should evaluate benefits and harms with patients within 1 to 4
**    weeks of starting opioid therapy for chronic pain or of dose escalation.
**    Clinicians should evaluate benefits and harms of continued therapy with
**    patients every 3 months or more frequently. If benefits do not outweigh
**    harms of continued opioid therapy, clinicians should optimize other
**    therapies and work with patients to taper opioids to lower dosages or to
**    taper and discontinue opioids (recommendation category: A, evidence type: 4)
**
**  When
**    Provider is prescribing an opioid analgesic with ambulatory misuse potential in the outpatient setting
**    Prescription is for treating chronic pain.
**    Opioid review is useful for this patient:
**      Patient is 18 or over
**      Patient does not have findings indicating limited life expectancy
**      Patient does not have orders for therapies indicating end of life care
**      Patient is not undergoing active cancer treatment:
**        Patient has had at least 2 encounters within the past year with any diagnosis of cancer
**    Patient has not undergone an opioid misuse assessment procedure in the last 90 days
**  Then
**    Recommend performing opioid misuse assessment
**      Will schedule opioid misuse assessment
**      Benefits outweigh risks, snooze 3 months
**      N/A - see comment, snooze 3 months
**
*/

// META: Plan Definition: http://fhir.org/guides/cdc/opioid-cds-r4/PlanDefinition/opioid-cds-07

parameter ContextPrescriptions List<MedicationRequest>

context Patient

define "Risk Assessment Interval":
  Interval[Today() - 91 days, Today() - 1 day]

define "Previous 10 Days Interval":
  Interval[Today() - 10 days, Today()]

define "Encounter Interval":
  Interval[Today() - 12 months - 1 days, Today() - 1 day]

define "Chronic Pain Opioid Analgesic with Ambulatory Misuse Potential Prescriptions":
  ( Common."Is Opioid Analgesic with Ambulatory Misuse Potential?"( ContextPrescriptions ) ) AmbulatoryOpioidPrescription
    where Routines."Is Chronic Pain Prescription?"( AmbulatoryOpioidPrescription )

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

define "Opioid Risk Assessment in Past 90 Days":
  [Procedure: Common."Opioid misuse assessment procedure"] riskAssessment
    where start of (riskAssessment.performed as FHIR.Period) in day of "Risk Assessment Interval"

define "Prescribed Opioids for 7 of Past 10 Days with an Encounter":
  Common."Days on Opioids during Period"( "Previous 10 Days Interval" ) >= 7
    and exists (
      [Encounter: Common."Office Visit"] AmbulatoryEncounter
        where AmbulatoryEncounter.period during "Encounter Interval"
    )

define "Inclusion Criteria":
  "Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential"
    and not Common."Patient Age Less Than 18"  
    and Routines."Is Opioid Review Useful?"
    and not exists ( "Opioid Risk Assessment in Past 90 Days" )
    and (
      "Prescribed Opioids for 7 of Past 10 Days with an Encounter"
        or Common."Prescribed Opioids for 21 or more of 30 Days for each of the past 3 Months"
    )

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

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

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

define "Get Summary":
  if "Is Recommendation Applicable?"
    then 'Patients on opioid therapy should be evaluated for benefits and harms within 1 to 4 weeks of starting opioid therapy and every 3 months or more subsequently.'
  else null

define "Get Detail":
  if "Is Recommendation Applicable?"
    then
      if Common."Prescribed Opioids for 21 or more of 30 Days for each of the past 3 Months"
        then 'No evaluation for benefits and harms associated with opioid therapy has been performed for the patient in the past 3 months'
      else 'No evaluation for benefits and harms has been performed for the patient starting opioid therapy'
  else null