CHF ICD-10 Codes: The Complete 2026 Guide to the I50 Heart Failure Series

Heart failure touches nearly every part of a practice's revenue cycle at once, it's a common inpatient DRG driver, a frequent HCC risk-adjustment category, and one of the most consistently under-coded diagnoses in cardiology and internal medicine. The gap almost never comes from a rare code. It comes from defaulting to I50.9 when the documentation actually supports something far more specific, or missing the sequencing rule that determines which code goes first.

This guide walks through the full I50 hierarchy as it stands for FY2026 (effective October 1, 2025), the documentation each subcode requires and because this is the part that rarely makes it into a coding reference, what code specificity actually does to a claim's risk-adjustment value under the CMS-HCC model now fully in effect for 2026.

How the I50 Code Family Is Structured

Every heart failure code answers two separate questions, and both need to be reflected in the final code whenever documentation supports it:

  1. What type of heart failure is it? The mechanism, which side and chamber of the heart is failing, and whether the problem is a pumping (systolic) or filling (diastolic) issue.
  2. What is the current acuity? Whether this is a new event, a stable chronic condition, or an acute flare of an established chronic diagnosis.

Leaving either question unanswered in the code, even when the chart answers it, is the single biggest driver of under-coded CHF claims.

I50.1: Left Ventricular Failure, Unspecified

I50.1 identifies where the failure is happening (the left ventricle) without specifying how, a squeeze problem, a filling problem, or both. It's appropriate only when the note documents "left ventricular failure" or "left-sided heart failure" with no further mechanism detail, typically early in a workup.

If the provider documents reduced ejection fraction, systolic dysfunction, or HFrEF anywhere in the assessment, the code moves to the I50.2x series instead, I50.1 doesn't stay the default just because it appears first in the coding index. I50.1 also has no acuity subcategories, so acute-versus-chronic can't be captured within it.

I50.2 Series: Systolic Heart Failure (HFrEF)

Systolic heart failure, heart failure with reduced ejection fraction, LVEF at or below 40% per the 2022 AHA/ACC/HFSA guideline, means the heart isn't squeezing hard enough to move sufficient blood.

Critical rule: the ejection fraction number alone never assigns the code. A reduced EF that only appears in an echo report, without a matching provider diagnosis in the assessment or plan, is a test finding, not a billable heart failure diagnosis.

Code

Description

Documentation Required

I50.20

Systolic HF, unspecified

Systolic HF documented, acuity not specified

I50.21

Acute systolic HF

New-onset or sudden decompensation, no prior chronic diagnosis

I50.22

Chronic systolic HF

Established, stable, under active management

I50.23

Acute on chronic systolic HF

Active decompensation in a patient with established chronic systolic HF

I50.3 Series: Diastolic Heart Failure (HFpEF)

Diastolic heart failure, HFpEF, LVEF at or above 50% with elevated filling pressures means the ventricle can't relax and fill properly, even though contraction itself is preserved.

Code

Description

Documentation Required

I50.30

Diastolic HF, unspecified

Diastolic HF documented, acuity not specified

I50.31

Acute diastolic HF

New onset or sudden decompensation

I50.32

Chronic diastolic HF

Established, stable, under ongoing management

I50.33

Acute on chronic diastolic HF

Active decompensation in an established diastolic HF patient

Two formal ICD-10-CM notes attach to this category that are easy to miss because they don't show up in most code lists:

  • Code Also: if the patient's diastolic heart failure has also been documented as end-stage, I50.84 (End stage heart failure) should be added as an additional code, I50.3x alone doesn't capture that severity.
  • Excludes1: combined systolic and diastolic heart failure (I50.4x) cannot be coded together with I50.3x alone. If both mechanisms are documented, the combined code replaces the standalone diastolic code rather than being added alongside it.

I50.4 Series: Combined Systolic and Diastolic Heart Failure

I50.4x applies only when the provider documents both systolic and diastolic dysfunction as present at the same time; it's not a fallback for uncertainty about which one is present.

  • I50.40 — Combined HF, acuity not specified
  • I50.41 — Acute combined systolic and diastolic HF
  • I50.42 — Chronic combined systolic and diastolic HF
  • I50.43 — Acute on chronic combined systolic and diastolic HF

I50.81 Series: Right Heart Failure

Right heart failure has its own subcategory and its own sequencing logic, it isn't coded under I50.0.

  • I50.810 — Right heart failure, unspecified
  • I50.811 — Acute right heart failure
  • I50.812 — Chronic right heart failure
  • I50.813 — Acute on chronic right heart failure
  • I50.814 — Right heart failure due to left heart failure, pairs with a Code Also for the specific left-sided type (I50.2x–I50.43) when known
  • I50.82 — Biventricular heart failure
  • I50.83 — High output heart failure
  • I50.84 — End stage heart failure
  • I50.89 — Other heart failure, specified but not fitting another subcategory

