Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
qpp-measures-data
Advanced tools
This repository hosts measures data for QPP and supports functionality to import measures data as an NPM module. It currently hosts all Improvement Activity and Advancing Care Information measures, as well as a fraction of Quality measures.
This is the alpha v2 source of truth for QPP measures data, building off of the
existing v1 measures data available at qpp.cms.gov/api.
This data (qpp-measures-data) reformats some of the data from the v1 measures
API and adds some additional information (see util/convert-qpp-to-measures.js
for the exact transformations). The transition to using qpp-measures-data as a
source of truth for CMS is ongoing and this data may be subject to
modifications. We are not guaranteeing stability in the API contract for
qpp-measures-data at this time.
Measures and benchmark data can be accessed by installing the qpp-measures-data
NPM repository.
The measures data JSON schema is described in measures/measures-schema.yaml
. The
measures data here combines existing data from the QPP API, with supplementary data
found in util
. To access measures data without installing the NPM repository,
run git clone git@github.com:CMSgov/qpp-measures-data.git
and navigate to
measures/measures-data.json
.
The benchmarks data JSON schema is described in benchmarks/benchmarks-schema.yaml
.
To access the benchmarks data without installing the NPM repository,
run git clone git@github.com:CMSgov/qpp-measures-data.git
and
navigate to benchmarks/
. Benchmarks data is organized by performance year.
For example, benchmarks/2017.json
contains the benchmarks for performance year 2017
(benchmark year 2015).
Functions take a string version argument and return the appropriate YAML schema or JSON data. The module can be used with the following pattern:
var qppMeasuresData = require('qpp-measures-data');
var measuresData = qppMeasuresData.getMeasuresData();
var measuresSchema = qppMeasuresData.getMeasuresSchema();
var benchmarksData = qppMeasuresData.getBenchmarksData(2017);
var benchmarksSchema = qppMeasuresData.getBenchmarksSchema();
To regenerate the measures-data.json
file, which contains additional metadata and conforms to
the measures schema, do the following:
Download the qpp quality pdfs and ecqm measure specifications
wget https://qpp.cms.gov/docs/QPP_quality_measure_specifications.zip .
wget https://ecqi.healthit.gov/system/files/ecqm_eligibleclinician_jan2017.zip .
unzip QPP_quality_measure_specifications.zip
Run the convert from pdfs tool to get the quality info from the pdfs. This info needs to be combined with the (manually generated) util/quality-measures-strata-details.json
file to get the full quality measures data.
node scripts/get-quality-measures-from-pdfs.js QPP_quality_measure_specifications/Claims-Registry-Measures
Run the script to extract strata descriptions and measure/strata uuids for ecqms from the zip:
node scripts/get-strata-and-uuids-from-ecqm-zip.js ecqm_eligibleclinician_jan2017.zip
Then run this command to generate a new measures-data.json
file:
jq -s add util/additional-measures.json <(curl -s https://qpp.cms.gov/api/v1/aci_measures | node scripts/convert-qpp-to-measures.js aci) <(curl -s https://qpp.cms.gov/api/v1/ia_measures | node scripts/convert-qpp-to-measures.js ia) <(curl -s https://qpp.cms.gov/api/v1/quality_measures | node scripts/convert-qpp-to-measures.js quality) | node scripts/merge-measures-data.js | tee measures/measures-data.json
To regenerate the measures-data.xml
file, run:
cat measures/measures-data.json | node scripts/convert-json-to-xml.js > measures/measures-data.xml
To regenerate benchmarks data from historical data use the scripts/parse-benchmarks-data.js
script
like so:
cat data/historical-benchmarks/2015.csv | node scripts/parse-benchmarks-data.js 2015 2017
We've provided a simple tool to validate JSON against our JSON schema. For example, running
cat measures/measures-data.json | node scripts/validate-data.js measures
validates the latest version of measures-data.json
against the latest measures-schema.yaml
.
To validate measures against measures-schema.yaml
, run:
cat [path to measures JSON] | node scripts/validate-data.js measures
To validate benchmarks against benchmarks-schema.yaml
, run:
cat [path to benchmarks JSON] | node scripts/validate-data.js benchmarks
Install the following brew modules:
brew install jq wget poppler
Run:
npm install
When making changes to measures-data, include tests in the tests directory and make sure existing tests still pass using:
npm run test
To publish a new version, make sure you've bumped the version
in package.json
, then:
npm login # as cmsgov
npm publish
util/additional-measures.json
includes data objects which are necessary for scoring but are not MIPS measures. At this time util/additional-measures.json
includes:
true
to ACI_LVPP_1
exempts a user from submitting data for the required measure ACI_EP_1
.FAQs
Quality Payment Program Measures Data Repository
The npm package qpp-measures-data receives a total of 1,369 weekly downloads. As such, qpp-measures-data popularity was classified as popular.
We found that qpp-measures-data demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.