CMS FHIR Quality Measure Development IG
0.8.0-cibuild - CI Build
CMS FHIR Quality Measure Development IG, published by Centers for Medicare & Medicaid Services (CMS). This guide is not an authorized publication; it is the continuous build for version 0.8.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/cms-qmd/ and changes regularly. See the Directory of published versions
The Measure Authoring Development Integrated Environment (MADiE) is the CMS-supported measure authoring environment for creating and maintaining eCQMs and dQMs. It produces standardized measure artifacts, including the base Measure resource, CQL libraries, and supporting resources, that are packaged for implementation and distribution.
The guidance in this implementation guide is specific to CMS dQMs. While many concepts are broadly applicable to FHIR Measure resources, the conventions, examples, and recommendations described herein reflect CMS implementation and publication practices supported by MADiE.
MADiE supports Clinical Quality Language (CQL) as the authoring language for defining measure populations, supplemental data elements, stratifiers, observations, and reusable expressions.
For the underlying data model, MADiE supports the QI-Core and US Quality Core FHIR implementation guides, which define the FHIR profiles, data elements, and terminology used by the measure.
Addition of new data models starts with a MADiE enhancement request submitted through the ONC Jira MADiE Issue Tracker.
Table 4-1 MADiE Field Mapping provides a crosswalk between MADiE measure authoring fields and the corresponding FHIR Measure elements used in the CMS dQM specification. For each MADiE field, the table identifies its requirement level, provides a brief description, and maps the field to the corresponding FHIR Measure element where applicable.
| MADiE Field | Requirement Level | Description | Measure Element |
|---|---|---|---|
| Clinical Recommendation | Optional | Summarizes the clinical guidelines or recommendations supporting the measure. | Measure.clinicalRecommendationStatement |
| CMS ID | Conditional | Identifies the measure across its versions and drafts. It will not be assigned to any other measure and cannot be changed. Only assigned when indicated. | Measure.identifier:cmsId |
| Copyright | Optional | Identifies the organization(s) that own the intellectual property represented by the measure. | Measure.copyright |
| Definition | Optional | A list of terms and their definitions. | Measure.definition |
| Description | Required | Describes the measure intent. | Measure.description |
| Developer | Required | Identifies the organization(s) responsible for authoring the measure. This field is required to export a measure. | Measure.author |
| Disclaimer | Optional | Provides disclaimer information for the measure. | Measure.disclaimer |
| eCQM Abbreviated Title | Required | Identifies the measure using a shortened title. | Measure.identifier:shortName |
| Endorsement # | Conditional | If an Endorsing Organization is selected, an Endorsing Number is required. | Measure.identifier:endorserIdentifier |
| Endorsing Organization | Optional | Identifies the organization that endorses the measure. | Measure.endorser |
| Experimental (Checkbox) | Optional | Indicates whether the measure is experimental. Defaults to “No” for new measures, indicated by an unchecked checkbox. | Measure.experimental |
| Guidance (Usage) | Optional | Describes how to interpret or implement certain components of a measure. | Measure.usage |
| Intended Venue | Optional | Specifies the intended reporting venue for the measure. | Measure.useContext |
| Measure CQL Library Name | Required | Identifies the current name of the primary CQL library associated with the measure. | Measure.library |
| Measure ID | Required | Identifies the measure uniquely across all versions and drafts. System generated and cannot be edited. | Measure.identifier |
| Measure Name | Required | Specifies the current measure name. | Measure.title |
| Measurement Period End | Required | Specifies the end of the measurement period. | Measure.effectivePeriod.end |
| Measurement Period Start | Required | Specifies the start of the measurement period. | Measure.effectivePeriod.start |
| Model | Required | Defines the FHIR profiles, data elements, and associated terminology used in a measure. | x |
| Population Criteria | Required | Defines one or more measure population groups. | Measure.group |
| Population Criteria Description | Conditional | Describes a population criteria’s intent. Should be present when measures have more than one population. | Measure.group.description |
| Population Criteria Improvement Notation | Required | Specifies whether an increase or decrease in score represents improvement. | Measure.group.improvementNotation |
| Population Criteria Improvement Notation Description | Optional | Describes the improvement notation. | Measure.group.improvementNotationGuidance |
| Population Criteria Measure Type | Required | Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. | Measure.group.type |
| Population Criteria Population Basis | Required | Specifies the type of elements in the populations. | Measure.group.populationBasis |
| Population Criteria Rate Aggregation | Optional | Specifies how to combine calculated information based on logic in each of several populations into one summarized result. | Measure.group.rateAggregation |
| Population Criteria Scoring | Required | Specifies the method used to calculate the measure score. | Measure.group.scoring |
| Population Criteria Scoring Precision | Optional | Specifies the number of decimal places used when reporting the measure score. | Measure.group.scoringPrecision |
| Population Criteria Scoring Unit | Optional | Specifies the expected units of measure for the measure score. | Measure.group.scoringUnit |
| Population Criteria Stratifier | Optional | Defines categories used to subdivide a measure population. | Measure.group.stratifier |
| Population Criteria Stratifier Description | Optional | Describes the stratifier's intent. | Measure.group.stratifier.description |
| Purpose | Optional | Describes the purpose of the measure. Specify why this measure is needed and why it has been designed as it has. | Measure.purpose |
| Rationale | Optional | Provides a detailed justification of the need for the measure, including statements pertaining to importance criteria such as impact, gap in care, and evidence. | Measure.rationale |
| References | Optional | Identifies bibliographic citations or references to clinical practice guidelines, sources of evidence, or other relevant materials supporting the measure’s intent and rationale. | Measure.relatedArtifact:citation |
| Risk Adjustment Definition | Optional | Defines patient characteristics that may influence outcomes, enabling more equitable comparisons of measure results across populations or providers. | Measure.supplementalData where usage: risk-adjustment-factor |
| Risk Adjustment Description | Optional | Describes risk adjustment. | Measure.riskAdjustment |
| Steward | Required | Identifies the organization responsible for publishing the measure. This field is required to export a measure. | Measure.publisher |
| Supplemental Data Definition | Optional | Defines additional information to be returned for each member of a population. | Measure.supplementalDatawhere usage: supplemental-data |
| Supplemental Data Description | Optional | Describes supplemental data elements. | Measure.supplementalDataGuidance |
| Version | Required | Identifies the version of the measure. | Measure.version |
| Version ID | Required | Identifies a specific version of the measure. System generated and cannot be edited. | Measure.identifier:versionSpecificIdentifier |
MADiE establishes the namespace for authored and exported content by assigning canonical URLs to the associated resources.
At this time, MADiE supports a single namespace for authored and exported content and does not support organization-specific namespaces. As support for additional organizations and publication environments evolves, namespace conventions may be expanded to ensure artifacts developed independently remain uniquely identifiable.
For additional information about CQL library namespaces and their relationship to FHIR artifacts, see the Using CQL with FHIR Implementation Guide, Library Namespaces section.
MADiE applies consistent naming conventions to the files generated for a dQM export. File names are based on the measure’s eCQM abbreviated title, measure version, and model information.
The human-readable and computable representations of the base Measure use the following pattern:
{eCQMAbbreviatedTitle}-v{MeasureVersion}-{ModelFamily}.{format}
The applicable format extension is .html, .json, .xml, or .cql.
For example:
CMSXXXXFHIR-v0.1.000-FHIR.html
CMSXXXXFHIR-v0.1.000-FHIR.json
CMSXXXXFHIR-v0.1.000-FHIR.xml
CMSXXXXFHIR-v0.1.000-FHIR.cql
MADiE packages the dQM files in a .zip using the following pattern:
{eCQMAbbreviatedTitle}-v{MeasureVersion}-{ModelFamily}.zip
For example:
CMSXXXXFHIR-v0.1.000-FHIR.zip
MADiE uses the open-source cqframework CQL-to-ELM Translator to translate CQL into Expression Logical Model (ELM), the computable representation used for validation and execution of CQL expressions.
Table 4-2 represents the translator parameters used in MADiE
Table 4-2 MADiE Translator Parameters
| Parameter | Value |
|---|---|
| disable-method-invocation | false |
| validate-units | true |
| locators | true |
| error-severity (Export) | Info |
| error-severity (Export for publishing) | error |
| disable-list-promotion | true |
| result-types | true |
| detailed-errors | true |
| annotations | true |
| disable-list-demotion | true |