Skip to content

Releases: CMSgov/qpp-measures-data

v8.4.0

08 Nov 15:33
Compare
Choose a tag to compare

📏 Measure & MVP Updates

🐛 Bug Fixes

🧰 Maintenance

v8.3.1

29 Oct 17:36
Compare
Choose a tag to compare

🐛 Bug Fixes

v8.3.0

23 Oct 19:21
Compare
Choose a tag to compare

📏 Measure & MVP Updates

📍 Benchmark Updates

🧰 Maintenance

v8.2.0

15 Oct 14:31
b97022c
Compare
Choose a tag to compare

📏 Measure & MVP Updates

🐛 Bug Fixes

v8.1.1

25 Sep 20:58
Compare
Choose a tag to compare

🐛 Bug Fixes

v8.1.0

25 Sep 19:38
Compare
Choose a tag to compare

📏 Measure & MVP Updates

v8.0.1

10 Sep 21:30
0fd48a3
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixes an issue with 8.0.0 where the dist directory was not being generated, causing errors. (#831)

v8.0.0

10 Sep 18:49
Compare
Choose a tag to compare

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 interface, features key-value pairs for all possible programs names. Depending on how your specific TS application is using this interface, it is possible you'll need to use the keyof operator to enforce strict typing. See documentation on keyof operator here.

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:
https://github.com/CMSgov/qpp-measures-data/blob/develop/util/interfaces/measure.ts

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

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

v7.7.2

05 Aug 20:52
Compare
Choose a tag to compare

🐛 Bug Fixes

  • QPPA-0000: add npm ignore file @ckawell-sb (#822) (This was not applied in v7.7.1)

v7.7.1

01 Aug 14:53
36a6fc3
Compare
Choose a tag to compare

🐛 Bug Fixes