Risk adjustment

CMS-HCC V24 vs. V28: what changed and why it matters

CMS completely overhauled the model that pays risk adjustment: more categories, more clinical criteria, and a new way of weighing specificity, severity, and future cost. Exactly the ground where a well-prepared coder makes the difference.

Yoelvis Reyes, CPC, CRC13 min read
From the 2020 CMS-HCC model (V24) to the 2024 CMS-HCC model (V28): 86 to 115 payment HCCs, and from 9,797 to 7,770 ICD-10-CM codes inside the payment model

If you are getting into medical coding, risk adjustment is one of the specialties where you are needed most. In 2025, 54% of eligible Medicare beneficiaries —34.1 million people— are enrolled in Medicare Advantage, and every one of those plans is paid based on the diagnoses its coders capture and support. Behind every risk score there is a credentialed person reading clinical documentation.

And this is a particularly good moment to learn it: the transition to the new model forces organizations to review entire populations with both versions in hand, and that work is done by people who understand the reason behind each change.

54%

of eligible Medicare beneficiaries, in Medicare Advantage (2025)

34.1 M

people in plans paid through risk adjustment

Source: KFF — Medicare Advantage enrollment (2025).

Understanding the transition from V24 to V28 is, today, one of the best ways to stand out in that specialty. Let’s walk through it.

Judgment outlasts any list

When I teach risk adjustment there is one idea I try to make clear from the start: judgment is worth more than any list of HCCs learned by heart.

Models change. Codes change. Weights change. And sometimes even the answer to a question that seemed simple changes:

Does this diagnosis map?

That is exactly what happened with the transition from the model the industry knows as V24 to V28.

V24 is the 2020 CMS-HCC model. V28 is the 2024 CMS-HCC model. And although we tend to talk about them as if V28 were simply an updated version of V24, CMS did something considerably deeper: it revised the classification using the greater specificity available in ICD-10-CM, reorganized hierarchies, created categories, removed others, and decided again which diagnoses had enough predictive power to be part of the payment model.

And here is the first surprising data point.

V28 has more payment HCCs, and concentrates payment on the most predictive diagnoses

In V24 there were:

  • 204 HCCs in total
  • 86 payment HCCs

In V28 there are:

  • 266 HCCs in total
  • 115 payment HCCs

At first glance it would look like more conditions started counting within the risk score.

Something different happened, and understanding it is understanding V28.

Of the 73,926 ICD-10-CM codes CMS analyzed, 9,797 codes mapped to a payment HCC in V24. In V28 there are 7,770: the payment model concentrated on roughly 20% fewer codes.

In total, 2,236 diagnosis codes left the payment model, while 209 came in.

That is probably one of the best data points for understanding V28:

+29

more payment HCCs than V24

−2,027

net ICD-10-CM codes in the payment model

209

codes that entered the payment model

Sources: CMS — 2024 Rate Announcement, which finalized the 2024 CMS-HCC model (V28) · CMS — 2024 Advance Notice (rationale for the 2024 CMS-HCC model).

CMS’s intent was to create more granular, clinically coherent categories while concentrating the payment model on diagnoses it considered better predictors of a beneficiary’s future cost.

That is why V28 makes much more sense when we look past the HCC number and at what disease, what severity, and what documentation sit behind it.

Familiar diagnoses moved within the model

This is probably the change that catches the eye of anyone who worked with V24 for years.

There are conditions a risk adjustment coder was used to recognizing immediately as an HCC that, under V28, live outside the Part C risk score payment model.

One of the clearest examples is malnutrition.

In V24, HCC 21 — Protein-Calorie Malnutrition was a payment HCC.

CMS moved every diagnosis code that belonged to that HCC to non-payment. Among the codes CMS expressly identifies are:

  • E43 — Unspecified severe protein-calorie malnutrition
  • E44.0 — Moderate protein-calorie malnutrition
  • E46 — Unspecified protein-calorie malnutrition
  • R64 — Cachexia

In V24 they could contribute to HCC 21. Under V28, that category became HCC 47, of the non-payment type.

That difference sounds elementary, but in risk adjustment it is fundamental.

