-
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 population 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)
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.
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.
The following population criteria types apply to proportion measures:
- Initial Population
- Denominator
- Denominator Exclusion
- Denominator Exception
- Numerator
- Numerator Exclusion
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 non-patient-based measures, the following snippet describes the measure score calculation:
context Population
define "Measure Score":
Count(
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
intersect "Numerator"
except "Numerator Exclusion"
) /
Count(
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
except ("Denominator Exception" except "Numerator")
)
This snippet is taken from this example.
For ratio measures, the following population criteria types are applicable:
- Initial Population
- Denominator
- Denominator Exclusion
- Numerator
- Numerator Exclusion
- Measure Observation
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 "Denominator"
and not "Denominator Exclusion"
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.
The following snippet describes the calculation formulas for a non-patient-based ratio measure:
context Population
define "Measure Score Numerator":
Count(
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
intersect "Numerator"
except "Numerator Exclusion"
)
define "Measure Score Denominator":
Count(
"Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
)
This snippet is taken from this example.
The following snippet describes the calculation formula for a non-patient-based continuous variable ratio measure:
context Population
define "Measure Score Numerator":
Avg(
("Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
intersect "Numerator"
except "Numerator Exclusion"
) Numerator
return "Measure Observation"(Numerator)
)
define "Measure Score Denominator":
Avg(
("Initial Population"
intersect "Denominator"
except "Denominator Exclusion"
) 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
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:
context Population
define "Measure Score":
Avg(
"Measure Population" PopulationMember
return "Measure Observation"(PopulationMember)
)
Note that the aggregation method (Avg in this case) is specified in the HQMF. This snippet is taken from this example.
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