| Library Name | Name | sequence |
| OpioidCDSCommon |
Active Ambulatory Benzodiazepine or CNS Depressant Rx |
0 |
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 |
| OpioidCDSCommon |
Active Ambulatory Opioid Rx |
1 |
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 |
2 |
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 |
3 |
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? |
4 |
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 |
5 |
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? |
6 |
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 |
| OpioidCDSREC11PatientView |
Inclusion Criteria |
7 |
define "Inclusion Criteria":
(
exists (Common."Active Ambulatory Benzodiazepine or CNS Depressant Rx")
and exists (Common."Active Ambulatory Opioid Rx")
) and Routines."Is Opioid Review Useful?"
| Library Name | Name | sequence |
| OpioidCDSCommon |
US Core-Categorized Conditions |
8 |
// 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 |
9 |
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 |
10 |
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 |
11 |
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 |
| OpioidCDSREC11PatientView |
Exclusion Criteria |
12 |
define "Exclusion Criteria":
Common."End of Life Assessment"
| Library Name | Name | sequence |
| OpioidCDSREC11PatientView |
Is Recommendation Applicable? |
13 |
define "Is Recommendation Applicable?":
"Inclusion Criteria"
and not "Exclusion Criteria"
| Library Name | Name | sequence |
| FHIRHelpers |
ToConcept |
14 |
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 |
| FHIRHelpers |
ToDateTime |
15 |
define function ToDateTime(value dateTime): value.value
|