Groups in Measure and MeasureReport (ingestion model notes) - Display-Lab/scaffold GitHub Wiki
What are groups
In the FHIR Measure resource, groups are used to structure and categorize different parts of a quality measure, while populations define the specific sets of individuals or events needed for calculation within a group. A single Measure can contain multiple groups to define different rates or aspects of measurement.
In a Measure Report, the groups defined by the Measure will be reported on individually. For each group, the details defined by the Measure (scoring, population counts, etc.) can be reported on in the Measure Report. Each group will also have a reported measureScore in the Measure Report as group.measureScore
Groups
A group is a top-level container that holds a set of criteria for a specific area of measurement. Measures with multiple rates, such as different calculations for different clinical scenarios, will define multiple groups to hold the relevant populations for each rate.
A group's definition typically includes:
- A unique ID (linkId): A unique identifier for the group, which allows linking the results in a MeasureReport back to the correct group in the Measure definition.
- Scoring method: The type of score to be calculated, such as proportion, ratio, cohort, or continuous-variable.
- Subject: The basis for the group's calculation, such as a Patient or an Encounter.
- Populations: The specific populations used to define the measure logic.
- Stratifiers: Optional criteria to subdivide the measure's populations for more detailed analysis.
Populations
Within a group, populations are the specific sets of criteria used to calculate the measure. The logic for each population is defined by a Clinical Quality Language (CQL) or FHIRPath expression that references a Library resource.
A population's definition includes:
- A unique ID (linkId):** A unique identifier for the population within its group.
- Population type (code): This specifies the role of the population in the calculation, such as:
- initial-population: The set of all individuals or cases that meet the basic criteria for being considered for the measure.
- denominator: A subset of the initial-population that meets specific conditions for the measure's calculation.
- numerator: A subset of the denominator that represents successful performance of the measure.
- denominator-exclusion: Individuals removed from the denominator due to specific criteria.
- denominator-exception: Individuals removed from the denominator before inclusion in the numerator, under specific circumstances.
- measure-population: The main population for continuous-variable or cohort measures.
 
Example: Breast Cancer Screening
Imagine a quality measure for breast cancer screening.
Measure Group: A group would be defined for the overall breast cancer screening rate.
- Scoring: proportion.
- Subject: Patient.
- Populations within the group:
- initial-population: All women.
- denominator: Women aged 35 or older (a subset of the initial population).
- numerator: Women aged 35 or older who had breast cancer screenings in the past year (a subset of the denominator).
Calculation and reporting: When the measure is evaluated against a clinical dataset, the results are stored in a MeasureReport resource.
This Measure Report includes the following:
- The group information.
- A section for each population in the group, including a count of individuals that met the criteria.
- Based on these population counts, the overall proportion score is calculated. For instance, if 50 women are in the denominator and 25 are in the numerator, the result is a 50% score.
Examples with multiple groups
Multiple groups are used in a FHIR Measure when a single measure needs to compute and report on several different rates or aspects of care. A common use case is when the measurement criteria, or the population being measured, changes based on a specific characteristic, such as age or condition. For example, consider a comprehensive quality measure for diabetes care. This measure might be defined by two different rates:
- The proportion of patients with diabetes who received an HbA1c test.
- The proportion of patients with diabetes whose LDL-C levels were under control.
A single Measure resource can define both of these rates by using multiple group elements.
Example: Diabetes care measure
Here is how the groups and populations would be structured for a diabetes care measure.
Measure Name: Diabetes Management Performance**
group 1: HbA1c Testing Rate
- linkId: HbA1c-Testing-Rate
- Scoring: proportion (calculating a percentage)
- Population: This group contains the populations for calculating the HbA1c testing rate.
- Initial Population: All patients in the reporting period diagnosed with diabetes.
- Denominator: Patients from the initial population who were seen by the provider during the reporting period.
- Numerator: Patients from the denominator who received at least one HbA1c test during the reporting period.
 
group 2: LDL-C Control Rate
linkI* d: LDL-C-Control-Rate
- Scoring: proportion (calculating a percentage)
- Population: This group contains the populations for calculating the LDL-C control rate.
- Initial Population: All patients in the reporting period diagnosed with diabetes.
- Denominator: Patients from the initial population who had an LDL-C level documented within the reporting period.
 
