Risk adjustment is used by the Centers for Medicare & Medicaid Services (CMS) to ensure payments to Medicare Advantage (MA) health plans reflect the relative health risk of enrollees. The relative risk of an enrollee is determined by the CMS-HCC risk adjustment model based on demographic factors and diagnosis codes of an enrollee. The resulting output of the risk model is the raw risk score.

Two adjustment factors are applied to the raw risk score before health plan payments are calculated:

  1. Normalization Factor - The purpose of this factor is to adjust risk scores for growth between the denominator year and payment year keeping the average risk score to 1.0.
  2. Medicare Coding Pattern Adjustment Factor - The purpose of this factor is to account for differences in diagnostic coding between MA and Medicare Fee-For-Service (FFS) plans.

Below are the adjustment factors for 2024:

Plans Models Normalization Coding Pattern Adjustment
MAOs and other non-PACE Plans 2024 CMS-HCC Model (V28) 1.015 5.9%
2020 CMS-HCC Model (V24) 1.146 5.9%
2023 ESRD Model Dialysis 1.022 5.9%
2023 ESRD Model Functioning Graft 1.028 5.9%
2023 RxHCC Model 1.063 5.9%
PACE Plans 2017 CMS-HCC Model (V22) 1.159 5.9%
2019 ESRD Model Dialysis 1.100 5.9%
2019 ESRD Model Functioning Graft 1.159 5.9%
2020 RxHCC Model 1.084 5.9%

This straightforward equation calculates the payment risk score from the raw risk score:

equation

  • Step 1) Divide the raw risk score by the normalization factor.
  • Step 2) Round the result of Step 1 to three decimals.
  • Step 3) Multiply the result by one minus the coding pattern adjustment factor.
  • Step 4) Round the result to three decimals.

We round in the steps above because the CMS-HCC model risk scores can only have a maximum of 3 decimal places.

The adjustment factors are included in the annual payment notice or announcement each year. Click here for the 2024 Payment Notice. The Normalization and Coding Pattern Adjustment Factors are found on pages 5 and 6.

4 Steps to Adjust Your Risk Scores using Python

Below, we present easy-to-use Python code for applying the normalization factor. The following example uses the model output file from our software MScore™, which is our application that allows you to run the CMS-HCC model anywhere using open-source and modern cloud technologies. For more information on using MScore™ to run the 2024 V28 CMS-HCC model, check out our article: A Python User's Guide to Running the CMS-HCC Risk Adjustment Model.

Step 1: Read in the MScore™ Model Output

To normalize the scores and apply the coding pattern adjustment, use the following code to import and read in your MScore™ model output file:

Step 2: Assign the Adjustment Factors

Assign variables to the normalization factor and coding pattern adjustment. Note, the coding pattern adjustment is converted from a percentage to a decimal and rounding is applied.

Step 3: Select the Risk Scores and Apply the Adjustment Factors

Next, select the risk score columns to apply the adjustment factors and calculate the payment risk score. Our definition of a payment risk score is the score with both the normalization and coding pattern adjustment factors applied.

Step 4: Calculate the Payment Risk Score

In the last step, we leverage NumPy's vectorization to quickly normalize and apply the adjustment factor.

The code below shows the Community Non-Dual Aged raw score, normalized score, and the normalized and coding pattern adjusted payment risk score for the 10 enrollees in our synthetic datasets.

Community Non-Dual Aged

Raw, Normalized, and Payment Risk Score

risk score output

By utilizing MScore™ alongside the provided Python code for 2024's normalization and coding pattern adjustments, MA plans can accurately and confidently calculate their risk scores. This is crucial for validating CMS payments and conducting various analyses. MScore™ marks a significant step forward in modernizing complex risk adjustment data operations, positioning your organization to be at the forefront of both financial and technical innovation in the healthcare sector.

Disclaimer: The code examples above are for illustrative purposes and may require proper environment setup, license keys, or additional parameters to work effectively in your specific context. Always refer to MScore™ documentation or reach out to support@riskadjustmentmodel.com if you have questions.