When right heart failure develops independently, from chronic cor pulmonale or a pulmonary embolism rather than left-sided disease, code the underlying pulmonary condition (I27.81, for example) first, then add the right heart failure code.

I50.9: Heart Failure, Unspecified

I50.9 is a valid, billable code, the problem isn't the code itself, it's how often it gets used when the chart already supports something more specific. It's correct when the note genuinely says only "heart failure" or "CHF" with no further detail, most commonly early in a workup before the mechanism is determined.

It becomes an error when a more specific type is documented elsewhere in the record history sections mentioning HFrEF or HFpEF, for instance, but the assessment line still just says "CHF," or when I50.9 is carried forward on a problem list from a prior visit without being checked against the current encounter's documentation.

HFrEF vs. HFpEF: Why the Clinical Distinction Drives the Code

 

HFrEF (→ I50.2x)

HFpEF (→ I50.3x)

Mechanism

Reduced contractility, LVEF ≤40%

Impaired relaxation/filling, LVEF ≥50% with elevated filling pressures

Common causes

Ischemic or dilated cardiomyopathy, chronic hypertension

Obesity, hypertension, atrial fibrillation, diabetes, older age

Core therapy

ARNI/ACEi/ARB, beta-blockers, MRAs, SGLT2 inhibitors

SGLT2 inhibitors, finerenone, blood pressure control

That divergent treatment profile is exactly why payers expect the code to match: a claim coded I50.9 for a patient on an SGLT2 inhibitor and finerenone doesn't reflect what's actually being managed, and won't hold up well if a clinical validation reviewer checks the medication list against the diagnosis.

HFmrEF (LVEF 41–49%) doesn't have its own ICD-10-CM code,  it maps to the I50.2x series. Patients whose EF improves above 40% after treatment (HFimpEF) generally stay on HFrEF-directed therapy, since an improved number doesn't mean the underlying disease resolved; a documentation query is the right move before changing that patient's code.

Documentation Requirements by Code Type

To support the most specific billable code on the first submission, the record needs to establish:

  1. For systolic HF (I50.2x): an LVEF value ≤40% from a named diagnostic study, plus the provider's own diagnosis of systolic dysfunction or HFrEF in the assessment.
  2. For diastolic HF (I50.3x): an LVEF ≥50% with objective evidence of elevated filling pressures (BNP, echo Doppler findings), plus the provider's diagnosis of diastolic dysfunction or HFpEF.
  3. For combined HF (I50.4x): both components explicitly named, not inferred from test data alone.
  4. For acute on chronic (I50.23/I50.33): two separate confirmations, evidence of pre-existing chronic HF (prior notes, active problem list entry, long-term HF medications) and evidence of active decompensation (documented weight gain, escalating dyspnea, diuretic escalation, or explicit language like "acute decompensation").

If your team is still building out documentation workflows for diagnosis-to-code alignment generally, our CPT vs. ICD-10 explainer is a useful starting reference for how the two code sets are meant to work together on a clean claim.

Sequencing Rules That Trip Up CHF Claims

  • Hypertensive heart failure: when hypertension is documented as the cause of the heart failure, I11.0 (hypertensive heart disease with heart failure) must be sequenced first, with the I50.x code added second. Coding I50.x first is a guideline violation that automated payer edits catch reliably.
  • Hypertension + CKD + heart failure together: this combination requires the I13.x series rather than separate I10, I50.x, and N18.x codes. The specific I13 subcode depends on CKD stage and whether heart failure is present.

CHF Coding and CMS-HCC Risk Adjustment in 2026

This is the piece that gets left out of most CHF coding guides, and it matters more this year than it has in a while. CMS-HCC Model v28 became fully operative for payment year 2026, replacing the v24 model entirely, no more blended scoring. V28 expanded the HCC structure from 86 to 115 categories and removed thousands of previously mapped diagnosis codes from the risk-adjustment crosswalk in the process.

Under v28, heart failure diagnoses map to HCC 85 (Congestive Heart Failure), a category that carries meaningful weight in Medicare Advantage and ACO risk scores. A few things worth understanding about how this actually plays out:

  • Most billable I50.x codes, including I50.9, generally fall within the same HCC bucket, so coding specificity isn't purely about capturing a bigger number on paper.
  • Where specificity actually matters is defensibility. RADV audits and clinical validation reviews increasingly test whether the diagnosis code is backed by clinical evidence in the chart. An unspecified I50.9 with no supporting detail is a far easier target for a payer audit to challenge than a fully specified I50.22 backed by an EF value and documented GDMT.
  • V28's broader trend is toward rewarding documented clinical severity over diagnosis volume, the "add more codes" approach to risk capture from the v24 era doesn't hold up the same way under v28's stricter mapping.