Angina: the model now rewards the more specific form

In V24 there was:

  • HCC 88 — Angina Pectoris

CMS removed from the payment model the codes that previously mapped to HCC 88.

And here is the interesting part: CMS kept the more defined forms of ischemic disease inside the payment model.

Unstable angina and other acute ischemic heart disease stayed in payment HCCs.

The distinction was clinical. CMS considered that unstable angina has more defined diagnostic criteria and greater ability to predict future costs, while other forms of angina could show more variability in diagnosis and documentation.

For the coder, the lesson is worth far more than memorizing where an HCC moved.

The lesson is:

Clinical specificity started to matter even more inside the model.

Intermittent claudication vs. rest pain: they look close, and V28 tells them apart precisely

Something similar happened with vascular disease.

V24 mainly used HCC 107 and HCC 108 for this group. V28 reorganized vascular diseases into new categories, including HCC 263, 264, and 267.

CMS removed from the payment model 30 codes that were previously in V24 HCC 108. One of the most interesting differences shows up in peripheral arterial atherosclerosis.

In V28:

atherosclerosis with intermittent claudication → non-payment HCC 265

while the more severe manifestations, including:

  • rest pain
  • ulceration
  • gangrene

stay within payment HCCs.

Two patients can have the same underlying vascular disease and produce different results within the model depending on the manifestation documented.

To me, that example sums up V28’s philosophy pretty well.

Recognizing “peripheral vascular disease” is the first step. Understanding exactly what the patient has is the work.

Depression also changed considerably

V24 HCC 59 grouped together:

Major Depressive, Bipolar, and Paranoid Disorders.

V28 rebuilt that group.

Among the new categories are:

  • HCC 154 — Bipolar Disorders without Psychosis
  • HCC 155 — Major Depression, Moderate or Severe, without Psychosis

What happened to major depression mild, unspecified, or in remission?

They moved to non-payment HCCs.

The same happened with certain bipolar disorders documented in remission. For major depression, the V28 payment model ended up centered essentially on diagnoses that specify moderate or severe disease.

That is an important difference for anyone reviewing charts.

“Depression” and “major depressive disorder, recurrent, severe…” were always clinically different.

Now the model tells them apart too.

Even Guillain-Barré changed

This is one of those lesser-known changes I like for teaching V24 vs. V28.

V24 HCC 75 included Myasthenia Gravis, Guillain-Barré Syndrome and other inflammatory/toxic neuropathies.

V28 completely reorganized this group.

Acute Guillain-Barré Syndrome moved to non-payment HCC 194.

An inflammatory neuropathy that becomes a long-standing chronic condition, on the other hand, can fall within payment HCC 193 — Chronic Inflammatory Demyelinating Polyneuritis and Multifocal Motor Neuropathy.

Myasthenia gravis was also split by severity:

  • HCC 195 — with acute exacerbation
  • HCC 196 — without acute exacerbation and other myoneural disorders

The same pattern shows up again:

Clinical course + severity + specificity.

There is something even more curious with dialysis and acute kidney injury

V24 had five payment HCCs within the renal group.

V28 left four.

Two categories stand out in particular:

  • V24 HCC 134 — Dialysis Status
  • V24 HCC 135 — Acute Kidney Failure

They were reorganized as V28 HCC 324 and HCC 325, now of the non-payment type and outside the hierarchy of the Aged/Disabled model.

Why?

CMS reasoned that acute kidney injury is, by definition, a transient condition. Something similar happens with transient dialysis: the cost can be attributed to the disease that caused it.

And if the patient needs chronic dialysis and reaches ESRD status, the ESRD-specific CMS-HCC model comes into play, separate from the Aged/Disabled Part C model we are comparing here.

That detail matters because the full reading always includes the model: risk adjustment also depends on which model is being used for that beneficiary.

Even the acquired absence codes changed

Another little-known detail: V24 had acquired absence codes inside the amputation payment HCC.

In V28, the acquired absence of toe and acquired absence of finger codes moved to a non-payment HCC related to post-surgical states/aftercare.

