This page is part of the Clinical Guidelines (v2.0.0-ballot: STU2 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
Bundle activity-example-administermedication-bundle of type collection
Entry 1 - fullUrl = http://example.org/Library/activity-example-administermedication-1
Resource Library:
Related Artifacts
Depends On http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
Depends On http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Depends On CPG Activity Type Code System Composed Of Activity Example Administer Medication AD Composed Of Administer Medication Library Composed Of Activity Example Administer Medication PD
Entry 2 - fullUrl = http://example.org/Library/AdministerMedication
Resource Library:
Related Artifacts
Depends On http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
Depends On http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Depends On CPG Activity Type Code System Parameters
Patient Out 0 1 Patient Medication Proposal Out 0 * MedicationRequest Medication Not Proposed Out 0 * MedicationRequest Inclusion Criteria Out 0 1 boolean Active or Completed Medication Administration Out 0 * MedicationAdministration Medication Administration Not Done Out 0 * MedicationAdministration Administer Proposal Out 0 * Task Administer Proposal Rejected Out 0 * Task Is Recommendation Applicable Out 0 1 boolean Data Requirements
Type: MedicationRequest (MedicationRequest)
Type: MedicationRequest (MedicationRequest)
Type: MedicationAdministration (MedicationAdministration)
Type: MedicationAdministration (MedicationAdministration)
Type: Task (Task)
Type: Task (Task) Contents
text/cql
library AdministerMedication 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 "Administer medication": 'administer-medication' from "Activity Type" context Patient /* Recommendation to administer an existing order for a medication */ /* Positive recommendation: If the medication has been ordered but has not been administered Propose administering 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 and exists ("Medication Proposal") and not exists ("Medication Not Proposed") 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 "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 "Administer Proposal": [Task] R where R.code ~ "Administer medication" and R.status in { 'draft', 'requested', 'received', 'accepted', 'ready' } and not Coalesce(doNotPerform(R), false) define "Administer Proposal Rejected": [Task] R where R.code ~ "Administer medication" and R.status in { 'rejected' } and not Coalesce(doNotPerform(R), false) define "Is Recommendation Applicable": "Inclusion Criteria" and not exists ( "Active or Completed Medication Administration" union "Medication Administration Not Done" ) and not exists ( "Administer Proposal" union "Administer 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
Entry 3 - fullUrl = http://example.org/PlanDefinition/activity-example-administermedication-2
Resource PlanDefinition:
Generated Narrative: PlanDefinition
Resource PlanDefinition "activity-example-administermedication-2"
Profile: CPG Computable Plan Definition
CQF Knowledge capability: shareable
CQF Knowledge capability: computable
CQF Knowledge capability: publishable
CQF knowledge representation level: structured
url:
http://hl7.org/fhir/uv/cpg/PlanDefinition/activity-example-administermedication-2
version: 2.0.0
name: ActivityExampleAdministerMedication
title: Activity Example Administer Medication
type: ECA Rule (PlanDefinitionType#eca-rule)
status: DRAFT
experimental: true
date: 2023-11-02
publisher: HL7 International / Clinical Decision Support
description: Example Plan Definition for a recommendation to administer a medication
library: Administer Medication Library
action
title: Collect date of patient last visit
condition
kind: APPLICABILITY
Expressions
Language Expression text/cql Is Recommendation Applicable type: Create (ActionType#create)
definition: Activity Example Administer Medication AD
Entry 4 - fullUrl = http://example.org/Bundle/am-scenario7-inline-bundle
Resource Bundle:
Bundle am-scenario7-inline-bundle of type collection
Entry 1 - fullUrl = http://example.org/GuidanceResponse/am-scenario7-1
Resource GuidanceResponse:
Generated Narrative: GuidanceResponse
Resource GuidanceResponse "am-scenario7-1"
module: Administer Medication Library
status: SUCCESS
subject: Patient/am-scenario7-patient " PATIENT"
parameter
name: Inclusion Criteria
value: true
parameter
name: Is Recommendation Applicable
value: false
Parameters
Inclusion Criteria true Is Recommendation Applicable false Entry 2 - fullUrl = http://example.org/MedicationAdministration/am-scenario7-2
Resource MedicationAdministration:
Generated Narrative: MedicationAdministration
Resource MedicationAdministration "am-scenario7-2"
status: NOTDONE
subject: Patient/am-scenario7-patient " PATIENT"
request: MedicationRequest/am-scenario7-mr
Dosages
Text Dose apply one patch three times per week 1 patch (Details: http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm code PATCH = 'Patch') Entry 3 - fullUrl = http://example.org/MedicationRequest/am-scenario7-3
Resource MedicationRequest:
Generated Narrative: MedicationRequest
Resource MedicationRequest "am-scenario7-3"
status: ACTIVE
intent: ORDER
priority: ROUTINE
subject: Patient/am-scenario7-patient " PATIENT"
dosageInstruction
dispenseRequest
validityPeriod: 2015-01-15 --> 2016-01-15
quantity: 6 patch (Details: http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm code PATCH = 'Patch')
ExpectedSupplyDurations
Value Unit System Code 14 days Unified Code for Units of Measure (UCUM) d Entry 4 - fullUrl = http://example.org/Patient/am-scenario7-4
Resource Patient:
Example Patient Female, DoB: 1990-10-01
Entry 5 - fullUrl = http://example.org/Task/request-am-scenario7-5
Resource Task:
Resource Task "request-am-scenario7-5"
instantiatesCanonical: Activity Example Administer Medication AD
status: INPROGRESS
intent: ORDER
code: Administer a medication (CPG Activity Type Code System#administer-medication)
for: Patient/am-scenario7-patient " PATIENT"
Inputs
Type Value[x] Administer a medication (CPG Activity Type Code System#administer-medication) MedicationRequest/am-scenario7-mr