-
Notifications
You must be signed in to change notification settings - Fork 25
Specifying Population Criteria
To encourage consistency among measures, the following guidelines for specifying population criteria within a measure are proposed.
The name of an expression specifying a population criteria within a measure should always be the name of the criteria type:
- "Initial Population"
- "Denominator"
- "Denominator Exclusion"
- "Denominator Exception"
- "Numerator"
- "Numerator Exclusion"
- "Measure Population"
- "Measure Population Exclusion"
- "Measure Observation" (Note that this is the name of a function, see the Continuous Variable section for more)
- "Stratification"
When a measure has multiple populations, the criteria names will follow the convention above, adding the number of the population group to each criteria, e.g. "Initial Population 1", "Denominator 1", etc. Note that when multiple populations are present, the number of the group is added to all population groups, not just the groups other than the first.
For multiple population ratio measures that specify 2 initial populations, the populations would be named with an additional "_X" to distinguish the initial populations, e.g. "Initial Population 1_1", "Initial Population 1_2", "Initial Population 2_1", "Initial Population 2_2".
Note also that when a measure has multiple population groups, the expectation is that the measure would have multiple scores, one for each population group. The formulas for calculation of the groups do not change, they are the same as for single group measures, just calculated using the criteria for each group.
For each type of measure, the set of applicable criteria are defined by the Health Quality Measure Format (HQMF) specification. In addition, the formula for calculating the measure score is implied by the type of the measure. The following sections describe the expected result type for population criteria for each type of measure, as well as explicitly defining the measure score calculation formula.
In addition to the measure type, measures generally fall into two categories, patient-based, and others, such as episode-of-care-based. In general, patient-based measures count the number of patients in each population, while episode-of-care-based measures count the number of encounters in each population. Although the calculation formulas are conceptually the same for both categories, for ease of expression, population criteria for patient-based measures return true or false, while non-patient-based measures return the item to be counted such as an encounter or procedure.
For stratification criteria, each measure type can have any number of stratification criteria, and the name for each one simply adds the number of the criteria, e.g. "Stratification 1", "Stratification 2", etc. The result type of the stratification criteria expressions must be the same as the result type for the other criteria types appropriate for that measure type.
The following population criteria types apply to proportion measures:
- Initial Population
- Denominator
- Denominator Exclusion
- Denominator Exception
- Numerator
- Numerator Exclusion
- Stratification
The following snippet defines the measure score for a patient-based proportion measure:
context Patient
define "Denominator Membership":
"Initial Population"
and "Denominator"
and not "Denominator Exclusion"
and not ("Denominator Exception" and not "Numerator")
define "Numerator Membership":
"Initial Population"
and "Denominator"
and not "Denominator Exclusion"
and "Numerator"
and not "Numerator Exclusion"
context Population
define "Measure Score":
Count("Numerator Membership" IsMember where IsMember is true)
/ Count("Denominator Membership" IsMember where IsMember is true)
This snippet is taken from this example.
For patient-based measures, stratifications are determined by adding the stratification criteria for each stratification to the numerator membership expression:
define "Stratification Membership":
"Numerator Membership"
and "Stratification 1"
For non-patient-based measures, the following snippet describes the measure score calculation:
define "Numerator Membership":
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
intersect "Numerator"
except "Numerator Exclusion"
define "Denominator Membership":
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
except ("Denominator Exception" except "Numerator")
context Population
define "Measure Score":
Count("Numerator Membership") /
Count("Denominator Membership")
This snippet is taken from this example.
For non-patient-based measures, stratification is computed by adding the stratification expression for each stratification as an intersection to the numerator and denominator expressions:
define "Stratification 1 Measure Score":
Count(
"Numerator Membership"
intersect "Stratification 1"
) /
Count(
"Denominator Membership"
intersect "Stratification 1"
)
For ratio measures, the following population criteria types are applicable:
- Initial Population
- Denominator
- Denominator Exclusion
- Numerator
- Numerator Exclusion
- Measure Observation
- Stratification
For patient-based ratio measures, all population criteria must return true or false (or null). For non-patient-based ratio measures, each population criteria must return the same type, such as an Encounter, or Procedure.
For ratio measures that include a Measure Observation, the measure observation is specified in the same way as it is for continuous variable measures. In particular, the Measure Observation is defined as a function that takes a single argument of the same type as the elements returned by all the population criteria, and the aggregation method is specified in the HQMF.
The following snippet describes the calculation formulas for a patient-based ratio measure:
context Patient
define "Denominator Membership":
"Initial Population"
and "Denominator"
and not "Denominator Exclusion"
define "Numerator Membership":
"Initial Population"
and "Numerator"
and not "Numerator Exclusion"
context Population
define "Measure Ratio Numerator":
Count("Numerator Membership" IsMember where IsMember is true)
define "Measure Ratio Denominator":
Count("Denominator Membership" IsMember where IsMember is true)
This snippet is taken from this example.
For patient-based ratio measures, the stratifications are computed by adding the stratification criteria for each stratification to the numerator and denominator counts.
The following snippet describes the calculation formulas for a non-patient-based ratio measure:
define "Numerator Membership":
"Initial Population"
intersect "Numerator"
except "Numerator Exclusion"
define "Denominator Membership":
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
context Population
define "Measure Score Numerator":
Count("Numerator Membership")
define "Measure Score Denominator":
Count("Denominator Membership")
This snippet is taken from this example.
For non-patient-based ratio measures, stratifications are produced by intersecting the stratification criteria for each stratification with the numerator and denominator counts.
The following snippet describes the calculation formula for a non-patient-based continuous variable ratio measure:
context Population
define "Measure Score Numerator":
Avg(
"Numerator Membership" Numerator
return "Measure Observation"(Numerator)
)
define "Measure Score Denominator":
Avg(
"Denominator Membership" Denominator
return "Measure Observation"(Denominator)
)
This snippet is taken from this example.
For continuous variable measures, the following population criteria types are applicable:
- Initial Population
- Measure Population
- Measure Population Exclusion
- Measure Observation
- Stratification
For continuous variable measures, the measure observation is defined as a function that takes a single parameter of the type of elements returned by the population criteria. Each population criteria other than the measure observation must return the same type.
The following snippet illustrates how a continuous variable measure score is calculated:
define "Measure Population Membership":
"Initial Population"
intersect "Measure Population"
except "Measure Population Exclusion"
context Population
define "Measure Score":
Avg("Measure Population Membership" PopulationMember
return "Median ED Time"(PopulationMember)
)
Note that the aggregation method (Avg in this case) is specified in the HQMF. This snippet is taken from this example.
Stratifications for continuous variable measures are computed by intersecting the stratification criteria for each stratification with the measure population expressions.
For cohort definitions, only the Initial Population criteria type is used. For patient-based cohort definitions, the criteria should return a true or false (or null). For other types of cohort definitions, the criteria may return any type.
Authoring Patterns - QICore v4.1.1
Authoring Patterns - QICore v5.0.0
Authoring Patterns - QICore v6.0.0
Cooking with CQL Q&A All Categories
Additional Q&A Examples
Developers Introduction to CQL
Specifying Population Criteria