Quality Measure Implementation Guide
1.0.0-ballot - ballot International 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 1.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 CQL Measure

Official URL: http://hl7.org/fhir/uv/cqfmeasures/StructureDefinition/cql-measure-cqfm Version: 4.0.0
Active as of 2024-12-10 Computable Name: CQFMCQLMeasure

The CQFM CQL Measure Profile describes minimum expectations for a computable electronic Quality Measure (QM) that uses Clinical Quality Language to represent computable logic in 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 S 0..* Measure A quality measure definition
... library S 0..1 canonical(CQL Library) Logic used by the measure
... group S 0..* BackboneElement Population criteria group
.... population SC 0..* BackboneElement Population criteria
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all criteria
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
cql-33: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
cql-34: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
cql-35: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure SC 0..* Measure A quality measure definition
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
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
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... group S 0..* BackboneElement Population criteria group
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... population SC 0..* BackboneElement Population criteria
ele-1: All FHIR elements must have a @value or children
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... criteria 1..1 Expression The criteria that defines this population
ele-1: All FHIR elements must have a @value or children
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
ele-1: All FHIR elements must have a @value or children
cql-33: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
ele-1: All FHIR elements must have a @value or children
cql-34: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... criteria 1..1 Expression Component of how the measure should be stratified
ele-1: All FHIR elements must have a @value or children
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
ele-1: All FHIR elements must have a @value or children
cql-35: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... criteria 1..1 Expression Expression describing additional data to be reported
ele-1: All FHIR elements must have a @value or children

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
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
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())
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 SC 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 0..1 canonical(CQL 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
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all 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
cql-33: CQL measures must use text/cql-expression, 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
cql-34: CQL measures must use text/cql-expression, 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
cql-35: CQL measures must use text/cql-expression, 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
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
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())
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

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Measure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure S 0..* Measure A quality measure definition
... library S 0..1 canonical(CQL Library) Logic used by the measure
... group S 0..* BackboneElement Population criteria group
.... population SC 0..* BackboneElement Population criteria
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all criteria
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
cql-33: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
cql-34: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
cql-35: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure SC 0..* Measure A quality measure definition
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
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
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... group S 0..* BackboneElement Population criteria group
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... population SC 0..* BackboneElement Population criteria
ele-1: All FHIR elements must have a @value or children
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... criteria 1..1 Expression The criteria that defines this population
ele-1: All FHIR elements must have a @value or children
.... stratifier SC 0..* BackboneElement Stratifier criteria for the measure
ele-1: All FHIR elements must have a @value or children
cql-33: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... component SC 0..* BackboneElement Stratifier criteria component for the measure
ele-1: All FHIR elements must have a @value or children
cql-34: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... criteria 1..1 Expression Component of how the measure should be stratified
ele-1: All FHIR elements must have a @value or children
... supplementalData SC 0..* BackboneElement What other data should be reported with the measure
ele-1: All FHIR elements must have a @value or children
cql-35: CQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... criteria 1..1 Expression Expression describing additional data to be reported
ele-1: All FHIR elements must have a @value or children

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
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
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())
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 SC 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 0..1 canonical(CQL 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
cql-32: Computable measures must use text/cql-expression or text/cql-identifier for all 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
cql-33: CQL measures must use text/cql-expression, 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
cql-34: CQL measures must use text/cql-expression, 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
cql-35: CQL measures must use text/cql-expression, 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
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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
cql-32errorMeasure.group.populationComputable measures must use text/cql-expression or text/cql-identifier for all criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier')
cql-33errorMeasure.group.stratifierCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-34errorMeasure.group.stratifier.componentCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all stratifier component criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
cql-35errorMeasure.supplementalDataCQL measures must use text/cql-expression, text/cql-identifier, or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-expression' | 'text/cql-identifier' | 'text/fhirpath')
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())
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

Must-Support: 6 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron