Measure — detail: quality KPIs
Definition of an operable quality measure: HEDIS, QPP / MIPS US, IRIS France. Pivot for value-based care reports mandatory since 2024.
Role in quality measurement
Measure defines a quality measure in a computable manner. HEDIS, QPP, IRIS KPIs are
expressed as Measure + CQL Library. The server evaluates the measure over a cohort
and emits a MeasureReport.
Populations: IPP, DEN, NUM, EXCL
| Code | Semantics |
|---|---|
initial-population | Starting population (all followed patients). |
denominator | Patients eligible for the measure. |
denominator-exclusion | Excluded from the denominator (e.g. palliative care). |
numerator | Patients meeting the quality criterion. |
numerator-exclusion | Cases that look positive but are excluded. |
measure-population | For continuous-variable. |
Scoring
proportion— numerator/denominator rate (most common).ratio— unbounded ratio.continuous-variable— aggregation (mean, median).cohort— simple count.composite— multi-measure composite score.
$evaluate-measure
REST operation $evaluate-measure with parameters:
periodStart,periodEnd— evaluation period.subject— a single Patient (individual mode) or a Group.reportType—subject | summary | subject-list | data-collection.
Example: HbA1c measure
{
"resourceType": "Measure",
"id": "hba1c-control",
"url": "http://example.org/fhir/Measure/HbA1cControl",
"version": "1.0.0",
"name": "HbA1cControl",
"title": "HbA1c Poor Control (>9%)",
"status": "active",
"experimental": false,
"subjectCodeableConcept": {
"coding": [{ "system": "http://hl7.org/fhir/resource-types", "code": "Patient" }]
},
"scoring": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code": "proportion"
}]
},
"library": ["http://example.org/fhir/Library/HbA1cMeasure"],
"group": [{
"population": [{
"code": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/measure-population",
"code": "initial-population"
}]
},
"criteria": {
"language": "text/cql-identifier",
"expression": "Initial Population"
}
}, {
"code": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/measure-population",
"code": "denominator"
}]
},
"criteria": {
"language": "text/cql-identifier",
"expression": "Denominator"
}
}, {
"code": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/measure-population",
"code": "numerator"
}]
},
"criteria": {
"language": "text/cql-identifier",
"expression": "Numerator"
}
}, {
"code": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/measure-population",
"code": "denominator-exclusion"
}]
},
"criteria": {
"language": "text/cql-identifier",
"expression": "Denominator Exclusion"
}
}]
}]
} Common pitfalls
- Unpublished Library — CQL must be deployed on the measure server before
$evaluate-measure. - Forgotten denominator-exclusion — without exclusion, measures on sensitive cohorts (palliative, nursing home) are biased.
- Misaligned scoring — a
continuous-variablewithnumeratoris invalid.