This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v5.0.0-ballot: STU5 (v5.0.0) Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 4.0.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm | Version: 5.0.0-ballot | |||
Active as of 2023-12-15 | 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:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CQFMMeasure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | S | 1..1 | CQFMMeasure | A quality measure definition |
library | S | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. |
group | S | 0..* | BackboneElement | Population criteria group |
population | SC | 0..* | BackboneElement | Population criteria exc-1: Executable measures must use text/cql-identifier for all population criteria |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | SC | 1..1 | CQFMMeasure | A quality measure definition |
meta | SΣ | 1..1 | Meta | Metadata about the resource |
profile | SΣ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
comment | S | 0..* | (Complex) | Additional documentation, review, or usage guidance URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment |
softwaresystem | S | 0..* | Reference(CQFM Device) | Extension URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 1..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the measure |
version | Σ | 1..1 | string | Business version of the measure |
name | ΣC | 1..1 | string | Name for this measure (computer friendly) |
title | SΣ | 0..1 | string | Name for this measure (human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
experimental | Σ | 1..1 | boolean | For testing purposes, not real usage |
date | SΣ | 0..1 | dateTime | Date last changed |
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 1..1 | markdown | Natural language description of the measure |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. |
library | SC | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. |
type | SΣ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible) |
group | S | 0..* | BackboneElement | Population criteria group |
id | SC | 0..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
population | SC | 0..* | BackboneElement | Population criteria exc-1: Executable measures must use text/cql-identifier for all population criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | S | 1..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible) |
criteria | SC | 1..1 | Expression | The criteria that defines this population. The alternativeExpression extension may be used to provide alternative formulations of the expression |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | SC | 1..1 | Expression | How the measure should be stratified. The alternativeExpression extension may be used to provide alternative formulations of the expression |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Component of how the measure should be stratified | |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
includeInReportType | 0..* | code | The type of report the element should be included in URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType Binding: MeasureReportType (required): The type of report the element should be included in | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | S | 0..1 | CodeableConcept | Meaning of the supplemental data Binding: MeasureSupplementalData (preferred) |
criteria | 1..1 | Expression | Expression describing additional data to be reported | |
Documentation for this format |
Path | Conformance | ValueSet |
Measure.status | required | PublicationStatus |
Measure.jurisdiction | extensible | Jurisdiction ValueSet |
Measure.type | extensible | MeasureType |
Measure.group.population.code | extensible | MeasurePopulationType |
Measure.supplementalData.code | preferred | MeasureSupplementalData |
Id | Grade | Path(s) | Details | Requirements |
cqm-2 | warning | Measure.library | Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure) : exists() | |
cqm-3 | warning | Measure.group.id | Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group : startsWith('group-') | |
cqm-4 | warning | Measure.group.population.criteria | Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
cqm-5 | warning | Measure.group.stratifier.criteria | Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Measure | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components : group.stratifier.all((code | description | criteria).exists() xor component.exists()) |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Measure | SC | 1..1 | CQFMMeasure | A quality measure definition | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | SΣ | 1..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | Version specific identifier | ||||
lastUpdated | Σ | 0..1 | instant | When the resource version last changed | ||||
source | Σ | 0..1 | uri | Identifies where the resource comes from | ||||
profile | SΣ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | Tags 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..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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
comment | S | 0..* | (Complex) | Additional documentation, review, or usage guidance URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment | ||||
softwaresystem | S | 0..* | Reference(CQFM Device) | Extension URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) | ||||
identifier | SΣ | 0..* | Identifier | Additional identifier for the measure | ||||
version | Σ | 1..1 | string | Business version of the measure | ||||
name | ΣC | 1..1 | string | Name for this measure (computer friendly) | ||||
title | SΣ | 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 | Σ | 1..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 | SΣ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) | ||||
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | Σ | 1..1 | markdown | Natural language description of the measure | ||||
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | SΣ | 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 | SC | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. | ||||
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 | SΣ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible) | ||||
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 | SC | 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 exc-1: Executable measures must use text/cql-identifier for all population criteria | ||||
id | S | 1..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 | S | 1..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible) | ||||
description | 0..1 | string | The human readable description of this population criteria | |||||
criteria | SC | 1..1 | Expression | The criteria that defines this population. The alternativeExpression extension may be used to provide alternative formulations of the expression | ||||
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | ||||
id | S | 1..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 | SC | 1..1 | Expression | How the measure should be stratified. The alternativeExpression extension may be used to provide alternative formulations of the expression | ||||
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier component | |||||
description | 0..1 | string | The human readable description of this stratifier component | |||||
criteria | 1..1 | Expression | Component of how the measure should be stratified | |||||
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | ||||
id | S | 1..1 | string | Unique id for inter-element referencing | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
includeInReportType | 0..* | code | The type of report the element should be included in URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType Binding: MeasureReportType (required): The type of report the element should be included in | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | S | 0..1 | CodeableConcept | Meaning of the supplemental data Binding: MeasureSupplementalData (preferred) | ||||
usage | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (preferred) | |||||
description | 0..1 | string | The human readable description of this supplemental data | |||||
criteria | 1..1 | Expression | Expression describing additional data to be reported | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Measure.meta.security | extensible | All Security Labels | ||||
Measure.meta.tag | example | CommonTags | ||||
Measure.language | preferred | CommonLanguages
| ||||
Measure.status | required | PublicationStatus | ||||
Measure.subject[x] | extensible | SubjectType | ||||
Measure.jurisdiction | extensible | Jurisdiction ValueSet | ||||
Measure.topic | example | DefinitionTopic | ||||
Measure.scoring | extensible | MeasureScoring | ||||
Measure.compositeScoring | extensible | CompositeMeasureScoring | ||||
Measure.type | extensible | MeasureType | ||||
Measure.improvementNotation | required | MeasureImprovementNotation | ||||
Measure.group.population.code | extensible | MeasurePopulationType | ||||
Measure.supplementalData.code | preferred | MeasureSupplementalData | ||||
Measure.supplementalData.usage | preferred | MeasureDataUsage |
Id | Grade | Path(s) | Details | Requirements |
cqm-2 | warning | Measure.library | Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure) : exists() | |
cqm-3 | warning | Measure.group.id | Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group : startsWith('group-') | |
cqm-4 | warning | Measure.group.population.criteria | Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
cqm-5 | warning | Measure.group.stratifier.criteria | Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Measure | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components : group.stratifier.all((code | description | criteria).exists() xor component.exists()) |
This structure is derived from CQFMMeasure
Differential View
This structure is derived from CQFMMeasure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | S | 1..1 | CQFMMeasure | A quality measure definition |
library | S | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. |
group | S | 0..* | BackboneElement | Population criteria group |
population | SC | 0..* | BackboneElement | Population criteria exc-1: Executable measures must use text/cql-identifier for all population criteria |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | SC | 1..1 | CQFMMeasure | A quality measure definition |
meta | SΣ | 1..1 | Meta | Metadata about the resource |
profile | SΣ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
comment | S | 0..* | (Complex) | Additional documentation, review, or usage guidance URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment |
softwaresystem | S | 0..* | Reference(CQFM Device) | Extension URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 1..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the measure |
version | Σ | 1..1 | string | Business version of the measure |
name | ΣC | 1..1 | string | Name for this measure (computer friendly) |
title | SΣ | 0..1 | string | Name for this measure (human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
experimental | Σ | 1..1 | boolean | For testing purposes, not real usage |
date | SΣ | 0..1 | dateTime | Date last changed |
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 1..1 | markdown | Natural language description of the measure |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. |
library | SC | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. |
type | SΣ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible) |
group | S | 0..* | BackboneElement | Population criteria group |
id | SC | 0..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
population | SC | 0..* | BackboneElement | Population criteria exc-1: Executable measures must use text/cql-identifier for all population criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | S | 1..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible) |
criteria | SC | 1..1 | Expression | The criteria that defines this population. The alternativeExpression extension may be used to provide alternative formulations of the expression |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | SC | 1..1 | Expression | How the measure should be stratified. The alternativeExpression extension may be used to provide alternative formulations of the expression |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Component of how the measure should be stratified | |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
id | S | 1..1 | string | Unique id for inter-element referencing |
includeInReportType | 0..* | code | The type of report the element should be included in URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType Binding: MeasureReportType (required): The type of report the element should be included in | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | S | 0..1 | CodeableConcept | Meaning of the supplemental data Binding: MeasureSupplementalData (preferred) |
criteria | 1..1 | Expression | Expression describing additional data to be reported | |
Documentation for this format |
Path | Conformance | ValueSet |
Measure.status | required | PublicationStatus |
Measure.jurisdiction | extensible | Jurisdiction ValueSet |
Measure.type | extensible | MeasureType |
Measure.group.population.code | extensible | MeasurePopulationType |
Measure.supplementalData.code | preferred | MeasureSupplementalData |
Id | Grade | Path(s) | Details | Requirements |
cqm-2 | warning | Measure.library | Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure) : exists() | |
cqm-3 | warning | Measure.group.id | Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group : startsWith('group-') | |
cqm-4 | warning | Measure.group.population.criteria | Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
cqm-5 | warning | Measure.group.stratifier.criteria | Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Measure | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components : group.stratifier.all((code | description | criteria).exists() xor component.exists()) |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Measure | SC | 1..1 | CQFMMeasure | A quality measure definition | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | SΣ | 1..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | Version specific identifier | ||||
lastUpdated | Σ | 0..1 | instant | When the resource version last changed | ||||
source | Σ | 0..1 | uri | Identifies where the resource comes from | ||||
profile | SΣ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | Tags 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..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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
comment | S | 0..* | (Complex) | Additional documentation, review, or usage guidance URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-artifactComment | ||||
softwaresystem | S | 0..* | Reference(CQFM Device) | Extension URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 1..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) | ||||
identifier | SΣ | 0..* | Identifier | Additional identifier for the measure | ||||
version | Σ | 1..1 | string | Business version of the measure | ||||
name | ΣC | 1..1 | string | Name for this measure (computer friendly) | ||||
title | SΣ | 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 | Σ | 1..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 | SΣ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) | ||||
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | Σ | 1..1 | markdown | Natural language description of the measure | ||||
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | SΣ | 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 | SC | 0..1 | canonical(CQFM Executable Library) | CQFMMeasures are not required to use a Library, but if they do, it SHALL be a CQFMLibrary. | ||||
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 | SΣ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible) | ||||
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 | SC | 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 exc-1: Executable measures must use text/cql-identifier for all population criteria | ||||
id | S | 1..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 | S | 1..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible) | ||||
description | 0..1 | string | The human readable description of this population criteria | |||||
criteria | SC | 1..1 | Expression | The criteria that defines this population. The alternativeExpression extension may be used to provide alternative formulations of the expression | ||||
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure exc-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | ||||
id | S | 1..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 | SC | 1..1 | Expression | How the measure should be stratified. The alternativeExpression extension may be used to provide alternative formulations of the expression | ||||
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier component | |||||
description | 0..1 | string | The human readable description of this stratifier component | |||||
criteria | 1..1 | Expression | Component of how the measure should be stratified | |||||
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure exc-3: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | ||||
id | S | 1..1 | string | Unique id for inter-element referencing | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
includeInReportType | 0..* | code | The type of report the element should be included in URL: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType Binding: MeasureReportType (required): The type of report the element should be included in | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | S | 0..1 | CodeableConcept | Meaning of the supplemental data Binding: MeasureSupplementalData (preferred) | ||||
usage | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (preferred) | |||||
description | 0..1 | string | The human readable description of this supplemental data | |||||
criteria | 1..1 | Expression | Expression describing additional data to be reported | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Measure.meta.security | extensible | All Security Labels | ||||
Measure.meta.tag | example | CommonTags | ||||
Measure.language | preferred | CommonLanguages
| ||||
Measure.status | required | PublicationStatus | ||||
Measure.subject[x] | extensible | SubjectType | ||||
Measure.jurisdiction | extensible | Jurisdiction ValueSet | ||||
Measure.topic | example | DefinitionTopic | ||||
Measure.scoring | extensible | MeasureScoring | ||||
Measure.compositeScoring | extensible | CompositeMeasureScoring | ||||
Measure.type | extensible | MeasureType | ||||
Measure.improvementNotation | required | MeasureImprovementNotation | ||||
Measure.group.population.code | extensible | MeasurePopulationType | ||||
Measure.supplementalData.code | preferred | MeasureSupplementalData | ||||
Measure.supplementalData.usage | preferred | MeasureDataUsage |
Id | Grade | Path(s) | Details | Requirements |
cqm-2 | warning | Measure.library | Measures utilizing CQL SHALL reference one and only one CQL library (and that referenced library MUST be the primary library for the measure) : exists() | |
cqm-3 | warning | Measure.group.id | Group identifiers SHOULD use the convention: "group-[group number]", where [group number] corresponds with the group naming convention for the criteria within the group : startsWith('group-') | |
cqm-4 | warning | Measure.group.population.criteria | Group population criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
cqm-5 | warning | Measure.group.stratifier.criteria | Group stratifier criteria SHOULD be simple expression names found within the primary library for the measure. The criteria SHOULD NOT include a namespace. : expression.contains('.').not() | |
dom-2 | error | Measure | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Measure | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Measure | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Measure | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
exc-1 | error | Measure.group.population | Executable measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
exc-2 | error | Measure.group.stratifier | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
exc-3 | error | Measure.group.stratifier.component, Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
mea-0 | warning | Measure | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
mea-1 | error | Measure | Stratifier SHALL be either a single criteria or a set of criteria components : group.stratifier.all((code | description | criteria).exists() xor component.exists()) |
This structure is derived from CQFMMeasure
Other representations of profile: CSV, Excel, Schematron