Quality Measure Implementation Guide (STU3)
3.0.0 - ballot United States of America flag

Quality Measure Implementation Guide (STU3), published by Clinical Quality Information WG. This is not an authorized publication; it is the continuous build for version 3.0.0). 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 Measure

Official URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/measure-cqfm Version: 3.0.0
Active as of 2019-02-13 Computable Name: CQFMMeasure

The CQFM Measure Profile describes minimum expectations for defining an electronic Clinical Quality Measure (eCQM)

Usage:

Formal Views of Profile Content

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

This structure is derived from Shareable Measure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure 1..1Shareable MeasureA quality measure definition
... meta S1..1MetaMetadata about the resource
.... profile S1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... type S0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Measure.typeextensibleMeasureType
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C1..1Shareable MeasureA quality measure definition
... meta SΣ1..1MetaMetadata about the resource
.... profile SΣ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... softwaresystem S0..*Reference(CQFM Device)Extension
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ1..1uriCanonical identifier for this measure, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the measure
... version Σ1..1stringBusiness version of the measure
... name ΣC1..1stringName for this measure (computer friendly)
... title SΣ0..1stringName for this measure (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ1..1booleanFor testing purposes, not real usage
... date SΣ0..1dateTimeDate last changed
... publisher Σ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description Σ1..1markdownNatural language description of the measure
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for measure (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... type SΣ0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)
.... criteria 1..1ExpressionExpression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Measure.statusrequiredPublicationStatus
Measure.jurisdictionextensibleJurisdiction ValueSet
Measure.typeextensibleMeasureType
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.exists()
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 C1..1Shareable MeasureA quality measure definition
... id Σ0..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile SΣ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... softwaresystem S0..*Reference(CQFM Device)Extension
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ1..1uriCanonical identifier for this measure, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the measure
... version Σ1..1stringBusiness version of the measure
... name ΣC1..1stringName for this measure (computer friendly)
... title SΣ0..1stringName for this measure (human friendly)
... subtitle 0..1stringSubordinate title of the measure
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ1..1booleanFor testing purposes, not real usage
... subject[x] 0..1E.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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date SΣ0..1dateTimeDate last changed
... publisher Σ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description Σ1..1markdownNatural language description of the measure
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for measure (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this measure is defined
... usage 0..1stringDescribes the clinical usage of the measure
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the measure was approved by publisher
... lastReviewDate 0..1dateWhen the measure was last reviewed
... effectivePeriod Σ0..1PeriodWhen the measure is expected to be used
... topic 0..*CodeableConceptThe 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..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc.
... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... disclaimer Σ0..1markdownDisclaimer for use of the measure or its referenced content
... scoring Σ0..1CodeableConceptproportion | ratio | continuous-variable | cohort
Binding: MeasureScoring (extensible): The scoring type of the measure.

... compositeScoring Σ0..1CodeableConceptopportunity | all-or-nothing | linear | weighted
Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure.

... type SΣ0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... riskAdjustment Σ0..1stringHow risk adjustment is applied for this measure
... rateAggregation Σ0..1stringHow is rate aggregation performed for this measure
... rationale Σ0..1markdownDetailed description of why the measure exists
... clinicalRecommendationStatement Σ0..1markdownSummary of clinical guidelines
... improvementNotation Σ0..1CodeableConceptincrease | 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..*markdownDefined terms used in the measure documentation
... guidance Σ0..1markdownAdditional guidance for implementers
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 0..1CodeableConceptMeaning of the group
.... description 0..1stringSummary description
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... description 0..1stringThe human readable description of this population criteria
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code 0..1CodeableConceptMeaning of the stratifier
..... description 0..1stringThe human readable description of this stratifier
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
..... component 0..*BackboneElementStratifier criteria component for the measure
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 0..1CodeableConceptMeaning of the stratifier component
...... description 0..1stringThe human readable description of this stratifier component
...... criteria 1..1ExpressionComponent of how the measure should be stratified
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)
.... usage 0..*CodeableConceptsupplemental-data | risk-adjustment-factor
Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure.


.... description 0..1stringThe human readable description of this supplemental data
.... criteria 1..1ExpressionExpression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Measure.meta.securityextensibleAll Security Labels
Measure.meta.tagexampleCommonTags
Measure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Measure.statusrequiredPublicationStatus
Measure.subject[x]extensibleSubjectType
Measure.jurisdictionextensibleJurisdiction ValueSet
Measure.topicexampleDefinitionTopic
Measure.scoringextensibleMeasureScoring
Measure.compositeScoringextensibleCompositeMeasureScoring
Measure.typeextensibleMeasureType
Measure.improvementNotationrequiredMeasureImprovementNotation
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage
Measure.supplementalData.usageextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.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()

This structure is derived from Shareable Measure

Summary

Mandatory: 2 elements (4 nested mandatory elements)
Must-Support: 19 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from Shareable Measure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure 1..1Shareable MeasureA quality measure definition
... meta S1..1MetaMetadata about the resource
.... profile S1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... type S0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Measure.typeextensibleMeasureType
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure C1..1Shareable MeasureA quality measure definition
... meta SΣ1..1MetaMetadata about the resource
.... profile SΣ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... softwaresystem S0..*Reference(CQFM Device)Extension
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ1..1uriCanonical identifier for this measure, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the measure
... version Σ1..1stringBusiness version of the measure
... name ΣC1..1stringName for this measure (computer friendly)
... title SΣ0..1stringName for this measure (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ1..1booleanFor testing purposes, not real usage
... date SΣ0..1dateTimeDate last changed
... publisher Σ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description Σ1..1markdownNatural language description of the measure
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for measure (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... type SΣ0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)
.... criteria 1..1ExpressionExpression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Measure.statusrequiredPublicationStatus
Measure.jurisdictionextensibleJurisdiction ValueSet
Measure.typeextensibleMeasureType
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.exists()
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 C1..1Shareable MeasureA quality measure definition
... id Σ0..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies where the resource comes from
.... profile SΣ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... comment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... softwaresystem S0..*Reference(CQFM Device)Extension
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ1..1uriCanonical identifier for this measure, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the measure
... version Σ1..1stringBusiness version of the measure
... name ΣC1..1stringName for this measure (computer friendly)
... title SΣ0..1stringName for this measure (human friendly)
... subtitle 0..1stringSubordinate title of the measure
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ1..1booleanFor testing purposes, not real usage
... subject[x] 0..1E.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.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date SΣ0..1dateTimeDate last changed
... publisher Σ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description Σ1..1markdownNatural language description of the measure
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for measure (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this measure is defined
... usage 0..1stringDescribes the clinical usage of the measure
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the measure was approved by publisher
... lastReviewDate 0..1dateWhen the measure was last reviewed
... effectivePeriod Σ0..1PeriodWhen the measure is expected to be used
... topic 0..*CodeableConceptThe 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..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc.
... library SC0..1canonical(CQFM Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
cqm-2: Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
... disclaimer Σ0..1markdownDisclaimer for use of the measure or its referenced content
... scoring Σ0..1CodeableConceptproportion | ratio | continuous-variable | cohort
Binding: MeasureScoring (extensible): The scoring type of the measure.

... compositeScoring Σ0..1CodeableConceptopportunity | all-or-nothing | linear | weighted
Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure.

... type SΣ0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... riskAdjustment Σ0..1stringHow risk adjustment is applied for this measure
... rateAggregation Σ0..1stringHow is rate aggregation performed for this measure
... rationale Σ0..1markdownDetailed description of why the measure exists
... clinicalRecommendationStatement Σ0..1markdownSummary of clinical guidelines
... improvementNotation Σ0..1CodeableConceptincrease | 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..*markdownDefined terms used in the measure documentation
... guidance Σ0..1markdownAdditional guidance for implementers
... group S0..*BackboneElementPopulation criteria group
.... id SC0..1stringUnique id for inter-element referencing
cqm-3: Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 0..1CodeableConceptMeaning of the group
.... description 0..1stringSummary description
.... population S0..*BackboneElementPopulation criteria
..... id S1..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code S1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... description 0..1stringThe human readable description of this population criteria
..... criteria SC1..1ExpressionThe criteria that defines this population
cqm-4: Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
.... stratifier S0..*BackboneElementStratifier criteria for the measure
..... id S1..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... code 0..1CodeableConceptMeaning of the stratifier
..... description 0..1stringThe human readable description of this stratifier
..... criteria SC0..1ExpressionHow the measure should be stratified
cqm-5: Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
..... component 0..*BackboneElementStratifier criteria component for the measure
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 0..1CodeableConceptMeaning of the stratifier component
...... description 0..1stringThe human readable description of this stratifier component
...... criteria 1..1ExpressionComponent of how the measure should be stratified
... supplementalData SC0..*BackboneElementWhat other data should be reported with the measure
cqm-6: Supplemental data SHALL use either criteria or path
.... id S1..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)
.... usage 0..*CodeableConceptsupplemental-data | risk-adjustment-factor
Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure.


.... description 0..1stringThe human readable description of this supplemental data
.... criteria 1..1ExpressionExpression describing additional data to be reported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Measure.meta.securityextensibleAll Security Labels
Measure.meta.tagexampleCommonTags
Measure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Measure.statusrequiredPublicationStatus
Measure.subject[x]extensibleSubjectType
Measure.jurisdictionextensibleJurisdiction ValueSet
Measure.topicexampleDefinitionTopic
Measure.scoringextensibleMeasureScoring
Measure.compositeScoringextensibleCompositeMeasureScoring
Measure.typeextensibleMeasureType
Measure.improvementNotationrequiredMeasureImprovementNotation
Measure.group.population.codeextensibleMeasurePopulationType
Measure.supplementalData.codeextensibleMeasureDataUsage
Measure.supplementalData.usageextensibleMeasureDataUsage

Constraints

IdGradePath(s)DetailsRequirements
cqm-2warningMeasure.libraryMeasures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure)
: exists()
cqm-3warningMeasure.group.idGroup identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group
: value.startsWith('group-')
cqm-4warningMeasure.group.population.criteriaGroup population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-5warningMeasure.group.stratifier.criteriaGroup stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace.
: value.startsWith(library).not()
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.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()

This structure is derived from Shareable Measure

Summary

Mandatory: 2 elements (4 nested mandatory elements)
Must-Support: 19 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron