eCQM QICore Content Implementation Guide
2023.0.0 - CI Build

eCQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2023.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2023/ and changes regularly. See the Directory of published versions

Measure: Multi-provider Patient Encounter Level Example (Experimental)

Official URL: http://ecqi.healthit.gov/ecqms/Measure/MPPEncounterLevel Version: 0.8.000
Draft as of 2023-10-27 Computable Name: MPPEncounterLevel

Usage:Program: EH/CAH

Example measure supporting testing of the multi-provider patient scenario for encounter-based measures

To support testing of approaches to multi-provider patient scenarios with an encounter-based measure

Title: Multi-provider Patient Encounter Level Example
Id: MPPEncounterLevel
Download cql: MPPEncounterLevel.cql
Version: 0.8.000
Url: Multi-provider Patient Encounter Level Example
Effective Period: 2024-01-01 ..2024-12-31
Status: draft
Experimental: true
Date: 2023-10-27 08:12:32+0000
Name: MPPEncounterLevel
Description:

Example measure supporting testing of the multi-provider patient scenario for encounter-based measures

Use Context:
code value
program
Purpose:

To support testing of approaches to multi-provider patient scenarios with an encounter-based measure

Libraries:
MPPEncounterLevel
Related Artifact Dependencies:
  • FHIRHelpers version: 4.3.000
  • CQMCommon version: 1.4.000
  • QICoreCommon version: 1.5.000
  • AttributionModel version: 0.1.0
  • Non-Elective Inpatient Encounter
  • Hemorrhagic Stroke
  • Ischemic Stroke
  • Parameters:
    name use min max type
    Measurement Period In 0 1 Period
    Provider In 0 1 string
    Initial Population Out 0 * Resource
    DataRequirements:
    Type Elements Valueset Name Valueset
    Encounter(QICoreEncounter) type period rank rank.value condition condition.reference condition.reference.value Nonelective Inpatient Encounter Non-Elective Inpatient Encounter
    Condition(QICoreCondition) id id.value
    Patient(QICorePatient)
    Logic Definitions:
    Group Scoring Population Criteria Expression
    64403d17d4d7050edabb0562 Group scoring: proportion
    Initial Population
    define "Initial Population":
      "Encounter with Principal Diagnosis and Age" Encounter
        where Encounter.isAttributable()
    Denominator
    Numerator
    Library Name Name
    MPPEncounterLevel Non Elective Inpatient Encounter
    define "Non Elective Inpatient Encounter":
      ["Encounter": "Nonelective Inpatient Encounter"] NonElectiveEncounter
            where NonElectiveEncounter.period ends during day of "Measurement Period"
    Library Name Name
    MPPEncounterLevel All Stroke Encounter
    define "All Stroke Encounter":
      "Non Elective Inpatient Encounter" NonElectiveEncounter
      let ConditionCode: NonElectiveEncounter.principalDiagnosis().code
        where ( ConditionCode in "Hemorrhagic Stroke"
           or   ConditionCode in "Ischemic Stroke" )
    Library Name Name
    MPPEncounterLevel Encounter with Principal Diagnosis and Age
    define "Encounter with Principal Diagnosis and Age":
      "All Stroke Encounter" AllStrokeEncounter
        where AgeInYearsAt(date from start of AllStrokeEncounter.period ) >= 18
    Library Name Name
    MPPEncounterLevel Initial Population
    define "Initial Population":
      "Encounter with Principal Diagnosis and Age" Encounter
        where Encounter.isAttributable()
    Library Name Name
    CQMCommon principalDiagnosis
    /*
    @description: Returns the condition that is specified as the principal diagnosis for the encounter
    */
    define fluent function principalDiagnosis(Encounter Encounter ):
    	singleton from ((Encounter.diagnosis D where D.rank = 1) PD
          return singleton from ([Condition] C where C.id = PD.condition.reference.getId())
    	)
    Library Name Name
    QICoreCommon getId
    /*
    @description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).
    @comment: This function can be used to determine the logical id of a given resource. It can be used in
    a single-server environment to trace references. However, this function does not attempt to resolve
    or distinguish the base of the given url, and so cannot be used safely in multi-server environments.
    */
    define fluent function getId(uri String):
      Last(Split(uri, '/'))
    Library Name Name
    AttributionModel isAttributable
    define fluent function isAttributable(encounter Encounter):
      encounter.period during "Measurement Period"
        and "Provider" is not null implies encounter.serviceProvider.reference.endsWith("Provider")