ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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

CodeSemantics
initial-populationStarting population (all followed patients).
denominatorPatients eligible for the measure.
denominator-exclusionExcluded from the denominator (e.g. palliative care).
numeratorPatients meeting the quality criterion.
numerator-exclusionCases that look positive but are excluded.
measure-populationFor 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.
  • reportTypesubject | summary | subject-list | data-collection.

Example: HbA1c measure

json measure-hba1c-control.json
{
  "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-variable with numerator is invalid.