CMS kept within the payment structure mainly the lower-limb amputations associated with a higher clinical burden and ongoing costs.

It is another good reminder that “amputation,” on its own, barely starts to tell the story: specificity finishes it.

And some changes followed a large-scale pattern

The 2,236 codes that left the payment model followed a clear pattern.

CMS explained where a good part of them came from.

Roughly 40% were sequela codes, many of them ending in the seventh character S.

Another 16% were complications of medical care.

Roughly 8% were drug-induced conditions.

About 6% were subsequent encounters, often identified with the seventh character D.

And only about 3% of the codes moved solely because of what CMS calls Principle 10, related to reducing opportunities for coding variation or discretionary coding that could affect the model.

That figure completes the reading of V28.

CMS states that roughly 97% of the exclusions came down to reasons beyond Principle 10, including clinical specificity, predictive power, severity, empirical behavior, and the relationship with future costs.

Source: CMS — 2024 Advance Notice (rationale for the 2024 CMS-HCC model).

Some diagnoses also gained ground in V28

The movement went both ways.

There were areas that expanded considerably.

Heart failure is probably the clearest example.

V24 basically had one big:

  • HCC 85 — Congestive Heart Failure

V28 split heart failure into five payment HCCs: 222–226, organized to reflect different levels of severity and cost. On top of that, HCC 221 Heart Transplant Status/Complications sits at the top of the hierarchy and HCC 227 Cardiomyopathy/Myocarditis at the bottom.

The full heart disease group went from five payment HCCs in V24 to ten in V28.

That really does mean greater granularity.

And it rewards the coder who reads carefully for terms like acute, chronic, systolic, diastolic, combined, and the other clinical features of heart failure.

Diabetes holds one of V28’s most striking “fun facts”

V28 also reorganized diabetes.

HCC 35 — Pancreas Transplant Status was added at the top of the hierarchy, and three payment HCCs remained for diabetes:

  • HCC 36
  • HCC 37
  • HCC 38

Diagnoses of diabetes with unspecified complications and several related to glycemic control were moved into HCC 38, while clinically more relevant chronic complications stayed in higher categories. For example, CMS expressly mentions E11.641 — Type 2 diabetes mellitus with hypoglycemia with coma as a severe acute complication that stays in HCC 36.

But here is the curious part:

CMS imposed a constraint on HCC 36, 37, and 38.

That means that, within the same demographic segment, the three diabetes HCCs carry the same coefficient in the current V28 model.

So why differentiate the complications at all?

Because a significant complication can produce another HCC in addition to the diabetes one.

For instance, diabetic CKD can also take us to the corresponding renal HCC. Diabetic eye disease can interact with other categories of the model.

It is one of the best demonstrations of how RAF should be taught: as what it is.

The risk score is the result of a complete model, with hierarchies, interactions, demographic factors, and coefficients — far more than “this ICD-10 is worth so many points.”

CKD 3A and 3B now live apart, and the structure is ready for weights of their own

Another excellent V28 detail is in chronic kidney disease.

V24 had:

  • HCC 138 — CKD, Moderate (Stage 3)

V28 took advantage of the greater granularity ICD-10-CM added for stage 3 and created:

  • HCC 328 — CKD Stage 3B
  • HCC 329 — CKD Stage 3, Except 3B

In other words, CKD 3A/unspecified and CKD 3B can now land in different categories.

CMS initially set a constraint that makes HCC 328 and HCC 329 carry the same coefficient.

Here comes an even more current fun fact.

CMS proposed using more recent data for 2027 and finally separating those coefficients. In April 2026 it chose continuity: for 2027 it will keep the 2024 CMS-HCC model already in effect.

So for now, the clinical distinction already exists within the classification, and the model in effect keeps the constraint — with the structure ready for whenever the recalibration arrives.

Source: CMS — CY 2027 Rate Announcement (April 6, 2026).

Dementia has another unexpected detail

V28 created much more granularity for dementia:

  • HCC 125 — Dementia, Severe
  • HCC 126 — Dementia, Moderate
  • HCC 127 — Dementia, Mild or Unspecified

You would automatically expect three different weights.

