Skip to content

Risk Adjustment Mapping · Hub

Free ICD-10 to HCC Crosswalk (V28 Mapping Lookup) 2026

Every Medicare Advantage dollar moves through the ICD-10 → HCC map. Just 7,903 of the 74,719 billable ICD-10-CM codes carry RAF weight in 2026; the rest do not. This hub explains how the crosswalk works under CMS-HCC V28, which codes map, which do not, and how to look up the right mapping for any single code in seconds.

Need one code answered?

Paste an ICD-10-CM code in the encoder and see the CMS-HCC V28 category, RAF weight, billable status, and MEAT checklist.

The mapping, in one paragraph

CMS publishes a crosswalk each year that assigns every ICD-10-CM diagnosis code to an HCC category or to nothing. For 2026, the crosswalk is based on the CMS risk adjustment program V28 model and applies at 100% weight (V24 is retired). When a coded diagnosis from a face-to-face encounter is submitted to CMS with MEAT documentation supporting it, the HCC it maps to contributes its RAF weight to the patient's risk score, and the plan receives a payment premium for that weight. Unmapped codes are clinically valid but financially silent for Medicare Advantage.

8,299

payable ICD-10-CM diagnosis codes map to a CMS-HCC V28 payment category for 2026, counted directly from the CMS ICD-10-CM mapping file.

115

payment HCC categories receive those mapped codes under V28 for payment year 2026, per the CMS V28 risk adjustment model files.

Verified current to CMS-HCC V28, payment year 2026 — last reviewed May 10, 2026.

How the ICD-10 → HCC map actually works

The crosswalk is a lookup table, not an algorithm. For every ICD-10-CM code in the annual code set, CMS assigns either one HCC category or none. Mapping is one-way: ICD-10 codes map to HCCs, but HCCs do not map back to a single ICD-10, each HCC is a cluster of dozens to hundreds of related diagnosis codes. HCC 37 (Diabetes with Chronic Complications), for example, includes most of the E11.2x – E11.6x ranges plus selected codes from E10, E13, and others.

The mapping itself is binary: a code either carries the full RAF weight of its HCC or it carries zero. There are no partial maps, no sub-weights, no prorating. This is why specificity matters so much under V28. A chart coded I25.110 (coronary atherosclerosis with unstable angina) pays the full HCC 229 weight, while the same patient coded only as I25.10 (atherosclerosis without angina) contributes nothing, because I25.10 carries no HCC at all. Diabetes is the subtler version of the rule: E11.22 (with chronic kidney disease) and E11.9 (without complication) both map and carry the same 0.166 base weight (HCC 37 and HCC 38), but the documented CKD link in E11.22 is what lets you also capture the separate kidney-disease HCC on top.

The model applies two additional rules on top of the raw map. First, HCC hierarchies: when a patient has codes that map to two related HCCs (HCC 36 Diabetes with Acute Complications and HCC 37 Diabetes with Chronic Complications), only the higher category pays, the lower is suppressed. Second, demographic adjustments: age, sex, and original-reason-for-Medicare factors are added to the HCC contributions to produce the final RAF. The crosswalk itself only covers the diagnosis-to- HCC step; the rest happens at the payment layer.

A useful mental model: treat the map as an index, and treat the hierarchy rules as tiebreakers. Coders never need to compute hierarchies at the chart level, the point-of-care job is to land the most specific diagnosis the documentation supports, and let the payment system resolve hierarchies at submission. The RAF calculator models the full stack end-to-end so you can see how a single code change ripples through the final premium.

Worked examples: ICD-10 → HCC → RAF (V28, PY2026)

A few representative mappings under the CMS-HCC V28 model for payment year 2026 (community, non-dual, aged RAF). Open any code for its full mapping, hierarchy, and MEAT checklist.

ICD-10 codeDescriptionHCC (V28)RAF
E11.22Type 2 diabetes with diabetic chronic kidney diseaseHCC 37 — Diabetes with Chronic Complications0.166
E11.9Type 2 diabetes without complicationsHCC 38 — Diabetes with No, Glycemic, or Unspecified Complications0.166
I50.9Heart failure, unspecifiedHCC 226 — Heart Failure0.360
J44.9Chronic obstructive pulmonary disease, unspecifiedHCC 280 — COPD and Other Chronic Lung Disorders0.319
M05.50Rheumatoid polyneuropathy with rheumatoid arthritisHCC 93 — Rheumatoid Arthritis and Inflammatory Disorders0.617
I25.10Atherosclerotic heart disease without angina pectorisNo CMS-HCC V28 mapping

Weights are CMS-HCC V28 community, non-dual, aged base coefficients for payment year 2026 and are not directly comparable across enrollment segments. I25.10 carries no HCC, so it adds no RAF on its own. Last reviewed against the CMS-HCC V28 model files for FY2026.

7,903 codes map. 66,816 do not.

