Releases: CMSgov/qpp-measures-data
v8.0.0
This update adds strongly-typed return values to our package functions. This will impact TypeScript users who reference the qpp-measures-repo getter functions. This will not impact JavaScript users or anyone who bypasses the getter functions by referencing the package JSON files directly (not recommended).
We recommend updating as soon as possible, since future data changes will be in later versions building off of these updates. Actual function return data formatting is not changing, but the addition of strict typing will likely require some changes to your code to support it.
🔴 BREAKING CHANGES 🔴
This update adds typed return values to our package functions, which means your code will start erroring if it is expecting differently-formatted responses than our new types. We recommend looking through the following table for the functions your code references and refactoring to use our new types in your code.
Return Type Format Table
Function Name | Return Object/Value | Return Type Interface |
getValidPerformanceYears |
number[] |
number[] |
getProgramNames |
{
"mips": "mips",
"cpcPlus": "cpcPlus",
"pcf": "pcf",
"app1": "app1",
"DEFAULT": "mips",
"G0053": "G0053",
"G0054": "G0054",
"G0055": "G0055",
"G0056": "G0056",
"G0057": "G0057",
"G0058": "G0058",
"G0059": "G0059",
"M0001": "M0001",
"M0005": "M0005",
"M0002": "M0002",
"M0003": "M0003",
"M0004": "M0004",
"M1366": "M1366",
"M1367": "M1367",
"M1368": "M1368",
"M1369": "M1369",
"M1370": "M1370"
} Note: The | ProgramNames |
getBenchmarksData |
{ [year: number]: {
measureId: string;
benchmarkYear: number;
performanceYear: number;
submissionMethod: string;
isToppedOut?: boolean;
isHighPriority?: boolean;
isInverse?: boolean;
metricType?: string;
isToppedOutByProgram?: boolean;
percentiles?: {
"1": number;
"10": number;
"20": number;
"30": number;
"40": number;
"50": number;
"60": number;
"70": number;
"80": number;
"90": number;
"99": number;
};
deciles?: number[];
averagePerformanceRate?: number;
}[];
} | BenchmarksData |
getBenchmarksYears |
number[] |
number[] |
getBenchmarksExclusionReasons |
{
measureId: string;
submissionMethod: string;
performanceYear: number;
benchmarkYear: number;
reasonCodes: string[];
reasonDescriptions: string[];
}[] | BenchmarksExclusionReasons[] |
getBenchmarksNationalAverages |
{
measureId: string;
performanceYear: number;
benchmarkYear: number;
groupNationalAverage: number;
individualNationalAverage: number;
}[] | CostNationalAverage |
getMeasuresData |
The data type is to large and branching to document here, the link included shows the entire type structure. We also expose the individual measure types to use throughout your code: | Measure |
getClinicalClusterData |
{
measureId: string;
submissionMethod: string;
firstPerformanceYear: number;
lastPerformanceYear: number | null;
specialtySets?: {
name: string;
measureIds: string[];
};
clinicalClusters?: {
name: string;
measureIds: string[];
};
}[] | ClinicalCluster |
getMVPData |
{
mvpId: string;
clinicalTopic: string;
title: string;
description: string;
specialtiesMostApplicableTo: string[];
clinicalTopics: string;
hasCahps: boolean;
hasOutcomeAdminClaims: boolean;
qualityMeasures: QualityMeasure[];
iaMeasures: IAMeasure[];
costMeasures: AggregateCostMeasure[];
foundationPiMeasures: PIMeasure[];
foundationQualityMeasures: QualityMeasure[];
administrativeClaimsMeasures: QualityMeasure[];
}[] | MVPData |
getMVPDataSlim |
{
mvpId: string;
clinicalTopic: string;
title: string;
description: string;
specialtiesMostApplicableTo: string[];
clinicalTopics: string;
hasCahps: boolean;
hasOutcomeAdminClaims: boolean;
qualityMeasures: string[];
iaMeasures: string[];
costMeasures: string[];
foundationPiMeasures: string[];
foundationQualityMeasures: string[];
administrativeClaimsMeasures: string[];
}[] | MVPDataSlim |
Using the Types/Interfaces in Your Code
We use interfaces to define the return values. To access the new interfaces, you can use the following import path.
// to get specific interfaces.
import { ProgramNames, IAMeasure } from 'qpp-measures-data/util/interfaces/index';
// to get all interfaces.
import * as MeasuresRepoInterfaces from 'qpp-measures-data/util/interfaces/index';
📏 Measure & MVP Updates
- QPPA-9221: update mvps py2025 @ckawell-sb (#823)
🚀 Features
- QPPA-9423: Adds strong typing to index.ts @john-manack (#827)
🐛 Bug Fixes
- QPPA-0000: Remove /dist from filepath @john-manack (#830)
🧰 Maintenance
- QPPA-9423: fix benchmark type @ckawell-sb (#829)
- QPPA-9422: refactor mvp helper functions @chetanmunegowda (#826)
- [Snyk] Upgrade yaml from 2.4.5 to 2.5.0 @beekoticf (#824)
v7.7.2
🐛 Bug Fixes
- QPPA-0000: add npm ignore file @ckawell-sb (#822) (This was not applied in v7.7.1)
v7.7.1
🐛 Bug Fixes
- QPPA-0000: add npm ignore file @ckawell-sb (#822)
v7.7.0
Breaking Change
- You will now need to reference the package via the * import syntax if you wish to pull in all functions. eg,
import * as qppMeasuresData from 'qpp-measures-data'
. Not including the* as
will throw an error during compilation.
📏 Measure & MVP Updates
- QPPA-9185: create PY25 measures @chetanmunegowda (#816)
- QPPA-9264: Add new companionMeasureId field @ckawell-sb (#815)
🚀 Features
- QPPA-9309: Add beta versioning @ckawell-sb (#818)
- QPPA-9027: root scripts ts migration @chetanmunegowda (#817)
- QPPA-9185: create PY25 measures @chetanmunegowda (#816)
- QPPA-9264: Add new companionMeasureId field @ckawell-sb (#815)
- QPPA-9026: Convert validation scripts to TS @ckawell-sb (#814)
- QPPA-9025: migrate clinical clusters to TS @ckawell-sb (#812)
🐛 Bug Fixes
- QPPA-9027: fix TS migration @ckawell-sb (#821)
- QPPA-9309: fix slack notification for beta release @ckawell-sb (#819)
🧰 Maintenance
- [Snyk] Upgrade yaml from 2.4.3 to 2.4.5 @beekoticf (#809)
v7.6.0
📏 Measure & MVP Updates
- QPPA-9290: Update measure specifications for COST_NECABG_1 and COST_STEMI_1 @john-manack (#813)
- QPPA-9168: Remove AveChg stratum from measure 503 PY 2024 @ckawell-sb (#811)
🐛 Bug Fixes
- QPPA-9168: Remove AveChg stratum from measure 503 PY 2024 @ckawell-sb (#811)
🧰 Maintenance
- QPPA-9285 bump nodejs version @nicholas-gates (#810)
- [Snyk] Upgrade yaml from 2.4.2 to 2.4.3 @beekoticf (#808)
v7.5.1
🐛 Bug Fixes
- QPPA-0000: fix for fx-extra package @ckawell-sb (#807)
v7.5.0
📍 Benchmark Updates
- QPPSE-2419 : 06/13 run of QPPA script for 2023 performanceBenchmarks @VenkataChittariIcf (#806)
🚀 Features
- QPPA-8979: Complete mocha-to-Jest migration @ckawell-sb (#805)
🧰 Maintenance
- [Snyk] Upgrade yaml from 2.4.1 to 2.4.2 @beekoticf (#798)
- QPPA-8978: Add unit tests for index.js @ckawell-sb (#804)
v7.4.0
📍 Benchmark Updates
- QPPSE-2132: 2nd Dry Run for PY23 Performance Benchmarks in Prod - 5/6 @VenkataChittariIcf (#796)
🧰 Maintenance
- QPPA-8977: add misc tests @ckawell-sb (#803)
v7.3.0
📏 Measure & MVP Updates
- QPPA-9105: update measure spec link for copd @chetanmunegowda (#799)
🚀 Features
v7.2.0
📏 Measure & MVP Updates
- QPPA-9016: Remove 10 QCDR measures and update benchmarks @john-manack (#794)
📍 Benchmark Updates
- QPPA-8989: Update 2023 national averages @ckawell-sb (#795)
- QPPA-9016: Remove 10 QCDR measures and update benchmarks @john-manack (#794)
🚀 Features
- QPPA-8973: Add Benchmarks Repo Unit Tests @ckawell-sb (#789)
- QPPSE-2002: Update measures data with 2024 QRDA-III UUIDs @sivaksb (#788)
🐛 Bug Fixes
- QPPA-9006 resolve npm publish issue. @nicholas-gates (#792)
- QPPA-9007: Update Github Action for minor fixes and improvements @john-manack (#790)
🧰 Maintenance
- QPPA-8974: Update Measures Unit Test Coverage @ckawell-sb (#797)
- [Snyk] Upgrade yaml from 2.4.0 to 2.4.1 @beekoticf (#787)