However, in the coefficients of the 2024 CMS-HCC model, CMS assigned all three categories the same relative factor within each of the community segments.

Another proof of something worth learning early:

Today’s granularity coexists with a single relative factor — and leaves the structure ready for tomorrow’s recalibrations.

V28 also made some rheumatologic diseases more selective

V24 HCC 40 grouped a considerable number of inflammatory and connective tissue disorders.

V28 split it into:

  • HCC 93 — Rheumatoid Arthritis and Other Specified Inflammatory Rheumatic Disorders
  • HCC 94 — Systemic Lupus Erythematosus and Other Specified Systemic Connective Tissue Disorders

Some diseases that were previously in non-payment categories, such as inclusion body myositis and certain manifestations of sarcoidosis, entered the payment model.

Meanwhile, conditions such as polymyalgia rheumatica, sacroiliitis, and Sicca/Sjögren’s syndrome moved to non-payment HCCs.

Each group moved according to its own evidence.

V28 aims to distinguish which conditions consistently represent a greater prospective burden on the system.

And 2026 marks the end of the transition

This point is especially important today.

CMS phased V28 in gradually, over three years:

33%

V28 in 2024, with 67% V24

67%

V28 in 2025, with 33% V24

100%

V28 in 2026, for non-PACE MA

For CY 2026, CMS confirmed that the risk score for these organizations is calculated entirely with the 2024 CMS-HCC model.

And there is another detail worth being clear about:

V28 names the version of the classification — the model that uses it is officially called the 2024 CMS-HCC risk adjustment model.

And in 2026 that model reached 100% implementation for the non-PACE MA population.

On top of that, CMS has already decided that CY 2027 will keep using that same 2024 model, giving the industry more time to adapt before a new recalibration.

Sources: CMS — 2024 Rate Announcement, which finalized the 2024 CMS-HCC model (V28) · CMS — CY 2027 Rate Announcement (April 6, 2026).

What matters most about V28 goes beyond the new numbers

A coder can memorize that HCC 85 became a family of HCC 222–226.

They can learn that HCC 21 moved to non-payment.

They can remember that intermittent claudication lives in a non-payment category while rest pain can keep its payment one.

All of that is useful.

But V28 leaves a more important lesson.

The model is becoming more sensitive to:

severity, specificity, clinical course, persistence of the disease, and the diagnosis’s ability to predict future costs.

That is why two diagnoses from the same family can behave completely differently.

And that is why the reliable tool is the one for each year: CMS publishes its official ICD-10 mappings, and in 2026 the 2026 Midyear/Final ICD-10 Mappings are already available. When there is a real question about whether a code maps, that is the source we check.

Source: CMS — Risk Adjustment: official ICD-10 models and mappings.

The risk adjustment coder’s work starts before the HCC

To me, this is probably the most important part to teach someone who wants to work in risk adjustment.

Our work starts by asking:

“Which conditions are actually documented and supported in this encounter?”

Then comes the coding.

Then comes the mapping.

And finally the model determines the impact.

V28 made the model more selective and, at the same time, deeper

That may be the best summary.

V28 contains:

  • more HCCs
  • a more concentrated payment model
  • more clinical granularity
  • new hierarchies
  • and a sharper distinction between conditions that look similar at first glance

And the transition opens a real professional opportunity.

When a model can change the behavior of more than two thousand codes between one version and the next, the coder’s value lives more and more in understanding the documentation, the guidelines, and the logic behind the model. That understanding is exactly what gets trained.

The numbers change.

Judgment travels with us from one version to the next.

Risk adjustment is learned with the model in front of you

Preparation for AAPC’s CRC exam is studied in Spanish, with live classes and practice on real medical charts: documentation, code selection, and mapping to the categories of the model in effect.

It is the natural route for someone who already codes and wants to work where judgment decides the outcome.

Written by

Yoelvis Reyes, instructor at Codingforhealth

Yoelvis Reyes, CPC, CRC

A physician by training and a medical coding specialist, with experience in coding, risk adjustment, and revenue cycle inside the U.S. healthcare system. Lead instructor at Codingforhealth.

← All articles