Quality Measure Implementation Guide
6.0.0-ballot - ballot United States of America flag

Quality Measure Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 6.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-measures/ and changes regularly. See the Directory of published versions

Resource Profile: CQFM ELM Measure

Official URL: http://hl7.org/fhir/uv/cqm/StructureDefinition/elm-measure-cqfm Version: 4.0.0
Active as of 2024-11-19 Computable Name: CQFMELMMeasure

The CQFM 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.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Measure

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C 0..* Measure A quality measure definition
mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
mea-1: Stratifier SHALL be either a single criteria or a set of criteria components
... 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.

... group S 0..* BackboneElement Population criteria group
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... population SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... criteria 1..1 Expression The criteria that defines this population
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... criteria 1..1 Expression Component of how the measure should be stratified
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... criteria 1..1 Expression Expression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Measure.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMeasureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMeasureIf 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-4errorMeasureIf 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-5errorMeasureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMeasureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mea-0warningMeasureName 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-1errorMeasureStratifier SHALL be either a single criteria or a set of criteria components
: group.stratifier.all((code | description | criteria).exists() xor component.exists())
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C 0..* Measure A quality measure definition
mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
mea-1: Stratifier SHALL be either a single criteria or a set of criteria components
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
..... 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 SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... 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 SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... 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 SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Measure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Measure.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Measure.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
Measure.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Measure.topicexampleDefinitionTopic
http://hl7.org/fhir/ValueSet/definition-topic
from the FHIR Standard
Measure.scoringextensibleMeasureScoring
http://hl7.org/fhir/ValueSet/measure-scoring
from the FHIR Standard
Measure.compositeScoringextensibleCompositeMeasureScoring
http://hl7.org/fhir/ValueSet/composite-measure-scoring
from the FHIR Standard
Measure.typeextensibleMeasureType
http://hl7.org/fhir/ValueSet/measure-type
from the FHIR Standard
Measure.improvementNotationrequiredMeasureImprovementNotation
http://hl7.org/fhir/ValueSet/measure-improvement-notation|4.0.1
from the FHIR Standard
Measure.group.population.codeextensibleMeasurePopulationType
http://hl7.org/fhir/ValueSet/measure-population
from the FHIR Standard
Measure.supplementalData.usageextensibleMeasureDataUsage
http://hl7.org/fhir/ValueSet/measure-data-usage
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMeasureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMeasureIf 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-4errorMeasureIf 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-5errorMeasureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMeasureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mea-0warningMeasureName 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-1errorMeasureStratifier SHALL be either a single criteria or a set of criteria components
: group.stratifier.all((code | description | criteria).exists() xor component.exists())

This structure is derived from Measure

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Measure

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C 0..* Measure A quality measure definition
mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
mea-1: Stratifier SHALL be either a single criteria or a set of criteria components
... 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.

... group S 0..* BackboneElement Population criteria group
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... population SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... criteria 1..1 Expression The criteria that defines this population
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... criteria 1..1 Expression Component of how the measure should be stratified
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... criteria 1..1 Expression Expression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Measure.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMeasureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMeasureIf 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-4errorMeasureIf 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-5errorMeasureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMeasureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mea-0warningMeasureName 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-1errorMeasureStratifier SHALL be either a single criteria or a set of criteria components
: group.stratifier.all((code | description | criteria).exists() xor component.exists())

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C 0..* Measure A quality measure definition
mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
mea-1: Stratifier SHALL be either a single criteria or a set of criteria components
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 SC 0..* BackboneElement Population criteria
elm-1: ELM measures must use text/cql-identifier for all population criteria
..... 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 SC 0..* BackboneElement Stratifier criteria for the measure
elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... 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 SC 0..* BackboneElement Stratifier criteria component for the measure
elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... 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 SC 0..* BackboneElement What other data should be reported with the measure
elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Measure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Measure.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
Measure.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
Measure.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Measure.topicexampleDefinitionTopic
http://hl7.org/fhir/ValueSet/definition-topic
from the FHIR Standard
Measure.scoringextensibleMeasureScoring
http://hl7.org/fhir/ValueSet/measure-scoring
from the FHIR Standard
Measure.compositeScoringextensibleCompositeMeasureScoring
http://hl7.org/fhir/ValueSet/composite-measure-scoring
from the FHIR Standard
Measure.typeextensibleMeasureType
http://hl7.org/fhir/ValueSet/measure-type
from the FHIR Standard
Measure.improvementNotationrequiredMeasureImprovementNotation
http://hl7.org/fhir/ValueSet/measure-improvement-notation|4.0.1
from the FHIR Standard
Measure.group.population.codeextensibleMeasurePopulationType
http://hl7.org/fhir/ValueSet/measure-population
from the FHIR Standard
Measure.supplementalData.usageextensibleMeasureDataUsage
http://hl7.org/fhir/ValueSet/measure-data-usage
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMeasureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMeasureIf 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-4errorMeasureIf 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-5errorMeasureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMeasureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
elm-1errorMeasure.group.populationELM measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
elm-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-3errorMeasure.group.stratifier.componentExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
elm-4errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mea-0warningMeasureName 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-1errorMeasureStratifier SHALL be either a single criteria or a set of criteria components
: group.stratifier.all((code | description | criteria).exists() xor component.exists())

This structure is derived from Measure

Summary

Mandatory: 1 element
Must-Support: 6 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron