Metadata Title Dispense Medication Library Version 2.0.0 Identifier urn:oid:2.16.840.1.113883.4.642.40.48.28.5 Experimental true Jurisdiction World Steward (Publisher) HL7 International / Clinical Decision Support Steward Contact HL7 International / Clinical Decision Support Description Logic for an example recommendation to dispense a medication Type logic-library from http://terminology.hl7.org/CodeSystem/library-type Dependency Description: Code System Activity Type Resource: CPG Activity Type Code System Canonical URL: http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type-cs Data Requirement Type: MedicationRequest Profile(s): MedicationRequest Data Requirement Type: MedicationDispense Profile(s): MedicationDispense Data Requirement Type: Task Profile(s): Task Parameters Name Use Card. Type Documentation Patient Out 0..1 Patient Medication Order Out 0..* MedicationRequest Inclusion Criteria Out 0..1 boolean Active or Completed Medication Dispense Out 0..* MedicationDispense Medication Dispense Not Done Out 0..* MedicationDispense Dispense Proposal Out 0..* Task Dispense Proposal Rejected Out 0..* Task Is Recommendation Applicable Out 0..1 boolean Library Content CQL Content library DispenseMedication using FHIR version '4.0.1' include FHIRHelpers version '4.0.1' codesystem "Activity Type": 'http://hl7.org/fhir/uv/cpg/CodeSystem/cpg-activity-type-cs' code "Dispense medication": 'dispense-medication' from "Activity Type" context Patient /* Recommendation to dispense an existing order for a medication */ /* Positive recommendation: If the medication has been ordered but has not been dispensed Propose dispensing 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 request, decision support should propose Scenario 2: No event, active proposal, decision support should not propose Scenario 3: No event, rejected proposal, decision support should not propose Scenario 4: Event, no request, decision support should not propose Scenario 5: Event, active 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 and exists ("Medication Order") 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 Order": [MedicationRequest] M where M.status in { 'active' } and M.intent = 'order' and M.doNotPerform is not true define "Dispense Proposal": [Task] R where R.code ~ "Dispense medication" and R.status in { 'draft', 'requested', 'received', 'accepted', 'ready' } and doNotPerform(R) is not true define "Dispense Proposal Rejected": [Task] R where R.code ~ "Dispense medication" and R.status in { 'rejected' } and doNotPerform(R) is not true define "Is Recommendation Applicable": "Inclusion Criteria" and not exists ( "Active or Completed Medication Dispense" union "Medication Dispense Not Done" ) and not exists ( "Dispense Proposal" union "Dispense Proposal Rejected" ) define function doNotPerform(task Task): singleton from ( task.modifierExtension E where E.url = 'http://hl7.org/fhir/StructureDefinition/request-doNotPerform' ).value as boolean ELM XML Content Encoded data ELM JSON Content Encoded data Generated using version 0.5.4 of the sample-content-ig Liquid templates
HL7 International / Clinical Decision Support
Logic for an example recommendation to dispense a medication