Quality Measure Implementation Guide (STU3)
3.0.0 - STU 3 US

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v3.0.0: STU3) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CQFM Executable Measure

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

The CQFM Executable Measure Profile describes minimum expectations for an executable electronic Clinical Quality Measure (eCQM), including a reference to an executable library, and restricted to the use of identifier-based expressions only for all criteria.

Usage:

Formal Views of Profile Content

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

This structure is derived from CQFMMeasure

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

This structure is derived from CQFMMeasure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure S1..1CQFMMeasureA quality measure definition
... library S0..1canonical(CQFM Executable Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
... group S0..*BackboneElementPopulation criteria group
.... population SI0..*BackboneElementPopulation criteria
exc-1: Executable measures must use text/cql-identifier for all population criteria
.... stratifier SI0..*BackboneElementStratifier criteria for the measure
exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... component SI0..*BackboneElementStratifier criteria component for the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
... supplementalData SI0..*BackboneElementWhat other data should be reported with the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure SI1..1CQFMMeasureA quality measure definition
... id Σ0..1stringLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... Slices for 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
... cqfm-artifactComment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... cqfm-allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... cqfm-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 ΣI1..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 SI0..1canonical(CQFM Executable Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
... 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 SI0..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 group
.... description 0..1stringSummary description
.... population SI0..*BackboneElementPopulation criteria
exc-1: Executable measures must use text/cql-identifier for all population 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 SI1..1ExpressionThe criteria that defines this population
.... stratifier SI0..*BackboneElementStratifier criteria for the measure
exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier 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 0..1CodeableConceptMeaning of the stratifier
..... description 0..1stringThe human readable description of this stratifier
..... criteria SI0..1ExpressionHow the measure should be stratified
..... component SI0..*BackboneElementStratifier criteria component for the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... 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 SI0..*BackboneElementWhat other data should be reported with the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data 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 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure I1..1CQFMMeasureA quality measure definition
... meta Σ1..1MetaMetadata about the resource
.... profile Σ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
... cqfm-artifactComment 0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... cqfm-allocation 0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... identifier Σ0..*IdentifierAdditional identifier for the measure
... title Σ0..1stringName for this measure (human friendly)
... date Σ0..1dateTimeDate last changed
... contact Σ0..*ContactDetailContact details for the publisher
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for measure (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... library I0..1canonical(CQFM Executable Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
... type Σ0..*CodeableConceptprocess | outcome | structure | patient-reported-outcome | composite
Binding: MeasureType (extensible)
... group 0..*BackboneElementPopulation criteria group
.... id I0..1stringUnique id for inter-element referencing
.... population I0..*BackboneElementPopulation criteria
exc-1: Executable measures must use text/cql-identifier for all population criteria
..... id 1..1stringUnique id for inter-element referencing
..... code 1..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: MeasurePopulationType (extensible)
..... criteria I1..1ExpressionThe criteria that defines this population
.... stratifier I0..*BackboneElementStratifier criteria for the measure
exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... id 1..1stringUnique id for inter-element referencing
..... criteria I0..1ExpressionHow the measure should be stratified
..... component I0..*BackboneElementStratifier criteria component for the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
... supplementalData I0..*BackboneElementWhat other data should be reported with the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
.... id 1..1stringUnique id for inter-element referencing
.... code 0..1CodeableConceptMeaning of the supplemental data
Binding: MeasureDataUsage (extensible)

doco Documentation for this format

This structure is derived from CQFMMeasure

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from CQFMMeasure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure S1..1CQFMMeasureA quality measure definition
... library S0..1canonical(CQFM Executable Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
... group S0..*BackboneElementPopulation criteria group
.... population SI0..*BackboneElementPopulation criteria
exc-1: Executable measures must use text/cql-identifier for all population criteria
.... stratifier SI0..*BackboneElementStratifier criteria for the measure
exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
..... component SI0..*BackboneElementStratifier criteria component for the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
... supplementalData SI0..*BackboneElementWhat other data should be reported with the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Measure SI1..1CQFMMeasureA quality measure definition
... id Σ0..1stringLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... Slices for 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
... cqfm-artifactComment S0..*(Complex)Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment
... cqfm-allocation S0..1markdownAllocation guidance
URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-allocation
... cqfm-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 ΣI1..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 SI0..1canonical(CQFM Executable Library)CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary.
... 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 SI0..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 group
.... description 0..1stringSummary description
.... population SI0..*BackboneElementPopulation criteria
exc-1: Executable measures must use text/cql-identifier for all population 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 SI1..1ExpressionThe criteria that defines this population
.... stratifier SI0..*BackboneElementStratifier criteria for the measure
exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier 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 0..1CodeableConceptMeaning of the stratifier
..... description 0..1stringThe human readable description of this stratifier
..... criteria SI0..1ExpressionHow the measure should be stratified
..... component SI0..*BackboneElementStratifier criteria component for the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria
...... 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 SI0..*BackboneElementWhat other data should be reported with the measure
exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data 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 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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Measure.meta.securityextensibleAll Security Labels
Measure.meta.tagexampleCommonTags
Measure.languagepreferredCommonLanguages
Max Binding: AllLanguages
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

IdGradePathDetailsRequirements
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()
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())
ele-1errorMeasure.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.meta.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.meta.versionIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.lastUpdatedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.securityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.meta.tagAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.extension:commentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.extension:commentMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.extension:allocationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.extension:allocationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.extension:softwaresystemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.extension:softwaresystemMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.subtitleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.subject[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.usageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.approvalDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.lastReviewDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.effectivePeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.topicAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.editorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.reviewerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.endorserAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.relatedArtifactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.libraryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorMeasure.disclaimerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.scoringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.compositeScoringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.riskAdjustmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.rateAggregationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.rationaleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.clinicalRecommendationStatementAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.improvementNotationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.guidanceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.groupAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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-')
ele-1errorMeasure.group.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.populationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
exc-1errorMeasure.group.populationExecutable measures must use text/cql-identifier for all population criteria
: criteria.language = 'text/cql-identifier'
ele-1errorMeasure.group.population.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.population.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.population.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.population.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.population.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.population.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.population.criteriaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorMeasure.group.stratifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
exc-2errorMeasure.group.stratifierExecutable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ele-1errorMeasure.group.stratifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.stratifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.stratifier.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.stratifier.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.stratifier.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.stratifier.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.stratifier.criteriaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorMeasure.group.stratifier.componentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
exc-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')
ele-1errorMeasure.group.stratifier.component.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.stratifier.component.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.stratifier.component.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.group.stratifier.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.group.stratifier.component.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.stratifier.component.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.group.stratifier.component.criteriaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.supplementalDataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cqm-6warningMeasure.supplementalDataSupplemental data SHALL use either criteria or path
: criteria.exists() or path.exists()
exc-3errorMeasure.supplementalDataExecutable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria
: criteria.language in ('text/cql-identifier' | 'text/fhirpath')
ele-1errorMeasure.supplementalData.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.supplementalData.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.supplementalData.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMeasure.supplementalData.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMeasure.supplementalData.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.supplementalData.usageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.supplementalData.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMeasure.supplementalData.criteriaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())