Exactly how many ICD-10 codes map under V28 depends on the revision level (the count shifts slightly each October as CMS adds and retires codes), but the ratio holds: roughly one in nine ICD-10 codes carries HCC weight. The other eight in nine describe acute self-limiting illness, symptoms, injuries, or conditions CMS has determined do not predict future Medicare spend. See ICD-10 codes that do not map to HCC for a structured view of the unmapped majority.

This ratio is the single biggest source of coder frustration. A new risk-adjustment coder often expects that a charted diagnosis should produce RAF weight, and is surprised when it does not. The rule is not "sick patients score higher", it is "charted-and-mapped-and-MEAT-supported chronic conditions score higher." Acute pneumonia, a broken wrist, and a UTI are all real clinical diagnoses that produce zero RAF because CMS does not use them to predict next year's spend.

Browse ICD-10-CM by chapter

Working a body system instead of a single code? The FY2026 ICD-10-CM tabular list is organized into 22 chapters. Open any chapter to see exactly how many of its codes risk-adjust under CMS-HCC V28, the HCC categories they map to, and every member code, no patient data required.

Risk-adjusting code hub

Browse the mapped ICD-10 pages, not just the famous ones

The high-volume code list gets most of the attention, but V28 lift often hides in the rest of the mapped corpus. This directory gives coders a direct path into the billable ICD-10 pages that still carry HCC weight.

Browse all mapped codes

Frequently referenced mapped codes

The codes coders hit most

By encounter volume, roughly a dozen ICD-10 codes drive the majority of risk-adjustment work. Learn these and their HCC mappings cold, the rest you can look up. Each row links to the full code page with V28 HCC, RAF weight, MEAT checklist, and commonly-confused siblings.

ICD-10DescriptionV28 HCCFamily
E11.9Type 2 diabetes, no complicationsHCC 38Diabetes
E11.22Type 2 diabetes with diabetic CKDHCC 37Diabetes
E11.65Type 2 diabetes with hyperglycemiaHCC 38Diabetes
I50.9Heart failure, unspecifiedHCC 226Cardiovascular
I50.22Chronic systolic heart failureHCC 226Cardiovascular
J44.1COPD with acute exacerbationHCC 280Respiratory
J44.0COPD with acute lower respiratory infectionHCC 280Respiratory
N18.30CKD stage 3 (unspecified)HCC 329Renal
N18.4CKD stage 4HCC 327Renal
N18.6End-stage renal diseaseHCC 326Renal
F33.1Major depressive disorder, recurrent, moderateHCC 155Behavioral health
G30.9Alzheimer's disease, unspecifiedHCC 127Neurological

Note: code CKD to the billable subtype, the parent N18.3 is a non-billable header; its children N18.30 / N18.31 map to HCC 329 and N18.32 maps to HCC 328. A few historically-mapped codes did lose HCC status under V28, most visibly I73.9 (peripheral vascular disease, unspecified), which carried the V24 Vascular Disease HCC but maps to nothing under V28. Always verify against the current V28 list, not a legacy cheat sheet.

Five mapping pitfalls that burn RAF

Coding to the unspecified parent

E11.9 (diabetes without complications) is the most-coded diabetes diagnosis in every EHR. It does map, to HCC 38, but at the same 0.166 weight as the complicated tier (HCC 37), so defaulting to E11.9 does not lower the diabetes category itself. What it loses is the separate manifestation HCCs, diabetic CKD, retinopathy, foot ulcer, that a specified code lets you also capture. The fix lives in provider education and chart-review QA, not in the map.

Assuming V24-era categories still pay

Atherosclerosis without complications, peripheral vascular disease without rest pain, and mild depression all paid under V24. Under V28 they do not, or they pay significantly less. The mapping change is not visible in the chart; it is visible in the crosswalk file. Coders using legacy tip sheets keep miscoding to categories the model has retired.

Treating laterality as the RAF lever

Laterality (right/left/bilateral) is required for a clean, audit-durable claim, but for most cancers it does not change the HCC. Breast cancer is the classic trap: C50.911 (right), C50.912 (left), and C50.919 (unspecified laterality) all map to the same HCC 23, so an unspecified-laterality note still captures the cancer HCC. Document laterality because the chart and the audit demand it, not because it moves the RAF. Where specificity actually burns RAF is the diagnosis axis: I25.110 (with unstable angina) maps to HCC 229, while dropping to I25.10 (no angina) maps to nothing.

Forgetting the hierarchy collapse

A patient with both HCC 36 (acute complications) and HCC 37 (chronic complications) does not pay twice, the hierarchy suppresses HCC 37. Compliance teams that report "total HCCs captured" without accounting for hierarchy inflate their numbers and miss the real revenue picture. The RAF calculator applies the hierarchy correctly so the final score matches what CMS pays.

No MEAT evidence for a mapped code

A correctly-mapped ICD-10 code that is not supported by MEAT documentation in a face-to-face encounter will not survive a RADV audit. Unsupported codes are recovered from the plan, and under the 2023 final rule the recovery can be extrapolated across the contract. Mapping is necessary but not sufficient, MEAT is the other half.

Worked example: a single chart, three coding paths

