| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Opioid Analgesic with Ambulatory Misuse Potential Prescriptions |
0 |
define "Opioid Analgesic with Ambulatory Misuse Potential Prescriptions":
Common."Is Opioid Analgesic with Ambulatory Misuse Potential?"( ContextPrescriptions )
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential |
1 |
define "Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential":
exists( "Opioid Analgesic with Ambulatory Misuse Potential Prescriptions" )
| Library Name | Name | sequence |
| OpioidCDSCommon |
Active Ambulatory Benzodiazepine or CNS Depressant Rx |
2 |
define "Active Ambulatory Benzodiazepine or CNS Depressant Rx":
if Config."Can the implementing EHR support queries for past medications by date range?" then
(
"Get MedicationRequest Medication as Code"("Active Medication List")
) Rx
where date from Rx.authoredOn 2 years or less on or before Today()
and Rx.medication in "Benzodiazepine medications"
or Rx.medication in "CNS Depressant Medications"
else
List<FHIR.MedicationRequest>{}
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Benzodiazepine or CNS Depressant Prescriptions |
3 |
define "Benzodiazepine or CNS Depressant Prescriptions":
Common."Is Benzodiazepine or CNS Depressant?"( ContextPrescriptions )
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Patient Is Being Prescribed Benzodiazepine or CNS Depressant |
4 |
define "Patient Is Being Prescribed Benzodiazepine or CNS Depressant":
exists( "Benzodiazepine or CNS Depressant Prescriptions" )
| Library Name | Name | sequence |
| OpioidCDSCommon |
Active Ambulatory Opioid Rx |
5 |
define "Active Ambulatory Opioid Rx":
if Config."Can the implementing EHR support queries for past medications by date range?" then
(
"Get MedicationRequest Medication as Code"("Get Active Ambulatory Medication Requests"([MedicationRequest]))
) Rx
where date from Rx.authoredOn 2 years or less on or before Today()
and Rx.medication in "Opioid analgesics with ambulatory misuse potential"
else
List<FHIR.MedicationRequest>{}
| Library Name | Name | sequence |
| OpioidCDSRoutines |
Patient Age Less Than 18 |
6 |
define "Patient Age Less Than 18":
if (Config."Age Less than 18 Years Is Enabled") then
AgeInYearsAt(Today()) < 18
else false
| Library Name | Name | sequence |
| OpioidCDSRoutines |
Condition Positive for Sickle Cell |
7 |
define "Condition Positive for Sickle Cell":
if (Config."Sickle Cell Check Enabled") then
exists(
Common."Positive Sickle Cell Condition"
)
else false
| Library Name | Name | sequence |
| OpioidCDSRoutines |
Is Active Cancer Treatment? |
8 |
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"
or "Has Active Cancer Diagnosis on Problem List"
else false
| Library Name | Name | sequence |
| OpioidCDSRoutines |
Conditions Likely Terminal for Opioid Prescribing |
9 |
define "Conditions Likely Terminal for Opioid Prescribing":
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
| Library Name | Name | sequence |
| OpioidCDSRoutines |
Is Opioid Review Useful? |
10 |
define "Is Opioid Review Useful?":
not "Patient Age Less Than 18"
and not "Condition Positive for Sickle Cell"
and not "Is Active Cancer Treatment?"
and not "Conditions Likely Terminal for Opioid Prescribing"
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Inclusion Criteria |
11 |
define "Inclusion Criteria":
(
(
"Patient Is Being Prescribed Opioid Analgesic with Ambulatory Misuse Potential"
and exists Common."Active Ambulatory Benzodiazepine or CNS Depressant Rx"
)
or (
"Patient Is Being Prescribed Benzodiazepine or CNS Depressant"
and exists Common."Active Ambulatory Opioid Rx"
)
)
and Routines."Is Opioid Review Useful?"
| Library Name | Name | sequence |
| OpioidCDSCommon |
US Core-Categorized Conditions |
12 |
// 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"]
| Library Name | Name | sequence |
| OpioidCDSCommon |
Conditions Indicating End of Life or With Limited Life Expectancy |
13 |
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"
)
| Library Name | Name | sequence |
| OpioidCDSCommon |
Admitted/Referred/Discharged to Hospice Care |
14 |
define "Admitted/Referred/Discharged to Hospice Care":
(
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' }
)
| Library Name | Name | sequence |
| OpioidCDSCommon |
End of Life Assessment |
15 |
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"
)
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Exclusion Criteria |
16 |
define "Exclusion Criteria":
Common."End of Life Assessment"
| Library Name | Name | sequence |
| OpioidCDSREC11OrderSelect |
Is Recommendation Applicable? |
17 |
define "Is Recommendation Applicable?":
"Inclusion Criteria"
and not "Exclusion Criteria"
| Library Name | Name | sequence |
| OpioidCDSCommon |
Is Opioid Analgesic with Ambulatory Misuse Potential? |
18 |
define function "Is Opioid Analgesic with Ambulatory Misuse Potential?"(value List<MedicationRequest>):
("Get MedicationRequest Medication as Code"(value)) Rx
where Rx.medication in "Opioid analgesics with ambulatory misuse potential"
and Rx.category in "Community"
| Library Name | Name | sequence |
| OpioidCDSCommon |
Get MedicationRequest Medication as Code |
19 |
define function "Get MedicationRequest Medication as Code"(value List<MedicationRequest>):
value Rx
let Med:
if Rx.medication is Reference then singleton from (
[Medication] M
where M.id = (Last(Split((Rx.medication as FHIR.Reference).reference, '/')))
) else null
return
MedicationRequest {
id: Rx.id,
status: Rx.status,
intent: Rx.intent,
category: Rx.category,
medication: if Rx.medication is Reference then Med.code else Rx.medication as CodeableConcept,
subject: Rx.subject,
authoredOn: Rx.authoredOn,
recorder: Rx.recorder,
dosageInstruction: Rx.dosageInstruction,
dispenseRequest: Rx.dispenseRequest
}
| Library Name | Name | sequence |
| FHIRHelpers |
ToConcept |
20 |
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}
| Library Name | Name | sequence |
| OpioidCDSCommon |
Is Benzodiazepine or CNS Depressant? |
21 |
define function "Is Benzodiazepine or CNS Depressant?"(value List<MedicationRequest>):
("Get MedicationRequest Medication as Code"(value)) Rx
where Rx.medication in "Benzodiazepine medications"
or Rx.medication in "CNS Depressant Medications"
and Rx.category in "Community"
| Library Name | Name | sequence |
| FHIRHelpers |
ToDateTime |
22 |
define function ToDateTime(value dateTime): value.value
|