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. package_name: hl7.fhir.uv.cqm derivation: constraint name: CQMComputableMeasure type: Measure elements: group: constraint: cmp-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()'} cmp-9: {human: Improvement notation must be specified for scoring types other than cohort, 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 in (''proportion'' | ''ratio'' | ''continuous-variable'') implies extension(''http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation'').exists()'} mustSupport: true index: 12 extensions: compositeScoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 17} scoringUnit: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', min: 0, max: 1, type: Extension, mustSupport: true, index: 15} type: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', min: 0, type: Extension, mustSupport: false, index: 19} component: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', min: 0, type: Extension, mustSupport: true, index: 18} scoringPrecision: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', min: 0, max: 1, type: Extension, index: 16} populationBasis: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', min: 0, max: 1, type: Extension, mustSupport: true, index: 13} riskAdjustment: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', min: 0, max: 1, type: Extension, mustSupport: false, index: 20} scoring: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', min: 0, max: 1, type: Extension, mustSupport: true, index: 14} improvementNotation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', min: 0, max: 1, type: Extension, mustSupport: true, index: 22} rateAggregation: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', min: 0, max: 1, type: Extension, mustSupport: false, index: 21} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis index: 13 slicing: slices: compositeScoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-compositeScoring', index: 17} min: 0 max: 1 scoringUnit: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringUnit', index: 15} min: 0 max: 1 type: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-type', index: 19} min: 0 component: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-component', index: 18} min: 0 scoringPrecision: match: {} schema: {type: Extension, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoringPrecision', index: 16} min: 0 max: 1 populationBasis: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', index: 13} min: 0 max: 1 riskAdjustment: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-riskAdjustment', index: 20} min: 0 max: 1 scoring: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-scoring', index: 14} min: 0 max: 1 improvementNotation: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-improvementNotation', index: 22} min: 0 max: 1 rateAggregation: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-rateAggregation', index: 21} min: 0 max: 1 code: {mustSupport: true, index: 23} description: {mustSupport: true, index: 24} population: mustSupport: true index: 25 elements: code: {mustSupport: true, index: 26} description: {mustSupport: true, index: 27} stratifier: mustSupport: true index: 28 extensions: appliesTo: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', min: 0, type: Extension, mustSupport: false, index: 29} elements: extension: type: Extension mustSupport: false url: http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo index: 29 slicing: slices: appliesTo: match: {} schema: {type: Extension, mustSupport: false, url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-appliesTo', index: 29} min: 0 code: {mustSupport: true, index: 30} description: {mustSupport: true, index: 31} component: mustSupport: true index: 32 elements: code: {mustSupport: true, index: 33} description: {mustSupport: true, index: 34} type: {mustSupport: true, index: 8} supplementalData: mustSupport: true index: 35 elements: code: {mustSupport: true, index: 36} usage: {mustSupport: true, index: 37} description: {mustSupport: true, index: 38} library: {type: canonical, mustSupport: true, index: 6} 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 max: 1 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 riskAdjustment: {mustSupport: false, index: 9} scoring: binding: {strength: extensible, valueSet: 'http://terminology.hl7.org/ValueSet/measure-scoring'} mustSupport: true index: 7 improvementNotation: binding: {strength: required, valueSet: 'http://terminology.hl7.org/ValueSet/measure-improvement-notation'} mustSupport: true index: 11 subject: short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device mustSupport: true choices: [] index: 5 rateAggregation: {mustSupport: false, index: 10} package_version: 1.0.0-ballot extensions: populationBasis: {url: 'http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis', min: 0, max: 1, 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