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 — Healthcare quality indicator

eCQM, HEDIS, CMS Quality Reporting: Measure defines a performance measure with numerator, denominator and CQL evaluation logic.

Purpose

Measure encodes the definition of a quality or performance measure: target population, numerator, denominator, exclusions, stratifications, reference to the CQL Library that executes the evaluation logic.

Measures are evaluated by the $evaluate-measure operation, which returns a MeasureReport with aggregated (cohort) or individual (per-patient) results.

Key fields

FieldTypeCardinalityRole
urluri0..1Canonical URL.
versionstring0..1Version.
namestring0..1Machine name.
titlestring0..1Human title.
statuscode1..1Mandatory. Publication status.
subject[x]CodeableConcept | Reference0..1Subject type (typically Patient).
librarycanonical(Library)[]0..*CQL Library executing the logic.
scoringCodeableConcept0..1Scoring type (proportion, ratio, continuous-variable, cohort).
typeCodeableConcept[]0..*Type (process, outcome, structure, patient-reported-outcome).
rationalemarkdown0..1Clinical rationale.
clinicalRecommendationStatementmarkdown0..1Clinical recommendation.
improvementNotationCodeableConcept0..1Improvement direction (increase / decrease).
groupBackboneElement[]0..*Groups (multiple scorings or stratifications).
group.populationBackboneElement[]0..*Populations (initial, denominator, numerator, exclusion...).
group.population.criteriaExpression1..1CQL or FHIRPath expression.
group.stratifierBackboneElement[]0..*Stratifications (sex, age, ethnicity).
supplementalDataBackboneElement[]0..*Supplemental data captured in the MeasureReport.

JSON example

HEDIS-like Measure: percentage of diabetic patients 18-75 with controlled HbA1c (<9%) over the past year. Reference to a CQL Library:

json measure-diabetes-hba1c.json
{
  "resourceType": "Measure",
  "id": "diabetes-hba1c-control",
  "url": "http://example.org/Measure/diabetes-hba1c-control",
  "version": "1.0.0",
  "name": "DiabetesHbA1cControl",
  "title": "Diabetes — HbA1c Control (less than 9%)",
  "status": "active",
  "experimental": false,
  "date": "2026-05-14",
  "publisher": "Example Org",
  "description": "Percentage of diabetic patients 18-75 years old with HbA1c < 9% over the past year.",
  "library": ["http://example.org/Library/diabetes-management"],
  "scoring": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/measure-scoring",
      "code": "proportion",
      "display": "Proportion"
    }]
  },
  "type": [{
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/measure-type",
      "code": "process"
    }]
  }],
  "improvementNotation": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
      "code": "decrease",
      "display": "Decreased score indicates improvement"
    }]
  },
  "group": [{
    "linkId": "hba1c-group",
    "population": [
      {
        "linkId": "initial-population",
        "code": {
          "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/measure-population", "code": "initial-population" }]
        },
        "criteria": {
          "language": "text/cql-identifier",
          "expression": "Initial Population"
        }
      },
      {
        "linkId": "denominator",
        "code": {
          "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/measure-population", "code": "denominator" }]
        },
        "criteria": {
          "language": "text/cql-identifier",
          "expression": "Denominator"
        }
      },
      {
        "linkId": "numerator",
        "code": {
          "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/measure-population", "code": "numerator" }]
        },
        "criteria": {
          "language": "text/cql-identifier",
          "expression": "Numerator"
        }
      }
    ]
  }]
}

Common pitfalls

  • No library — without a CQL Library, $evaluate-measure fails.
  • Missing initial-population — although technically optional, it's the root of the chain: without it, the denominator can't be computed.
  • Confusing scoring=proportion and ratio — proportion = numerator ⊆ denominator (result 0–1); ratio = numerator and denominator independent.
  • Incorrect improvement direction — for HbA1c <9%, we want to increase the proportion: improvementNotation=increase. For readmission rate, decrease.
  • Combinatorial stratifications — multiplying age × sex × ethnicity generates near-empty cells at low N.
  • Library — CQL evaluation logic.
  • MeasureReport — evaluation result.
  • Group — evaluated cohort.
  • Patient — typical subject of evaluation.