description: The CQM Computable Measure Profile describes minimum expectations for a computable electronic Quality Measure (QM), including the use of a computable library. For more information on the usage of this profile, refer to the Profiles and Packaging pages in this implementation guide. Implementations SHOULD support using the `id` elements of group, population, stratifier, and supplementalData as a backwards-compatible mechanism for linking between Measure and MeasureReport package_name: hl7.fhir.uv.cqm derivation: constraint name: CQMComputableMeasure type: Measure elements: group: constraint: comp-8: {human: Scoring unit may only be specified at the root if the scoring is also specified at the root, severity: error, expression: 'extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit'').exists() implies extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring'').exists()'} comp-9: {human: 'If scoring is specified on the group and the scoring type is ''proportion'', ''ratio'', or ''continuous-variable'' then the improvementNotation element is required.', severity: error, expression: 'extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring'').exists() and extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring'').value.coding.code in (''proportion'' | ''ratio'' | ''continuous-variable'') implies extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation'').exists()'} mustSupport: true index: 14 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId', min: 1, max: 1, type: Extension, short: Unique id of the group, mustSupport: true, index: 15} compositeScoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 20} scoringUnit: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', min: 0, max: 1, type: Extension, mustSupport: true, index: 18} type: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', min: 0, type: Extension, mustSupport: false, index: 22} component: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', min: 0, type: Extension, mustSupport: true, index: 21} scoringPrecision: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', min: 0, max: 1, type: Extension, index: 19} populationBasis: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', min: 0, max: 1, type: Extension, mustSupport: true, index: 16} riskAdjustment: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', min: 0, max: 1, type: Extension, mustSupport: false, index: 23} scoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 17} improvementNotation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', min: 0, max: 1, type: Extension, mustSupport: true, index: 25} rateAggregation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', min: 0, max: 1, type: Extension, mustSupport: false, index: 24} elements: extension: type: Extension short: Unique id of the group mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId index: 15 slicing: slices: linkId: match: {} schema: {type: Extension, short: Unique id of the group, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId', index: 15} min: 1 max: 1 compositeScoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', index: 20} min: 0 max: 1 scoringUnit: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', index: 18} min: 0 max: 1 type: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', index: 22} min: 0 component: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', index: 21} min: 0 scoringPrecision: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', index: 19} min: 0 max: 1 populationBasis: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', index: 16} min: 0 max: 1 riskAdjustment: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', index: 23} min: 0 max: 1 scoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', index: 17} min: 0 max: 1 improvementNotation: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', index: 25} min: 0 max: 1 rateAggregation: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', index: 24} min: 0 max: 1 code: {mustSupport: true, index: 26} description: {mustSupport: true, index: 27} population: mustSupport: true index: 28 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId', min: 1, max: 1, type: Extension, short: Unique id of the population, mustSupport: true, index: 29} supportingEvidenceDefinition: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-supportingEvidenceDefinition', min: 0, max: 1, type: Extension, mustSupport: true, index: 30} elements: extension: type: Extension short: Unique id of the population mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId index: 29 slicing: slices: linkId: match: {} schema: {type: Extension, short: Unique id of the population, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId', index: 29} min: 1 max: 1 supportingEvidenceDefinition: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-supportingEvidenceDefinition', index: 30} min: 0 max: 1 code: {mustSupport: true, index: 31} description: {mustSupport: true, index: 32} stratifier: mustSupport: true index: 33 extensions: appliesTo: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', min: 0, type: Extension, mustSupport: false, index: 34} linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.linkId', min: 1, max: 1, type: Extension, short: Unique id of the stratifier, mustSupport: true, index: 35} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 36} elements: extension: type: Extension mustSupport: false url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo index: 34 slicing: slices: appliesTo: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', index: 34} min: 0 linkId: match: {} schema: {type: Extension, short: Unique id of the stratifier, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.linkId', index: 35} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 36} min: 0 max: 1 code: binding: {strength: preferred, valueSet: 'http://terminology.hl7.org/ValueSet/measure-stratifier-type'} mustSupport: true index: 37 description: {mustSupport: true, index: 38} component: mustSupport: true index: 39 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId', min: 1, max: 1, type: Extension, short: Unique id of the stratifier component, mustSupport: true, index: 40} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 41} elements: extension: type: Extension short: Unique id of the stratifier component mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId index: 40 slicing: slices: linkId: match: {} schema: {type: Extension, short: Unique id of the stratifier component, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId', index: 40} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 41} min: 0 max: 1 code: binding: {strength: preferred, valueSet: 'http://terminology.hl7.org/ValueSet/measure-stratifier-type'} mustSupport: true index: 42 description: {mustSupport: true, index: 43} type: isModifier: false short: Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. index: 10 type: CodeableConcept mustSupport: true array: true binding: {strength: extensible, valueSet: 'http://terminology.hl7.org/ValueSet/v3-ObservationMeasureType'} base: {max: '*', min: 0, path: Measure.type} isSummary: true supplementalData: mustSupport: true index: 44 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId', min: 1, max: 1, type: Extension, short: Unique id of the supplemental data, mustSupport: true, index: 45} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 46} elements: extension: type: Extension short: Unique id of the supplemental data mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId index: 45 slicing: slices: linkId: match: {} schema: {type: Extension, short: Unique id of the supplemental data, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId', index: 45} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 46} min: 0 max: 1 code: {mustSupport: true, index: 47} usage: {mustSupport: true, index: 48} description: {mustSupport: true, index: 49} library: {type: canonical, mustSupport: true, index: 8} extension: type: Extension mustSupport: true url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis index: 0 slicing: slices: populationBasis: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', index: 0} min: 0 scoringUnit: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', index: 1} min: 0 max: 1 effectiveDataRequirements: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements', index: 2} min: 0 max: 1 scoringPrecision: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', index: 3} min: 0 max: 1 reportingTiming: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-reportingTiming', index: 4} min: 0 max: 1 usage: {mustSupport: true, index: 7} riskAdjustment: {mustSupport: false, index: 11} scoring: binding: {strength: extensible, valueSet: 'http://terminology.hl7.org/ValueSet/measure-scoring'} mustSupport: true index: 9 improvementNotation: binding: {strength: required, valueSet: 'http://terminology.hl7.org/ValueSet/measure-improvement-notation'} mustSupport: true index: 13 subject: short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device mustSupport: true choices: [] index: 6 rateAggregation: {mustSupport: false, index: 12} package_version: 2.0.0-ballot extensions: populationBasis: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', min: 0, type: Extension, mustSupport: true, index: 0} scoringUnit: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', min: 0, max: 1, type: Extension, mustSupport: true, index: 1} effectiveDataRequirements: {url: 'http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements', min: 0, max: 1, type: Extension, mustSupport: true, index: 2} scoringPrecision: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', min: 0, max: 1, type: Extension, index: 3} reportingTiming: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-reportingTiming', min: 0, max: 1, type: Extension, index: 4} class: profile kind: resource url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-computablemeasure base: http://hl7.org/fhir/StructureDefinition/Measure version: 1.0.0