Quality Measure Implementation Guide
2.0.0-ballot - STU 2 Ballot

Quality Measure Implementation Guide - Downloaded Version null See the Directory of published versions

## Resource Profile: CQM ELM Measure

Official URL: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-elmmeasure | Version: 1.0.0 | Highlight text changes?
Standards status: Trial-use Active as of 2026-04-07 | Maturity Level: 4 | Computable Name: CQMELMMeasure
Other Identifiers: OID:2.16.840.1.113883.4.642.40.61.42.13

The cqm ELM Measure Profile describes minimum expectations for an executable electronic Clinical Quality Measure (eCQM) that uses ELM (i.e. compiled CQL) to represent the logic of the measure.

Usages:

- Examples for this Profile: MeasureEXM

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure | C | 0..* | Measure | A quality measure definition Constraints: mea-0, mea-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
group | S | 0..* | BackboneElement | Population criteria group
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | The criteria that defines this population
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | Component of how the measure should be stratified
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | Expression describing additional data to be reported
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Measure.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Measure | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components | `group.stratifier.all((code | description | criteria).exists() xor component.exists())`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure |  | 0..* | Measure | A quality measure definition
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
group | S | 0..* | BackboneElement | Population criteria group
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure | C | 0..* | Measure | A quality measure definition Constraints: mea-0, mea-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the measure
version | Σ | 0..1 | string | Business version of the measure
name | Σ C | 0..1 | string | Name for this measure (computer friendly)
title | Σ | 0..1 | string | Name for this measure (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the measure
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
subject[x] |  | 0..1 |  | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a measure (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the measure
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this measure is defined
usage |  | 0..1 | string | Describes the clinical usage of the measure
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the measure was approved by publisher
lastReviewDate |  | 0..1 | date | When the measure was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the measure is expected to be used
topic |  | 0..* | CodeableConcept | The category of the measure, such as Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
relatedArtifact |  | 0..* | RelatedArtifact | Additional documentation, citations, etc.
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
disclaimer | Σ | 0..1 | markdown | Disclaimer for use of the measure or its referenced content
scoring | Σ | 0..1 | CodeableConcept | proportion | ratio | continuous-variable | cohort Binding: MeasureScoring (extensible): The scoring type of the measure.
compositeScoring | Σ | 0..1 | CodeableConcept | opportunity | all-or-nothing | linear | weighted Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure.
type | Σ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible): The type of measure (includes codes from 2.16.840.1.113883.1.11.20368).
riskAdjustment | Σ | 0..1 | string | How risk adjustment is applied for this measure
rateAggregation | Σ | 0..1 | string | How is rate aggregation performed for this measure
rationale | Σ | 0..1 | markdown | Detailed description of why the measure exists
clinicalRecommendationStatement | Σ | 0..1 | markdown | Summary of clinical guidelines
improvementNotation | Σ | 0..1 | CodeableConcept | increase | decrease Binding: MeasureImprovementNotation (required): Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.
definition | Σ | 0..* | markdown | Defined terms used in the measure documentation
guidance | Σ | 0..1 | markdown | Additional guidance for implementers
group | S | 0..* | BackboneElement | Population criteria group
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the group
description |  | 0..1 | string | Summary description
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible): The type of population.
description |  | 0..1 | string | The human readable description of this population criteria
criteria |  | 1..1 | Expression | The criteria that defines this population
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the stratifier
description |  | 0..1 | string | The human readable description of this stratifier
criteria |  | 0..1 | Expression | How the measure should be stratified
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the stratifier component
description |  | 0..1 | string | The human readable description of this stratifier component
criteria |  | 1..1 | Expression | Component of how the measure should be stratified
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the supplemental data
usage |  | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure.
description |  | 0..1 | string | The human readable description of this supplemental data
criteria |  | 1..1 | Expression | Expression describing additional data to be reported
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Measure.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Measure.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Measure.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Measure.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
Measure.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
Measure.scoring | Base | extensible | MeasureScoring | 📍4.0.1 | FHIR Std.
Measure.compositeScoring | Base | extensible | CompositeMeasureScoring | 📍4.0.1 | FHIR Std.
Measure.type | Base | extensible | MeasureType | 📍4.0.1 | FHIR Std.
Measure.improvementNotation | Base | required | MeasureImprovementNotation | 📍4.0.1 | FHIR Std.
Measure.group.population.​code | Base | extensible | MeasurePopulationType | 📍4.0.1 | FHIR Std.
Measure.supplementalData.​usage | Base | extensible | MeasureDataUsage | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Measure | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components | `group.stratifier.all((code | description | criteria).exists() xor component.exists())`

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- ELM JSON Library (http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library)
- ELM XML Library (http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library)

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure | C | 0..* | Measure | A quality measure definition Constraints: mea-0, mea-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
group | S | 0..* | BackboneElement | Population criteria group
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | The criteria that defines this population
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | Component of how the measure should be stratified
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
criteria |  | 1..1 | Expression | Expression describing additional data to be reported
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Measure.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Measure | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components | `group.stratifier.all((code | description | criteria).exists() xor component.exists())`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure |  | 0..* | Measure | A quality measure definition
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
group | S | 0..* | BackboneElement | Population criteria group
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Measure | C | 0..* | Measure | A quality measure definition Constraints: mea-0, mea-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the measure
version | Σ | 0..1 | string | Business version of the measure
name | Σ C | 0..1 | string | Name for this measure (computer friendly)
title | Σ | 0..1 | string | Name for this measure (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the measure
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
subject[x] |  | 0..1 |  | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a measure (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the measure
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this measure is defined
usage |  | 0..1 | string | Describes the clinical usage of the measure
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the measure was approved by publisher
lastReviewDate |  | 0..1 | date | When the measure was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the measure is expected to be used
topic |  | 0..* | CodeableConcept | The category of the measure, such as Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
relatedArtifact |  | 0..* | RelatedArtifact | Additional documentation, citations, etc.
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure
disclaimer | Σ | 0..1 | markdown | Disclaimer for use of the measure or its referenced content
scoring | Σ | 0..1 | CodeableConcept | proportion | ratio | continuous-variable | cohort Binding: MeasureScoring (extensible): The scoring type of the measure.
compositeScoring | Σ | 0..1 | CodeableConcept | opportunity | all-or-nothing | linear | weighted Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure.
type | Σ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible): The type of measure (includes codes from 2.16.840.1.113883.1.11.20368).
riskAdjustment | Σ | 0..1 | string | How risk adjustment is applied for this measure
rateAggregation | Σ | 0..1 | string | How is rate aggregation performed for this measure
rationale | Σ | 0..1 | markdown | Detailed description of why the measure exists
clinicalRecommendationStatement | Σ | 0..1 | markdown | Summary of clinical guidelines
improvementNotation | Σ | 0..1 | CodeableConcept | increase | decrease Binding: MeasureImprovementNotation (required): Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.
definition | Σ | 0..* | markdown | Defined terms used in the measure documentation
guidance | Σ | 0..1 | markdown | Additional guidance for implementers
group | S | 0..* | BackboneElement | Population criteria group
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the group
description |  | 0..1 | string | Summary description
population | S C | 0..* | BackboneElement | Population criteria Constraints: elm-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible): The type of population.
description |  | 0..1 | string | The human readable description of this population criteria
criteria |  | 1..1 | Expression | The criteria that defines this population
stratifier | S C | 0..* | BackboneElement | Stratifier criteria for the measure Constraints: elm-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the stratifier
description |  | 0..1 | string | The human readable description of this stratifier
criteria |  | 0..1 | Expression | How the measure should be stratified
component | S C | 0..* | BackboneElement | Stratifier criteria component for the measure Constraints: elm-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the stratifier component
description |  | 0..1 | string | The human readable description of this stratifier component
criteria |  | 1..1 | Expression | Component of how the measure should be stratified
supplementalData | S C | 0..* | BackboneElement | What other data should be reported with the measure Constraints: elm-4
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 0..1 | CodeableConcept | Meaning of the supplemental data
usage |  | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure.
description |  | 0..1 | string | The human readable description of this supplemental data
criteria |  | 1..1 | Expression | Expression describing additional data to be reported
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Measure.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Measure.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
Measure.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
Measure.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
Measure.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
Measure.scoring | Base | extensible | MeasureScoring | 📍4.0.1 | FHIR Std.
Measure.compositeScoring | Base | extensible | CompositeMeasureScoring | 📍4.0.1 | FHIR Std.
Measure.type | Base | extensible | MeasureType | 📍4.0.1 | FHIR Std.
Measure.improvementNotation | Base | required | MeasureImprovementNotation | 📍4.0.1 | FHIR Std.
Measure.group.population.​code | Base | extensible | MeasurePopulationType | 📍4.0.1 | FHIR Std.
Measure.supplementalData.​usage | Base | extensible | MeasureDataUsage | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Measure | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria | `criteria.language = 'text/cql-identifier'`
elm-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | `criteria.language in ('text/cql-identifier' | 'text/fhirpath')`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components | `group.stratifier.all((code | description | criteria).exists() xor component.exists())`

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- ELM JSON Library (http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library)
- ELM XML Library (http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library)

Maturity: 4

Other representations of profile: CSV, Excel, Schematron