Library-OrderMedication
Formats: XML, JSON, Turtle
Related Artifacts
depends-on | http://hl7.org/fhir/Library/FHIR-ModelInfo|4.0.1 |
depends-on | http://hl7.org/fhir/Library/FHIRHelpers|4.0.1 |
Parameters
Patient | out | 0 | 1 | Patient |
Inclusion Criteria | out | 0 | 1 | boolean |
Active or Completed Medication Administration | out | 0 | * | MedicationAdministration |
Medication Administration Not Done | out | 0 | * | MedicationAdministration |
Active or Completed Medication Dispense | out | 0 | * | MedicationDispense |
Medication Dispense Not Done | out | 0 | * | MedicationDispense |
Medication Proposal | out | 0 | * | MedicationRequest |
Medication Not Proposed | out | 0 | * | MedicationRequest |
Is Recommendation Applicable | out | 0 | 1 | boolean |
Data Requirements
Contents
text/cql
library OrderMedication
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
context Patient
/* Recommendation to order a medication */
/*
Positive recommendation:
If the medication is not being taken (i.e. dispensed, administered, or documented)
If the medication has not been ordered
Propose the medication
Given a proposal, the user can:
Accept the proposal
Ignore the proposal
Reject the proposal without reason
Reject the proposal with reason
Scenario 1: No event, no plan or proposal, decision support should propose
Scenario 2: No event, incomplete proposal, decision support should not propose
Scenario 3: No event, rejected proposal, decision support should not propose
Scenario 4: Event, no proposal, decision support should not propose
Scenario 5: Event, proposal, decision support should not propose
Scenario 6: Event not done, no proposal, decision support should not propose
Scenario 7: Event not done, proposal, decision support should not propose
*/
define "Inclusion Criteria":
Patient.active
// TODO: Does not translate to FHIR5, needs a publisher fix
//define "Active or Completed Medication Statement":
// [MedicationStatement] M
// where M.status in { 'active', 'completed', 'intended', 'on-hold' }
// TODO: Does not translate to FHIR5, needs a publisher fix
//define "Medication Statement Not Taken":
// [MedicationStatement] M
// where M.status in { 'not-taken', 'stopped' } // TODO: Is 'stopped' appropriate here?
define "Active or Completed Medication Administration":
[MedicationAdministration] M
where M.status in { 'in-progress', 'on-hold', 'completed' }
define "Medication Administration Not Done":
[MedicationAdministration] M
where M.status in { 'not-done', 'stopped' } // TODO: Is 'stopped' appropriate here?
define "Active or Completed Medication Dispense":
[MedicationDispense] M
where M.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }
define "Medication Dispense Not Done":
[MedicationDispense] M
where M.status in { 'cancelled', 'stopped', 'declined' } // TODO: Is 'stopped' appropriate here?
define "Medication Proposal":
[MedicationRequest] M
where M.status in { 'draft', 'active', 'on-hold', 'completed' }
define "Medication Not Proposed":
[MedicationRequest] M
where M.status in { 'cancelled', 'stopped' }
define "Is Recommendation Applicable":
"Inclusion Criteria"
and not exists (
"Active or Completed Medication Administration"
union "Medication Administration Not Done"
union "Active or Completed Medication Dispense"
union "Medication Dispense Not Done"
//union "Active or Completed Medication Statement"
//union "Medication Statement Not Taken"
)
and not exists (
"Medication Proposal"
union "Medication Not Proposed"
)
Content not shown - (
application/elm+xml
, size = 12Kb)
Content not shown - (
application/elm+json
, size = 22Kb)