- Numerator: Patients from the denominator whose most recent LDL-C level was below a specified threshold.
How this works in practice
When the measure is evaluated, the FHIR server performs the following actions for each group:
- Evaluates each population expression (likely written in CQL) to find the relevant patient cohort counts for that group.
- Calculates the score for that group based on its scoring method and the population counts.
- Packages the results into a single MeasureReport resource, which will have a separate entry for each of the groups defined in the Measure.
This structure allows the same Measure resource to report on different, yet related, aspects of care without having to create a separate measure for each rate. It provides a clear, machine-readable way to define the multiple calculation methodologies required by many clinical quality measures.
Besides computing multiple rates, other use cases for multiple groups in a FHIR Measure include comparing different populations or measures, accommodating measures with different population bases, and building composite measures.
Comparing similar measures across different populations
This use case is common for public health or population health reporting. An organization might want to track a measure for multiple, distinct cohorts simultaneously.
Example: Pediatric vs. Adult immunizations
A public health agency could define a single Measure for immunization rates that includes two groups to report on pediatric and adult populations separately.
Group 1: Pediatric Immunization Rate
- Scoring: proportion
- Subject: Patient
- Populations: Defines the criteria for children, such as age < 18.
Group 2: Adult Immunization Rate
- Scoring: proportion
- Subject: Patient
- Populations: Defines the criteria for adults, such as age >= 18.
Accommodating different population bases
Some measures need to count different "things" for different aspects of the calculation, such as patients for one part and hospital encounters for another. A group's basis element specifies what is being measured.
Example: Surgical care improvement
A quality measure for surgical care improvement might define different aspects of patient care, with each group having a different population basis.
Group 1: Surgical Site Infection Rate
- Scoring: proportion
- Subject: Patient
- Basis: Encounter (the population is based on surgical encounters).
Group 2: Timely Antibiotic Prophylaxis
- Scoring: proportion
- Subject: Patient
- Basis: Procedure (the population is based on procedure events).
Creating composite measures
A composite measure combines the results of other measures. While it is possible to reference existing measures for this, using multiple groups within a single measure can also achieve a similar outcome by tying together related calculations. This is useful for combining multiple quality metrics into a single reportable item.
Example: Diabetes care composite measure
Instead of the simple multi-rate example, a composite measure might define one group for the overall measure score and other groups for its components.
Group 1: Overall Diabetes Composite Score
- Scoring: continuous-variable
- Subject: Patient
- Populations: The logic for this group could perform a weighted average of the outcomes from the other groups.
Group 2: HbA1c Testing Rate Component
- Scoring: proportion
- Populations: The standard populations for calculating the HbA1c testing rate.
Group 3: LDL-C Control Rate Component
- Scoring: proportion
- Populations: The standard populations for calculating the LDL-C control rate.
This structure defines a single, unified Measure that produces a single MeasureReport with the composite score and the component scores, providing both an overall view and the underlying details.
What about stratifiers?
It is important to distinguish between using multiple groups and using stratifiers. Multiple Groups: Used for fundamentally different measure calculations or different population cohorts, each with its own set of numerators and denominators. Stratifiers: Used to break down the results of a single measure group by a characteristic such as age, gender, or race. The calculation method is the same, but the score is reported for each sub-segment.
Reporting the score in a single-group MeasureReport
For a MeasureReport based on a Measure with a single group, the score is reported in the measureScore element, which is located inside the single group element.
The score is not reported at the top level of the MeasureReport resource. The FHIR specification is clear that MeasureReport.group must correspond directly to the structure defined in the Measure resource. This design ensures that the measure report structure remains consistent, regardless of whether a measure has one or many groups.
Do you have to have a group element?
Yes, you must include a group element in the MeasureReport, even if there is only one. The FHIR specification states that a MeasureReport "SHALL have a group element corresponding to each group element defined in the Measure being reported". The MeasureReport is simply reflecting the structure of the measure definition it is reporting on.
Typical name for a single group
For a single-group measure, the group.linkId (the computer-friendly identifier) and the group.code (the human-friendly identifier) are often straightforward and descriptive.
A common approach for naming a single group is to use a simple identifier that represents the overall intent of the measure. Examples for group.linkId: overall* -score
- summary-rate
- main-group
- measure-score
Examples for group.code: A group.code is a CodeableConcept and should contain one or more meaningful codes and text. Some example texts could be:
- "Overall Measure Score"
- "Summary Population"
- "Main Performance Rate"