You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2024</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
10
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
12
11
<h2className='ds-text-heading--2xl'style={{marginTop: 0}}id='advanced-tutorial'>Tutorial: Add and update data via API</h2>
13
12
<p>
14
13
In the <LinkToIdto='/tutorial'text='first tutorial'/> we covered how to create a measurement set and retrieve the score in two different API requests. We're now going to build on the previous tutorial by adding another measure to the measurement set we created in the previous tutorial. All of these examples serve to illustrate how the Submissions API can make it easier to react to and fix issues that arise.
15
14
</p>
16
15
17
16
<h3className='tutorial-header-link'id='add-more-measures'>Add more measures to an existing measurement set</h3>
18
17
<p>
19
-
Here's a <code>PATCH</code> request to add more measures to an existing measurement set. You can pass an <code>Accept</code> header to specify the API version and the desired response format by using our custom mime type, <code>application/vnd.qpp.cms.gov.v1+json</code>. We support JSON by using <code>+json</code>. You can also continue to use a standard <code>application/json</code> header, which will point to the latest version. Check out the response and request below!
18
+
You can use a <code>PATCH</code> request to add more measures to an existing measurement set. You can pass an <code>Accept</code> header to specify the API version and the desired response format by using our custom mime type, <code>application/vnd.qpp.cms.gov.v1+json</code>. We support JSON by using <code>+json</code>. You can also continue to use a standard <code>application/json</code> header, which will point to the latest version.
19
+
</p>
20
+
<p>
21
+
To see an example request and response, please see the <code>PATCH /measurement-sets/:id</code> section within the <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs`}text='Interactive Docs'/>.
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2024</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
8
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
10
9
<h2className='ds-text-heading--2xl'style={{marginTop: 0}}>Tutorial: Create and Score Data via API</h2>
11
10
<p>
12
11
The Submissions API is an easy way to manage your performance data with CMS. Performance data is organized into submissions, which can have many measurements. Measurements within a submission are also grouped by category (e.g. quality) and submission method (e.g. registry) and program name (e.g. mips) into measurement sets.
When submitting, you can pass an <code>Accept</code> header to specify the API version and type of response back by using our custom mime type, <code>application/vnd.qpp.cms.gov.v1+json</code>. We support JSON by using <code>+json</code>. Right now, only version <code>v1</code> is supported. You can also continue to use a standard <code>application/json</code> header, which will point to the latest version.
27
26
</p>
28
27
<p>
29
-
We'll also need to supply some information to tell CMS how to identify this particular submission, which you can see below. Every submission is unique to the combination of the fields provided. Note that we enforce fake TINs (starting with <code>000</code>) in the Developer Preview Testing Environment to avoid accidentally collecting personally identifiable information.
28
+
We'll also need to supply some information to tell CMS how to identify this particular submission. Every submission is unique to the combination of the fields provided. Note that we enforce fake TINs (starting with <code>000</code>) in the Developer Preview Testing Environment to avoid accidentally collecting personally identifiable information.
30
29
</p>
31
30
<p>
32
-
Take a look at the request below, and then click the 'Response' tab to see what the API returns when we submit this request!
31
+
To see an example request and response, please see the <code>POST /measurement-sets</code> section within the <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs`}text='Interactive Docs'/>.
33
32
</p>
34
-
<ApiExampledata={apiExamples.measurementSets}/>
35
-
<CodeTabdata={steps.basic1}/>
36
33
37
34
<h3className='ds-text-heading--xl'id='scoring-a-submission'>Scoring a submission</h3>
38
35
<p>
39
36
With the submission <code>id</code> we were given, we can ask the API to calculate the submission score with a GET request. We don't need to include a request body this time since we're only interested in retrieving the score, and CMS doesn't need any information other than the submission <code>id</code>.
In general, we can think about the Submissions API as a way to have a live conversation with CMS about performance measurements. Rather than waiting months to hear back about missing information or a score, the API gives us feedback that is immediate, specific, and actionable - we can easily make another API request if necessary.
39
+
To see an example request and response, please see the <code>GET /submissions/:id/score</code> section within the <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs`}text='Interactive Docs'/>.
46
40
</p>
41
+
47
42
<p>
48
-
What we've shown is an example of working directly with the API - typically these requests are made through a web interface or script, but the requests & responses above illustrate the kind of power and speed the Submissions API and applications built against it can provide.
43
+
In general, we can think about the Submissions API as a way to have a live conversation with CMS about performance measurements. Rather than waiting months to hear back about missing information or a score, the API gives us feedback that is immediate, specific, and actionable - we can easily make another API request if necessary.
49
44
</p>
50
45
<p>
51
46
<em>Disclaimer:</em> Scoring is subject to change, based on periodic policy updates, eligibility reviews, and technical integration developments.
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2024</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
10
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
Benchmarks serve as the reference points for measurements and are used to score submissions. Each benchmark is unique based upon its combination of measureId, submissionMethod, and performanceYear, and each has a list of 9 data points.
13
+
Benchmarks serve as the reference points for measurements and are used to score submissions. Each benchmark is unique based upon its combination of measureId, submissionMethod, and performanceYear, and each has a list of 11 data points.
14
14
</p>
15
15
<p>
16
-
Please see the <ExternalLinkhref={`${envConfig.amazoneawsUrl}/uploads/2671/2024BenchmarksUserGuide.pdf`}
17
-
text='2024 Quality Benchmarks User Guide with Scoring Examples'/> for more information on MIPS Quality Benchmarks.
16
+
Please see the <ExternalLinkhref={`${envConfig.amazoneawsUrl}/uploads/3162/2025-Quality-Benchmarks-User-Guide.pdf`}
17
+
text='2025 Quality Benchmarks User Guide with Scoring Examples'/> for more information on MIPS Quality Benchmarks.
18
18
</p>
19
19
<p>
20
-
You can view the benchmarks for a Performance Year using the publicly accessible <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs/#/Public%20Endpoints/listBenchmarks`}text='benchmarks endpoint'/>.
20
+
You can view the benchmarks for a Performance Year using the publicly accessible <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs/#/Public%20Endpoints/BenchmarksController_getBenchmarks`}text='benchmarks endpoint'/>.
{name: 'updatedAt',value: 'datetime',description: 'The modification time of the measurement set in <a href="https://www.ietf.org/rfc/rfc3339.txt" rel="noopener noreferrer" target="_blank">RFC 3339</a> format.',notes: ' '},
330
326
{name: 'submissionId',value: 'string',description: 'The id of the submission in which the measurement set belongs.',notes: ' '},
331
327
{name: 'category',value: 'string',description: 'The category of the measurement set. Acceptable values are: <li><b>"quality"</b></li> <li><b>"pi"</b></li> <li><b>"ia"</b></li>',notes: 'writable, required'},
332
-
{name: 'cehrtId',value: 'string',description: 'The CMS EHR Certification Identification Number is generated by the CHPL. This is only applicable to Promoting Interoperability measurement sets.',notes: 'writable, required'},
328
+
{name: 'cehrtId',value: 'string',description: 'The CMS EHR Certification Identification Number is generated by the CHPL. This is applicable to Promoting Interoperability and eCQM Quality measurement sets. CEHRT ID must be in the format 2025CXXXXXXXXXX or XX15CXXXXXXXXXX.',notes: 'writable, required'},
333
329
{name: 'submissionMethod',value: 'string',description: 'The method by which the measurement set data was submitted. Acceptable values are: <ul><li>Quality Category:<ul><li><b>"registry"</b> for MIPS CQMs reporting</li><li><b>"electronicHealthRecord"</b> for eCQM Reporting</li></ul></li><li>Promoting Interoperability and Improvement Activities:<ul><li><b>"registry"</b> for non QRDA format</li><li><b>"electronicHealthRecord"</b> for QRDA</li></ul></li></ul>',notes: 'writable, required'},
334
-
{name: 'programName',value: 'string',description: 'The quality payment program under which the measurementSet should be scored. Acceptable values are: <li><b>"mips"</b> for Traditional MIPS Reporting<li><b>"app1"</b> for the APM Performance Pathway</li><li><b>"MVP ID"</b> more information on the IDs can be found at the <a href="https://qpp.cms.gov/mips/mips-value-pathways" rel="noopener noreferrer" target="_blank">QPP Resource Library</a></li><li><b>"pcf"</b> for PCF Program submissions</li> If not provided, the programName will be recorded as "mips".',notes: 'writable, optional'},
335
-
{name: 'practiceDetails',value: 'object',description: `This object contains the taxpayerIdentificationNumber and/or nationalProviderIdentifiers of the practice associated with the measurement set. Optional if programName is set to <b>"pcf"</b>. Must be omitted if programName is not set to <b>"pcf"</b>. More details <a href='measurement-sets#practice-details'>below</a>.`,notes: 'writeable, optional'},
330
+
{name: 'programName',value: 'string',description: 'The quality payment program under which the measurementSet should be scored. Acceptable values are: <li><b>"mips"</b> for Traditional MIPS Reporting</li><li><b>"app1"</b> for the legacy APM Performance Pathway</li><li><b>"appPlus"</b> for the APM Performance Pathway Plus Quality Measure Set</li><li><b>"MVP ID"</b> more information on the IDs can be found at the <a href="https://qpp.cms.gov/mips/mips-value-pathways" rel="noopener noreferrer" target="_blank">QPP Resource Library</a></li> If not provided, the programName will be recorded as "mips".',notes: 'writable, optional'},
336
331
{name: 'performanceStart',value: 'string',description: 'A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). The first date when the measurement data is applicable.',notes: 'writable, required'},
337
332
{name: 'performanceEnd',value: 'string',description: 'A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). The last date when the measurement data is applicable.',notes: 'writable, required'},
338
333
{name: 'measurements',value: 'Array(measurements)',description: 'Measurements associated with the measurement set.',notes: 'writable, optional'},
339
334
],
340
-
practiceDetails: [
341
-
{name: 'taxpayerIdentificationNumber',value: 'string',description: 'The 9-digit identifier of the practice associated with the measurementSet. ',notes: 'writeable, optional'},
342
-
{name: 'nationalProviderIdentifiers',value: 'string[]',description: 'An array of strings containing the 10-digit identifiers of the practice associated with the measurementSet, separated by commas.',notes: 'writeable, optional'},
<pclassName='qpp-docs-page-updated'>Last Updated: 08/31/2022</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
8
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
<h3className='ds-text-heading--lg'>The Submissions API Error Codes summary can be found in the <ExternalLinkhref={`https://cmsgov.github.io/qpp-developer-preview-docs/error-codes`}text='Developer Preview Documentation'/></h3>
11
+
<h3className='ds-text-heading--lg'>To review a list of response codes provided by the API, please visit the <ExternalLinkhref={`${envConfig.qppCmsPreviewUrl}/api/submissions/public/docs`}text='Interactive Docs'/>.</h3>
<pclassName='qpp-docs-page-updated'>Last Updated: 07/06/2023</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
9
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
The MeasurementSets resource represents performance data for a specified category. Each Submission can have multiple MeasurementSets. Each MeasurementSet in a given Submission is uniquely identified by category, submission method, and programName. MeasurementSets contain Measurements, which can be accessed both via MeasurementSets methods and Measurements methods.
<pclassName='qpp-docs-page-updated'>Last Updated: 05/12/2021</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
8
+
<pclassName='qpp-docs-page-updated'>Last Updated: 08/28/2025</p>{/* IMPORTANT: update this Last-Updated value if you have made any changes to this page's content. */}
0 commit comments