A 72-year-old Medicare Advantage patient sees her primary care physician. Chart documents: Type 2 diabetes on metformin, stage 3b CKD attributed to diabetes, mild non-proliferative retinopathy, and chronic systolic heart failure, compensated, on furosemide and lisinopril. Here is what happens depending on how the encounter is coded.

Path 1, unspecified-first coding

E11.9 · I50.9

E11.9 maps to HCC 38 and I50.9 maps to HCC 226, so two HCCs are captured. But the documented diabetic CKD was never coded to its stage, so the separate kidney-disease HCC that the N18 stage code would have captured walked out the door. Coding E11.22 instead of E11.9 documents the diabetes-CKD link (HCC 37), but the diabetes tier itself carries the same 0.166 as HCC 38, the lost RAF is the uncaptured CKD category, not a higher diabetes weight.

Path 2, partial specificity

E11.22 · I50.9

E11.22 now maps to HCC 37. I50.9 still maps to HCC 226. Two HCCs captured. Retinopathy was documented but never coded, so the additional diabetes-with-complications detail (and any proliferative-retinopathy variant) is lost. Better than Path 1; still leaving weight on the table.

Path 3, full specificity

E11.22 · E11.319 · I50.22

E11.22 maps to HCC 37. E11.319 (unspecified diabetic retinopathy without macular edema) adds to the diabetes-with- complications picture. I50.22 (chronic systolic HF) lands on HCC 226 with better audit durability than the unspecified I50.9. All three mapped conditions captured; hierarchy suppresses any overlap at the payment layer.

Same chart, same patient, three different payment outcomes. The map does not reward the coder who tries harder, it rewards the coder who codes to the specificity the documentation supports. This is what ICD-10 → HCC mapping really means at the claim level.

How to look up any ICD-10 → HCC mapping

  1. Open the HCC Buddy ICD-10 encoder. Type or paste the code (or search by description). The result page loads the full mapping for 2026 V28.
  2. Scan the HCC field. If it shows a category, note the RAF weight and family (the sidebar groups sibling codes that map to the same HCC). If it shows "no HCC," the code is clinically valid but produces no risk-adjustment revenue.
  3. Check the MEAT checklist scoped to the code. Each condition family has a different evidentiary bar; MEAT for diabetes is not the same as MEAT for heart failure.
  4. Review the commonly-confused-codes block. These are the nearby ICD-10 codes that pay differently or have different audit risk, the most common coder error is picking a sibling code that looks right but maps to nothing.
  5. If you work inside an EHR, install the HCC Buddy Chrome extension and get the same lookup inline, no tab-switching, no copy-paste.

V24 vs V28: mapping changes coders keep tripping on

The map shifted between V24 and V28, and 2026 is the first year the V28-only map applies at full weight. Three category families saw the biggest changes: vascular disease, behavioral health, and CKD.

  • Vascular without complications lost weight. I25.10 (atherosclerotic heart disease without angina) and I70.9 (unspecified atherosclerosis) dropped substantially; look up I25.10 for current mapping.
  • Mild depression was removed. F32.0 (mild, single episode) no longer maps. The moderate and severe episodes still do: F32.1 (moderate), F32.2 (severe without psychosis), and the recurrent F33.1+ codes all map to HCC 155. F32.9 (single episode, unspecified) is the trap; look it up rather than relying on an old tip sheet.
  • CKD gained stage-level granularity (and kept stage 3). Under V28, stage 3a and unspecified stage 3 (N18.31 / N18.30) map to HCC 329, stage 3b (N18.32) to HCC 328, stage 4 to HCC 327, and stage 5 / ESRD to HCC 326, each its own category. Stage 3 actually carries slightly more weight under V28 (0.127) than under V24's single stage-3 HCC (0.069). Only the non-billable parent N18.3 maps to nothing, always code to the N18.3x subtype.
  • Cancer mapping tightened around staging. Active cancer codes and metastatic codes still drive significant RAF; "history of" Z85 codes continue to carry no weight, and the 2023 RADV final rule pays closer attention to whether active-cancer documentation actually supports an active-treatment encounter.

See the V24 vs V28 model comparison for a longer walk through the category-family changes, and the 2026 HCC V28 hub for the full current list with RAF weights.

Free tools for ICD-10 to HCC mapping

  • ICD-10-CM encoder with HCC mapping , Type a code or description, get the V28 HCC, RAF weight, MEAT checklist, and commonly-confused codes. Every code page is its own URL so you can bookmark or deep-link the ones you look up daily.
  • RAF score calculator , Add codes one at a time and watch the RAF score build. Hierarchies apply automatically. Useful for prospective chart-review, provider coaching, and modeling specificity improvements.
  • HCC coding cheat sheet (2026) , One-page PDF with the top-volume mapped codes and the most-common V28 mapping changes, updated for the 100% V28 year.
  • Chrome extension , Inline mapping lookup inside your EHR. Built for ICD-10 codes and HCC checks, not patient identifiers; every lookup hits the same crosswalk as the web encoder.

Frequently asked questions