Skip to main content

CMS-HCCs

CMS Risk Score Models

CMS has implemented multiple models to address differences in program costs and the beneficiary population. For example, Medicare Part C versus Medicare Part D plans, the ESRD population (End-Stage Renal Disease) versus members without ESRD, or members enrolled in the Program of All Inclusive Care for the Elderly (PACE). CMS also segments each model, creating subpopulations with distinct cost patterns, such as dual enrollment in Medicaid or living in the community versus an institution.

The full list of models are:

  • CMS-HCC
  • CMS-HCC-ESRD
  • PACE
  • RxHCC

In addition to models for different populations, CMS has released versions of these models over the years, which include new HCC mappings and added or removed ICD-10-CM codes. Version 24 has been in use since 2020. Version 28 will be phased in over a three-year period starting in 2024.

  • Payment year 2024 risk scores will be blended using 67% of the risk score calculated from v24 and 33% from v28.
  • Payment year 2025 risk scores will be blended using 33% of the risk score calculated from v24 and 67% from v28.
  • Beginning in payment year 2026 risk scores will be 100% from v28.

CMS also performs model calibration based on diagnostic and expenditure data. These changes can be found in the annual rate announcements on cms.gov.

These models generate risk scores by adding relative risk factors, demographics, and disease information. Additionally, they use hierarchies where the most severe manifestation of a condition is considered for risk scores.

Risk Score Calculation

Several resources are needed to calculate risk scores.

  • Annual Rate Announcements for the applicable payment year (found on cms.gov)
  • ICD-10-CM to HCC mapping (found on cms.gov)
  • Risk adjustment model software (CMS makes a SAS program available on cms.gov)
  • Model Output Report (MOR) or claims data
  • Monthly Membership Detail Report or eligibility data

Once you have gathered the resources needed to calculate risk scores, you can begin identifying and calculating scores for your patients. A brief overview of the steps:

  1. Identify demographic and enrollment information for each patient and cross-reference the risk factor value from the appropriate payment year’s rate announcement document.
  2. Identify disease information for each patient, apply the condition hierarchy, and cross-reference the risk factor value from the appropriate payment year’s rate announcement document.
  3. Identify additional relative and adjustment factors, such as disease and disabled interactions, and total HCC counts per patient, and cross-reference the risk factor value from the appropriate payment year’s rate announcement document.
  4. Calculate the raw risk scores for each patient, then apply the normalization factors and the MA coding pattern adjustment factors from the appropriate payment year’s rate announcement document to calculate the normalized and payment risk scores.

CMS Risk Adjustment Files

The Monthly Membership Detail Report (MMR) and Model Output Report (MOR) are two types of files that CMS sends to Medicare Advantage organizations (MAOs). The files, in additional to other resources from CMS, are used to calculate the CMS HCC risk adjustment factor (RAF) scores.

CMS shares these files through the Medicare Advantage Prescription Drug (MARx) system and through the Health Plan Management System (HPMS).

MAOs can refer to the Plan Communications User Guide (PCUG) for additional details on the files exchanged through the MARx system.

Monthly Membership Detail Report (MMR)

The MMRs contain member eligibility, risk scores, and prospective payments the MAO receives for each member in the upcoming month. They also contain retroactive adjustments to prior months’ records. This file contains the data for both Part C and Part D members. The key pieces of data to get from the MMR are:

  • Eligibility: Understanding eligibility is a pre-requisite for modeling risk adjustment. The MMR has very detailed information regarding eligibility, including retrospective enrollments and disenrollment data. Just because a member exists in the MMR file, does not mean that they are eligible and should be included in risk adjustment.
  • Segment / Risk Model: Depending on the risk adjustment model being used (most commonly v24 and v28), different co-efficients are used for the member based on if they are newly enrolled, are dual status, and their medicare status code. This information needs to be gathered from the MMR to calculate risk adjustment
  • Risk Scores: The MMR will also disclose risk scores for a patient but only for certain time periods (start of the year, mid-year, and final). This can be used to understand funded premium, or validate calculated risk scores.

MAO-004

Not all medical claims are eligible for documenting HCCs for medicare risk adjustment. To address this, CMS provides a report called the MAO-004 which will inform Medicare Advantage organizations if a given diagnosis code submitted is eligible for risk adjustment. This file can be helpful for tying out risk score calculations to the MMR.

Model Output Report (MOR)

Similar to MMRs, the MORs contain a record for each member. That record shows the Hierarchical Condition Codes (HCCs) for each member used by the Risk Adjustment System (RAS) to calculate Part C or Part D risk adjustment factors for each beneficiary. There are two varieties of MORs, for Parts C and D respectively, as each uses different models.

In addition to these monthly files, CMS issues “final” MORs once per year with updated information after the year has ended, and planned runout data has been collected.

Sample Risk Score Calculation of a single patient

Let's walk through a single example with a single patient as to how the risk score is calculated in the context of medicare advantage for the year 2024.

Overview

