CPS oddities

55 views
Skip to first unread message

S. Brandon Keller

unread,
Aug 23, 2017, 1:47:51 PM8/23/17
to Developer Group for QPP APIs
I apologize if this has been asked before; I couldn't find any reference to it. I am trying to crosscheck results against the scoring API; using the score-preview endpoint with the following XML:

<data>
  <programName>mips</programName>
  <entityType>individual</entityType>
  <taxpayerIdentificationNumber>000993997</taxpayerIdentificationNumber>
  <nationalProviderIdentifier>0123456789</nationalProviderIdentifier>
  <performanceYear>2017</performanceYear>
  <measurementSet>
    <category>quality</category>
    <submissionMethod>cmsWebInterface</submissionMethod>
    <performanceStart>2017-01-19</performanceStart>
    <performanceEnd>2017-12-21</performanceEnd>
    <measurement>
      <measureId>001</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>9</performanceMet>
        <performanceNotMet>10</performanceNotMet>
        <eligiblePopulation>19</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>007</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <strata>
          <performanceMet>9</performanceMet>
          <performanceNotMet>7</performanceNotMet>
          <eligiblePopulation>16</eligiblePopulation>
          <eligiblePopulationException>0</eligiblePopulationException>
          <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
          <stratum>LVSD</stratum>
        </strata>
        <strata>
          <performanceMet>2</performanceMet>
          <performanceNotMet>2</performanceNotMet>
          <eligiblePopulation>4</eligiblePopulation>
          <eligiblePopulationException>0</eligiblePopulationException>
          <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
          <stratum>priorMI</stratum>
        </strata>
      </value>
    </measurement>
    <measurement>
      <measureId>117</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>16</performanceMet>
        <performanceNotMet>4</performanceNotMet>
        <eligiblePopulation>20</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>127</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>13</performanceMet>
        <performanceNotMet>7</performanceNotMet>
        <eligiblePopulation>20</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>130</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>14</performanceMet>
        <performanceNotMet>22</performanceNotMet>
        <eligiblePopulation>36</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>226</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>19</performanceMet>
        <performanceNotMet>17</performanceNotMet>
        <eligiblePopulation>36</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>236</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>1</performanceMet>
        <performanceNotMet>19</performanceNotMet>
        <eligiblePopulation>20</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
    <measurement>
      <measureId>138</measureId>
      <value>
        <isEndToEndReported>true</isEndToEndReported>
        <performanceMet>1</performanceMet>
        <performanceNotMet>19</performanceNotMet>
        <eligiblePopulation>20</eligiblePopulation>
        <eligiblePopulationException>0</eligiblePopulationException>
        <eligiblePopulationExclusion>0</eligiblePopulationExclusion>
      </value>
    </measurement>
  </measurementSet>
</data>

I receive the following response (via the Swagger page):

<?xml version="1.0"?> <data> <score> <name>total</name> <title>Total Score</title> <detail>0.0.18</detail> <value>15.4</value> <parts> <name>quality</name> <title>QUALITY component of final score</title> <detail>Scoring based on weight of 60%.</detail> <value>15.4</value> <original> <name>quality</name> <value>25.7</value> <detail>Picked the highest scoring measurement set cmsWebInterface</detail> <parts> <name>quality</name> <value>25.7</value> <detail>cmsWebInterface</detail>

(note that I removed the rest of the response as it's not terribly pertinent...)

My question is: why would a Quality score of 25.7 result in a 15.4 CPS? My understanding of the CPS calculation w.r.t. the Quality component is that this should have been:

((25.7 / 60) * 100) * 0.60

Meaning that the component maximum was 60, and that the Quality component contributes 60% of the final CPS. 15.4, though, is 25.7 * 0.60, which neglects to take into account the category maximum. Since the all-cause hospital re-admissions measure hasn't been submitted, the maximum for the component is 60; otherwise the calculation should have been:

((25.7 / 70) * 100) * 0.60

... that is, unless I am way off base with my understanding of the CPS calculation. 

So, am I off base on the way the CPS calculation is done, or is the API not performing the correct calculation?

Thanks!

-Brandon

Reply all
Reply to author
Forward
0 new messages