Quality Measure Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 6.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-measures/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/cqm/StructureDefinition/elm-measure-cqfm | Version: 4.0.0 | |||
Active as of 2024-11-19 | Computable Name: CQFMELMMeasure |
The CQFM ELM Measure Profile describes minimum expectations for an executable electronic Clinical Quality Measure (eCQM) that uses ELM (i.e. compiled CQL) to represent the logic of the measure.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Measure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | 0..* | Measure | A quality measure definition | |
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure |
group | S | 0..* | BackboneElement | Population criteria group |
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | C | 0..* | Measure | A quality measure definition mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation mea-1: Stratifier SHALL be either a single criteria or a set of criteria components |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure |
group | S | 0..* | BackboneElement | Population criteria group |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | The criteria that defines this population | |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Component of how the measure should be stratified | |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Expression describing additional data to be reported | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Measure.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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()) | |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
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 | C | 0..* | Measure | A quality measure definition mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation mea-1: Stratifier SHALL be either a single criteria or a set of criteria components | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 0..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the measure | ||||
version | Σ | 0..1 | string | Business version of the measure | ||||
name | ΣC | 0..1 | string | Name for this measure (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this measure (human friendly) | ||||
subtitle | 0..1 | string | Subordinate title of the measure | |||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
subject[x] | 0..1 | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a measure (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
subjectCodeableConcept | CodeableConcept | |||||||
subjectReference | Reference(Group) | |||||||
date | Σ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | Σ | 0..1 | markdown | Natural language description of the measure | ||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this measure is defined | |||||
usage | 0..1 | string | Describes the clinical usage of the measure | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
approvalDate | 0..1 | date | When the measure was approved by publisher | |||||
lastReviewDate | 0..1 | date | When the measure was last reviewed | |||||
effectivePeriod | Σ | 0..1 | Period | When the measure is expected to be used | ||||
topic | 0..* | CodeableConcept | The category of the measure, such as Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering. | |||||
author | 0..* | ContactDetail | Who authored the content | |||||
editor | 0..* | ContactDetail | Who edited the content | |||||
reviewer | 0..* | ContactDetail | Who reviewed the content | |||||
endorser | 0..* | ContactDetail | Who endorsed the content | |||||
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc. | |||||
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure | ||||
disclaimer | Σ | 0..1 | markdown | Disclaimer for use of the measure or its referenced content | ||||
scoring | Σ | 0..1 | CodeableConcept | proportion | ratio | continuous-variable | cohort Binding: MeasureScoring (extensible): The scoring type of the measure. | ||||
compositeScoring | Σ | 0..1 | CodeableConcept | opportunity | all-or-nothing | linear | weighted Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure. | ||||
type | Σ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible): The type of measure (includes codes from 2.16.840.1.113883.1.11.20368). | ||||
riskAdjustment | Σ | 0..1 | string | How risk adjustment is applied for this measure | ||||
rateAggregation | Σ | 0..1 | string | How is rate aggregation performed for this measure | ||||
rationale | Σ | 0..1 | markdown | Detailed description of why the measure exists | ||||
clinicalRecommendationStatement | Σ | 0..1 | markdown | Summary of clinical guidelines | ||||
improvementNotation | Σ | 0..1 | CodeableConcept | increase | decrease Binding: MeasureImprovementNotation (required): Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue. | ||||
definition | Σ | 0..* | markdown | Defined terms used in the measure documentation | ||||
guidance | Σ | 0..1 | markdown | Additional guidance for implementers | ||||
group | S | 0..* | BackboneElement | Population criteria group | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the group | |||||
description | 0..1 | string | Summary description | |||||
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible): The type of population. | |||||
description | 0..1 | string | The human readable description of this population criteria | |||||
criteria | 1..1 | Expression | The criteria that defines this population | |||||
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier | |||||
description | 0..1 | string | The human readable description of this stratifier | |||||
criteria | 0..1 | Expression | How the measure should be stratified | |||||
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier component | |||||
description | 0..1 | string | The human readable description of this stratifier component | |||||
criteria | 1..1 | Expression | Component of how the measure should be stratified | |||||
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the supplemental data | |||||
usage | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure. | |||||
description | 0..1 | string | The human readable description of this supplemental data | |||||
criteria | 1..1 | Expression | Expression describing additional data to be reported | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Measure.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Measure.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
Measure.subject[x] | extensible | SubjectTypehttp://hl7.org/fhir/ValueSet/subject-type from the FHIR Standard | ||||
Measure.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
Measure.topic | example | DefinitionTopichttp://hl7.org/fhir/ValueSet/definition-topic from the FHIR Standard | ||||
Measure.scoring | extensible | MeasureScoringhttp://hl7.org/fhir/ValueSet/measure-scoring from the FHIR Standard | ||||
Measure.compositeScoring | extensible | CompositeMeasureScoringhttp://hl7.org/fhir/ValueSet/composite-measure-scoring from the FHIR Standard | ||||
Measure.type | extensible | MeasureTypehttp://hl7.org/fhir/ValueSet/measure-type from the FHIR Standard | ||||
Measure.improvementNotation | required | MeasureImprovementNotationhttp://hl7.org/fhir/ValueSet/measure-improvement-notation|4.0.1 from the FHIR Standard | ||||
Measure.group.population.code | extensible | MeasurePopulationTypehttp://hl7.org/fhir/ValueSet/measure-population from the FHIR Standard | ||||
Measure.supplementalData.usage | extensible | MeasureDataUsagehttp://hl7.org/fhir/ValueSet/measure-data-usage from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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()) | |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
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 Measure
Differential View
This structure is derived from Measure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | 0..* | Measure | A quality measure definition | |
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure |
group | S | 0..* | BackboneElement | Population criteria group |
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Measure | C | 0..* | Measure | A quality measure definition mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation mea-1: Stratifier SHALL be either a single criteria or a set of criteria components |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure |
group | S | 0..* | BackboneElement | Population criteria group |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | The criteria that defines this population | |
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Component of how the measure should be stratified | |
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
criteria | 1..1 | Expression | Expression describing additional data to be reported | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Measure.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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()) | |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
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 | C | 0..* | Measure | A quality measure definition mea-0: Name should be usable as an identifier for the module by machine processing applications such as code generation mea-1: Stratifier SHALL be either a single criteria or a set of criteria components | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
url | Σ | 0..1 | uri | Canonical identifier for this measure, represented as a URI (globally unique) | ||||
identifier | Σ | 0..* | Identifier | Additional identifier for the measure | ||||
version | Σ | 0..1 | string | Business version of the measure | ||||
name | ΣC | 0..1 | string | Name for this measure (computer friendly) | ||||
title | Σ | 0..1 | string | Name for this measure (human friendly) | ||||
subtitle | 0..1 | string | Subordinate title of the measure | |||||
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
subject[x] | 0..1 | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: SubjectType (extensible): The possible types of subjects for a measure (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
subjectCodeableConcept | CodeableConcept | |||||||
subjectReference | Reference(Group) | |||||||
date | Σ | 0..1 | dateTime | Date last changed | ||||
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
description | Σ | 0..1 | markdown | Natural language description of the measure | ||||
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for measure (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
purpose | 0..1 | markdown | Why this measure is defined | |||||
usage | 0..1 | string | Describes the clinical usage of the measure | |||||
copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
approvalDate | 0..1 | date | When the measure was approved by publisher | |||||
lastReviewDate | 0..1 | date | When the measure was last reviewed | |||||
effectivePeriod | Σ | 0..1 | Period | When the measure is expected to be used | ||||
topic | 0..* | CodeableConcept | The category of the measure, such as Education, Treatment, Assessment, etc. Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering. | |||||
author | 0..* | ContactDetail | Who authored the content | |||||
editor | 0..* | ContactDetail | Who edited the content | |||||
reviewer | 0..* | ContactDetail | Who reviewed the content | |||||
endorser | 0..* | ContactDetail | Who endorsed the content | |||||
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc. | |||||
library | S | 1..1 | canonical(ELM JSON Library | ELM XML Library) | Logic used by the measure | ||||
disclaimer | Σ | 0..1 | markdown | Disclaimer for use of the measure or its referenced content | ||||
scoring | Σ | 0..1 | CodeableConcept | proportion | ratio | continuous-variable | cohort Binding: MeasureScoring (extensible): The scoring type of the measure. | ||||
compositeScoring | Σ | 0..1 | CodeableConcept | opportunity | all-or-nothing | linear | weighted Binding: CompositeMeasureScoring (extensible): The composite scoring method of the measure. | ||||
type | Σ | 0..* | CodeableConcept | process | outcome | structure | patient-reported-outcome | composite Binding: MeasureType (extensible): The type of measure (includes codes from 2.16.840.1.113883.1.11.20368). | ||||
riskAdjustment | Σ | 0..1 | string | How risk adjustment is applied for this measure | ||||
rateAggregation | Σ | 0..1 | string | How is rate aggregation performed for this measure | ||||
rationale | Σ | 0..1 | markdown | Detailed description of why the measure exists | ||||
clinicalRecommendationStatement | Σ | 0..1 | markdown | Summary of clinical guidelines | ||||
improvementNotation | Σ | 0..1 | CodeableConcept | increase | decrease Binding: MeasureImprovementNotation (required): Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue. | ||||
definition | Σ | 0..* | markdown | Defined terms used in the measure documentation | ||||
guidance | Σ | 0..1 | markdown | Additional guidance for implementers | ||||
group | S | 0..* | BackboneElement | Population criteria group | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the group | |||||
description | 0..1 | string | Summary description | |||||
population | SC | 0..* | BackboneElement | Population criteria elm-1: ELM measures must use text/cql-identifier for all population criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation Binding: MeasurePopulationType (extensible): The type of population. | |||||
description | 0..1 | string | The human readable description of this population criteria | |||||
criteria | 1..1 | Expression | The criteria that defines this population | |||||
stratifier | SC | 0..* | BackboneElement | Stratifier criteria for the measure elm-2: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier | |||||
description | 0..1 | string | The human readable description of this stratifier | |||||
criteria | 0..1 | Expression | How the measure should be stratified | |||||
component | SC | 0..* | BackboneElement | Stratifier criteria component for the measure elm-3: Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the stratifier component | |||||
description | 0..1 | string | The human readable description of this stratifier component | |||||
criteria | 1..1 | Expression | Component of how the measure should be stratified | |||||
supplementalData | SC | 0..* | BackboneElement | What other data should be reported with the measure elm-4: Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | 0..1 | CodeableConcept | Meaning of the supplemental data | |||||
usage | 0..* | CodeableConcept | supplemental-data | risk-adjustment-factor Binding: MeasureDataUsage (extensible): The intended usage for supplemental data elements in the measure. | |||||
description | 0..1 | string | The human readable description of this supplemental data | |||||
criteria | 1..1 | Expression | Expression describing additional data to be reported | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Measure.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Measure.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
Measure.subject[x] | extensible | SubjectTypehttp://hl7.org/fhir/ValueSet/subject-type from the FHIR Standard | ||||
Measure.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
Measure.topic | example | DefinitionTopichttp://hl7.org/fhir/ValueSet/definition-topic from the FHIR Standard | ||||
Measure.scoring | extensible | MeasureScoringhttp://hl7.org/fhir/ValueSet/measure-scoring from the FHIR Standard | ||||
Measure.compositeScoring | extensible | CompositeMeasureScoringhttp://hl7.org/fhir/ValueSet/composite-measure-scoring from the FHIR Standard | ||||
Measure.type | extensible | MeasureTypehttp://hl7.org/fhir/ValueSet/measure-type from the FHIR Standard | ||||
Measure.improvementNotation | required | MeasureImprovementNotationhttp://hl7.org/fhir/ValueSet/measure-improvement-notation|4.0.1 from the FHIR Standard | ||||
Measure.group.population.code | extensible | MeasurePopulationTypehttp://hl7.org/fhir/ValueSet/measure-population from the FHIR Standard | ||||
Measure.supplementalData.usage | extensible | MeasureDataUsagehttp://hl7.org/fhir/ValueSet/measure-data-usage from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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()) | |
elm-1 | error | Measure.group.population | ELM measures must use text/cql-identifier for all population criteria : criteria.language = 'text/cql-identifier' | |
elm-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') | |
elm-3 | error | Measure.group.stratifier.component | Executable measures must use text/cql-identifier or text/fhirpath for all stratifier component criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
elm-4 | error | Measure.supplementalData | Executable measures must use text/cql-identifier or text/fhirpath for all supplemental data criteria : criteria.language in ('text/cql-identifier' | 'text/fhirpath') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
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 Measure
Other representations of profile: CSV, Excel, Schematron