For practices in value-based contracts, this means CHF documentation isn't just a billing accuracy issue, it's a risk-score defensibility issue, and the two are worth treating as the same problem rather than separate workflows.

If your practice bills a mix of fee-for-service and value-based Medicare Advantage panels, this is exactly the kind of gap that shows up in an outside review before it shows up in your own numbers. RCM Matter's outsourced medical coding services can audit a sample of your CHF charts against current documentation to see where specificity is being left on the table.

CPT Codes Commonly Billed Alongside CHF Diagnoses

Accurate ICD-10 coding only protects revenue when the paired CPT code holds up too:

  • 93306 — Complete transthoracic echocardiogram with Doppler; the primary diagnostic study for EF and filling pressure assessment. When performed and interpreted by separate entities, modifier 26 applies to the professional interpretation and modifier TC to the technical component.
  • 93308 — Limited transthoracic echocardiogram, typically used for serial EF monitoring in an established HFrEF patient.
  • 99221–99223 / 99231–99233 — Inpatient E/M services; heart failure admissions typically support high-complexity medical decision-making given the number of conditions managed, data reviewed, and risk of IV diuresis and hemodynamic monitoring.
  • 93000 — 12-lead ECG; commonly billed alongside CHF visits given the frequency of comorbid arrhythmias. Modifier 25 is required on the E/M code if billed same-day.
  • 99490 — Chronic care management (20+ minutes/month); heart failure is one of the more clinically appropriate qualifying diagnoses given the ongoing monitoring and medication titration involved.

Our E/M CPT codes guide breaks down level selection for the inpatient and office visit codes above in more detail, and the CPT codes overview and lookup guide is a solid general reference if any of these are new to your billing team.

Common CHF Coding Errors and Denial Triggers

  • Defaulting to I50.9 on a complex admission. Multi-day stays with IV diuretics and echocardiography rarely support an unspecified code — payer systems flag the mismatch between clinical complexity and code specificity automatically.
  • Coding systolic HF without EF documentation. I50.22/I50.23 without a measured EF value anywhere in the record gives a reviewer no clinical basis to validate the code.
  • Reversed sequencing on hypertensive heart failure. I50.x listed first when I11.0 should lead is a guideline violation, not a stylistic choice.
  • Carrying forward outdated unspecified codes. A pre-populated I50.9 from an old problem list, left unchecked against current documentation and current echo results.
  • Missing the I13.x combination requirement. Separate codes for hypertension, CKD, and heart failure when the combination code series applies.
  • Assuming acute on chronic from one-sided evidence. Either the chronicity or the acute decompensation is undocumented, and the "acute on chronic" code gets assigned anyway.

Every one of these is the kind of error that turns into a resubmission cycle rather than a clean first pass, exactly the workload our denial management services are built to reduce for practices seeing repeat CHF claim rejections.

Frequently Asked Questions

What's the difference between I50.1, I50.2x, and I50.9? 

I50.1 documents left ventricular failure with no specified mechanism. I50.2x is systolic heart failure (HFrEF) and requires the provider to explicitly document reduced ejection fraction or systolic dysfunction, not just a low EF number on a test. I50.9 is unspecified and correct only when the documentation genuinely doesn't identify a type.

Is I50.9 always a coding error? 

No, it's valid and billable when the chart truly doesn't specify a type, particularly early in a diagnostic workup. It's an error specifically when more specific documentation exists elsewhere in the record and isn't reflected in the code.

Can an echocardiogram alone justify coding HFrEF or HFpEF? No. The EF value supports the code but doesn't assign it on its own, the provider needs to state the diagnosis (HFrEF, systolic dysfunction, HFpEF, diastolic dysfunction) in the assessment or plan.

What does "acute on chronic" heart failure require in the documentation? 

Two separate confirmations: evidence the patient had established chronic heart failure before this encounter, and evidence they're actively decompensating now. One without the other doesn't support I50.23 or I50.33.

How does CHF coding affect Medicare Advantage risk scores? 

Under CMS-HCC v28 (fully operative for 2026), heart failure diagnoses map to HCC 85. Specificity matters less for which bucket the code lands in and more for whether the diagnosis holds up under a RADV audit or clinical validation review, an unspecified code with no supporting detail is easier to challenge than a fully documented, EF-backed diagnosis.

Getting CHF Claims Right the First Time

Heart failure coding rewards precision at every level, mechanism, acuity, and sequencing all have to line up with what the chart actually documents. If your practice is seeing repeat denials on I50.x claims, DRG discrepancies on heart failure admissions, or RAF capture that doesn't match your panel's actual clinical complexity, RCM Matter's coding and billing team can review your current documentation and coding workflow end to end.

 

Optimize billing, claims and collections with expert RCM support let our professionals handle the process so you can focus on patient care.

;
third party logothird party logothird party logo

© Copyright 2026 - RCM Matter, a TechMatter Company

third party logo

We provide services across all the states of USA