Quality Measure Implementation Guide
1.0.0-ballot - ballot International flag

This page is part of the Quality Measure Implementation Guide (v1.0.0-ballot: STU1 (v1.0.0) Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Library: EXM146 - Example Proportion Measure Library (Experimental)

Official URL: http://hl7.org/fhir/uv/cqm/Library/EXM146-FHIR Version: 4.0.0
Active as of 2019-09-03 Computable Name: EXM146
Other Identifiers: http://example.org/fhir/cqi/ecqm/Library/Identifier#EXM146 (use: official, )

This library is used as an example in the FHIR Quality Measure Implementation Guide

Title: EXM146 - Example Proportion Measure Library
Id: EXM146-FHIR
Version: 4.0.0
Url: http://hl7.org/fhir/uv/cqm/Library/EXM146-FHIR
Official

EXM146

Experimental: true
Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2019-09-03
Publisher: HL7 International / Clinical Quality Information
Description:

This library is used as an example in the FHIR Quality Measure Implementation Guide

Jurisdiction: 001
Approval Date: 2019-08-03
Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
Measurement PeriodPeriod01In
PatientPatient01Out
Is Between 2 and 17 Years of Age at Start of Measurement Periodboolean01Out
AntibioticsMedicationRequest0*Out
PharyngitisCondition0*Out
Measurement Period EncountersEncounter0*Out
Pharyngitis Encounters With AntibioticsEncounter0*Out
Initial PopulationEncounter0*Out
Pharyngitis With Prior AntibioticsCondition0*Out
Excluded EncountersEncounter0*Out
Denominator ExclusionsEncounter0*Out
Strep Test EncountersEncounter0*Out
NumeratorEncounter0*Out
Data Requirements:
TypeProfileMSCode Filter
Patient http://hl7.org/fhir/StructureDefinition/Patient
MedicationRequest http://hl7.org/fhir/StructureDefinition/MedicationRequest code filter:
path: medication
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001
Condition http://hl7.org/fhir/StructureDefinition/Condition code filter:
path: code
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011
Condition http://hl7.org/fhir/StructureDefinition/Condition code filter:
path: code
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012
Encounter http://hl7.org/fhir/StructureDefinition/Encounter code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1061
Observation http://hl7.org/fhir/StructureDefinition/Observation code filter:
path: code
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1012
Content: text/cql
/*
This example is a work in progress and should not be considered a final specification
or recommendation for guidance. This example will help guide and direct the process
of finding conventions and usage patterns that meet the needs of the various stakeholders
in the measure development community.
*/
library EXM146 version '4.0.0'

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1' called FHIRHelpers
include Common version '2.0.0' called Common
include MATGlobalCommonFunctions version '5.0.000' called Global

valueset "Acute Pharyngitis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011'
valueset "Acute Tonsillitis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012'
valueset "Ambulatory/ED Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1061'
valueset "Antibiotic Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001'
valueset "Group A Streptococcus Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1012'

parameter "Measurement Period" Interval<DateTime>

context Patient

// Region: Initial Population

define "Is Between 2 and 17 Years of Age at Start of Measurement Period":
   AgeInYearsAt(start of "Measurement Period") >= 2
      and AgeInYearsAt(start of "Measurement Period") <= 17

define "Antibiotics":
   [MedicationRequest: medication in "Antibiotic Medications"] Prescription
     where Prescription.status = 'active'
       and Prescription.intent = 'order'

define "Pharyngitis":
   ([Condition: code in "Acute Pharyngitis"]
     union [Condition: code in "Acute Tonsillitis"]) Pharyngitis
     where Pharyngitis.clinicalStatus ~ Global.active
       and Pharyngitis.verificationStatus ~ Global.confirmed

define "Measurement Period Encounters":
   [Encounter: "Ambulatory/ED Visit"] Encounter
      where Encounter.period during "Measurement Period"
        and Encounter.status = 'finished'
        and "Is Between 2 and 17 Years of Age at Start of Measurement Period"

define "Pharyngitis Encounters With Antibiotics":
   "Measurement Period Encounters" Encounters
      with "Pharyngitis" Pharyngitis such that
         Common."Includes Or Starts During"(Pharyngitis, Encounters)
      with "Antibiotics" Antibiotics such that Antibiotics.authoredOn
         3 days or less after FHIRHelpers.ToInterval(Encounters.period)

define "Initial Population":
   "Pharyngitis Encounters With Antibiotics"

// EndRegion: Initial Population

// Region: Denominator

// None

// EndRegion: Denominator

// Region: Denominator Exclusions

define "Pharyngitis With Prior Antibiotics":
   "Pharyngitis" Pharyngitis
      with "Antibiotics" Antibiotics such that
         Antibiotics.authoredOn 30 days or less before Pharyngitis.onset

define "Excluded Encounters":
   "Pharyngitis Encounters With Antibiotics" Encounters
      with "Pharyngitis With Prior Antibiotics" Pharyngitis such that
         Common."Includes Or Starts During"(Pharyngitis, Encounters)

define "Denominator Exclusions":
  "Excluded Encounters"

// EndRegion: Denominator Exclusions

// Region: Denominator Exceptions

// None

// EndRegion: Denominator Exceptions

// Region: Numerator

define "Strep Test Encounters":
   "Pharyngitis Encounters With Antibiotics" Encounters
      with [Observation: code in "Group A Streptococcus Test"] Tests
         such that Tests.value is not null
            and Tests.effective starts during
               Interval[start of FHIRHelpers.ToInterval(Encounters.period) - 3 days,
                 end of FHIRHelpers.ToInterval(Encounters.period) + 3 days]

define "Numerator":
   "Strep Test Encounters"

// EndRegion: Numerator

// Region: Numerator Exclusion

// None

// EndRegion: Numerator Exclusion
Content: application/elm+xml
Encoded data (69096 characters)
Content: application/elm+json
Encoded data (122416 characters)