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: 13 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId', min: 1, max: 1, type: Extension, mustSupport: true, index: 14} compositeScoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 19} scoringUnit: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', min: 0, max: 1, type: Extension, mustSupport: true, index: 17} type: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', min: 0, type: Extension, mustSupport: false, index: 21} component: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', min: 0, type: Extension, mustSupport: true, index: 20} scoringPrecision: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', min: 0, max: 1, type: Extension, index: 18} populationBasis: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', min: 0, max: 1, type: Extension, mustSupport: true, index: 15} riskAdjustment: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', min: 0, max: 1, type: Extension, mustSupport: false, index: 22} scoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 16} improvementNotation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', min: 0, max: 1, type: Extension, mustSupport: true, index: 24} rateAggregation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', min: 0, max: 1, type: Extension, mustSupport: false, index: 23} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId index: 14 slicing: slices: linkId: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId', index: 14} min: 1 max: 1 compositeScoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', index: 19} min: 0 max: 1 scoringUnit: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', index: 17} min: 0 max: 1 type: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', index: 21} min: 0 component: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', index: 20} min: 0 scoringPrecision: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', index: 18} min: 0 max: 1 populationBasis: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', index: 15} min: 0 max: 1 riskAdjustment: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', index: 22} min: 0 max: 1 scoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', index: 16} min: 0 max: 1 improvementNotation: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', index: 24} min: 0 max: 1 rateAggregation: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', index: 23} min: 0 max: 1 code: {mustSupport: true, index: 25} description: {mustSupport: true, index: 26} population: mustSupport: true index: 27 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId', min: 1, max: 1, type: Extension, mustSupport: true, index: 28} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId index: 28 slicing: slices: linkId: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId', index: 28} min: 1 max: 1 code: {mustSupport: true, index: 29} description: {mustSupport: true, index: 30} stratifier: mustSupport: true index: 31 extensions: appliesTo: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', min: 0, type: Extension, mustSupport: false, index: 32} linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.linkId', min: 1, max: 1, type: Extension, mustSupport: true, index: 33} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 34} elements: extension: type: Extension mustSupport: false url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo index: 32 slicing: slices: appliesTo: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', index: 32} min: 0 linkId: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.linkId', index: 33} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 34} min: 0 max: 1 code: binding: {strength: preferred, valueSet: 'http://terminology.hl7.org/ValueSet/measure-stratifier-type'} mustSupport: true index: 35 description: {mustSupport: true, index: 36} component: mustSupport: true index: 37 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId', min: 1, max: 1, type: Extension, mustSupport: true, index: 38} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 39} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId index: 38 slicing: slices: linkId: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.stratifier.component.linkId', index: 38} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 39} min: 0 max: 1 code: binding: {strength: preferred, valueSet: 'http://terminology.hl7.org/ValueSet/measure-stratifier-type'} mustSupport: true index: 40 description: {mustSupport: true, index: 41} 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: 9 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: 42 extensions: linkId: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId', min: 1, max: 1, type: Extension, mustSupport: true, index: 43} valueSet: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', min: 0, max: 1, type: Extension, mustSupport: false, index: 44} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId index: 43 slicing: slices: linkId: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId', index: 43} min: 1 max: 1 valueSet: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-valueSet', index: 44} min: 0 max: 1 code: {mustSupport: true, index: 45} usage: {mustSupport: true, index: 46} description: {mustSupport: true, index: 47} library: {type: canonical, mustSupport: true, index: 7} 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 usage: {mustSupport: true, index: 6} riskAdjustment: {mustSupport: false, index: 10} scoring: binding: {strength: extensible, valueSet: 'http://terminology.hl7.org/ValueSet/measure-scoring'} mustSupport: true index: 8 improvementNotation: binding: {strength: required, valueSet: 'http://terminology.hl7.org/ValueSet/measure-improvement-notation'} mustSupport: true index: 12 subject: short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device mustSupport: true choices: [] index: 5 rateAggregation: {mustSupport: false, index: 11} package_version: 1.0.0 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} 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