Here's some information about this patient.

  • Patient is Female (BENE_SEX_CD = 2)
  • Patient is 76 years old
  • Patient is a partial dual patient (DUAL_ELGBL_CD_01 = 03)
  • Patient is aged without ESRD (MDCR_STATUS_CODE_01 = 10)
  • Patient was originally disabled (MDCR_OREC = 1)
  • Patient has the following diagnosis documented in medical claims submitted to cms:
Diagnosis CodeDescription
E10641Type 1 diabetes mellitus with hypoglycemia with coma
E083293Diabetes mellitus due to underlying condition with mild nonproliferative diabetic retinopathy without macular edema, bilateral
E139Other specified diabetes mellitus without complications
E139Other specified diabetes mellitus without complications

Walking through the steps listed above:

Calculate the demographic score

To calculate the demographics portion of the risk score, we need to look at the demographics information for the patient provided above. Let's take a look at a table from the 2024 final rule that contains the raw factors related to demographics.

2024_Final_Rule_Demographics_Table

  • The demographic score for a female patient 76 years of age with partial dual status is 0.485.
  • Given the patient has been originally disabled, they get an additional 0.103.

The final raw risk from demographics is (0.485 + 0.103) = 0.588

If the patient was an end stage renal disease (ESRD) patient, we would use a separate demographics table that uses the ESRD risk adjustment model.

Calculate the Disease Score

The disease score can be sourced from multiple places, either the MOR or claims data in combination with MAO-004 report. This example will be looking at calculating risk from claims data.

disease_score_calculation

In the sample patient, the diagnosis codes for that patient are provided above from claims data. Not all diagnosis are accepted for risk adjustment, so in this example we will say the diagnosis E10.641, (Type 1 diabetes mellitus with hypoglycemia with coma) is not accepted when checking the MAO-004. That leaves two diagnosis of E08.3293 and E13.9. Even though E13.9 is present twice in claims data, having more than one of the same accepted diagnosis code is the same as having a single instance of that diagnosis code being accepted.

Next we need to cross-reference the diagnosis codes to get the HCCs for the model. The crosswalk between diagnosis codes and HCCs can be found here under "2024 Initial ICD-10 Mappings".

diagnosis_to_hcc_crosswalk_example

When looking up the two diagnosis codes in the crosswalk, we see they are both valid and map to two HCCs for the 2024 v28 risk adjustment model (37 and 38).

Next we need to check the hierarchy to drop HCCs that exist within the hierarchy. This hierarchy exists within the announcement document.

hcc_hierarchy_2024_final_rule

Based on this table, we see that HCC-37 is on the left hand side "If the Disease Group is listed in this column…" and on the right hand side "…Then drop the CMS-HCC listed in this column " there is a match on HCC-38. This means that we drop the HCC-38 and are left with a single remaining HCC (HCC-37) for this patient.

Once we have our remaining HCCs after the hierarchy is applied, we need to find the score related to HCC-37 for this single patient example. If there was more than one HCC remaining, the values would be summed,

disease_coefficients_v28_2024_announcement

For this patient the score is 0.166.

Next we need to evaluate disease interactions. Since we are left with only a single HCC, disease interactions don't apply for this specific example patient. However, please see below for the disease interactions that exist within the v28 model. This is also in the announcement document.

disease_interactions_2024_final_rule disease_interaction_v28_2024_announcement

Finally, we need to count the number of HCCs remaining after the application of the hierarchy. In this example, we only have a single HCC, so there is no additional score applied.

hcc_counts_2024_announcement

Bringing it all together

We sum both the demographic score and the disease score to get the final raw raf for the patient. (0.588 + 0.166) = 0.754. This score is the raw risk score for the patient. To get the final risk score for a patient, the formula is (raw_risk_score / normalization_factor).

For 2024, the CMS-HCC risk adjustment model normalization factor is 1.015 meaning. For medicare advantage organizations, another Coding Pattern Difference Adjustment (aka Coding Intensity Factor CIF) of 5.9% should be applied on top of the normalization factor.

So the final risk score for this single patient would be (0.754 / 1.015) * (1 - 0.059) = 0.699

But wait! There's more

In the above example, it only looked at the scores and weights for a single risk adjustment model, v28. However, for medicare advantage organizations in the year 2024, final funded risk is not based solely on the outputs of the v28 risk adjustment model. There is a transition period where risk will be determined with a blended model, where 33% of the risk score will be weighted with the v28 model and 67% of the risk score will be weighted with the v24 risk adjustment model.

What does this mean? This means we have to go back and repeat the steps prior to "Bringing it all together" for the v24 risk adjustment model, then apply the 33% and 67% weighting for v28 and v24 risk scores respectively, then apply normalization factor and CIF to get the final risk score for the patient.

Additional notes

  • In this specific example, this was looking at the risk adjustment model for Medicare Advantage. Different programs and different use cases can use different risk adjustment models.
  • Different years going forward (2025 and 2026) have different weighting of the v24 vs v28 risk adjustment models.
  • This can all be subject to change if there is new legislation or final rules for 2025 and 2026.
  • In the context of some CMMI programs, the terms of "coding intensity factor" and "normalization factor" can seem to be the same as the Medicare Advantage definitions, but can be derived in different ways specific to that program.

References

Make sure to check out the CMS-HCC Risk Analytics guide.