CHF ICD-10 Codes in 2026: Complete Guide to the I50 Heart Failure Series
The I50 heart failure code family looks straightforward until you're actually staring at a chart trying to decide between I50.22 and I50.9. This guide walks through the complete I50 structure for 2026, how HFrEF and HFpEF map to specific codes, the sequencing rules that trip up hypertensive and CKD-related claims, and how CMS-HCC Model V28 treats specific versus unspecified heart failure codes differently for risk adjustment purposes.
Introduction
Heart failure coding has a reputation for being simple right up until you're looking at an actual chart. The provider documented "CHF," the echo shows a reduced ejection fraction, there's a mention of hypertension somewhere in the history, and now you're deciding between four or five plausible codes with real consequences riding on which one you pick. Pick the wrong one, and you're either looking at a denial, an audit flag, or, just as costly, a claim that under-reflects the actual complexity of the patient's condition.
Heart failure isn't a rare diagnosis you code once in a while. The American Heart Association projects the number of Americans living with heart failure will climb to 8.7 million by 2030, 10.3 million by 2040, and 11.4 million by 2050, with lifetime risk now estimated at 24 percent, or roughly one in four people. Every one of those patients generates encounters that need a code, and the gap between a coder who understands the full I50 hierarchy and one who defaults to the unspecified code adds up fast, both in denial risk and in lost risk adjustment revenue.
This guide walks through the complete I50 heart failure family as it stands for 2026, the documentation each code actually requires, and where CHF claims most commonly go wrong.
How the I50 Code Family Is Structured
I50 itself is a non-billable category header. Every heart failure claim needs to drop down to a more specific child code, and the family branches out based on two clinical questions: what type of heart failure is it, and what's the acuity.
- I50.1 covers left ventricular failure, unspecified as to systolic or diastolic type
- I50.2 covers systolic (congestive) heart failure, with acuity subcodes
- I50.3 covers diastolic (congestive) heart failure, with acuity subcodes
- I50.4 covers combined systolic and diastolic heart failure, with acuity subcodes
- I50.8 covers other heart failure, including right heart failure, biventricular failure, high output failure, and end stage heart failure
- I50.9 covers heart failure, unspecified
Within I50.2, I50.3, and I50.4, each carries a fifth digit for acuity: unspecified, acute, chronic, and acute on chronic. That's the structural skeleton. The clinical detail is what determines which branch, and which acuity code, actually fits the documentation in front of you.
I50.1: Left Ventricular Failure, Unspecified
I50.1 is used when the documentation supports left ventricular failure but doesn't specify whether it's systolic or diastolic in nature. This code sits in an odd middle ground. It's more specific than I50.9 because it identifies the left ventricle as the source, but it's still missing the systolic versus diastolic distinction that drives most of the clinically meaningful downstream coding decisions. It's appropriate when that's genuinely as far as the documentation goes, but it shouldn't be a default when an ejection fraction value or echo report is sitting right there in the chart.
I50.2 Series: Systolic Heart Failure (HFrEF)
Systolic heart failure, more commonly referred to clinically as heart failure with reduced ejection fraction, or HFrEF, uses the I50.2 series.
- I50.20: Unspecified systolic (congestive) heart failure
- I50.21: Acute systolic (congestive) heart failure
- I50.22: Chronic systolic (congestive) heart failure
- I50.23: Acute on chronic systolic (congestive) heart failure
Documentation supporting systolic heart failure typically includes language like "reduced ejection fraction" or "depressed EF," along with an actual EF value or range where available. Acuity matters here too. A patient with a longstanding history of systolic dysfunction who's stable on guideline-directed medical therapy is coded differently than one presenting with acute decompensation of that same underlying condition.
I50.3 Series: Diastolic Heart Failure (HFpEF)
Diastolic heart failure, or heart failure with preserved ejection fraction (HFpEF), follows the same acuity pattern under I50.3.
- I50.30: Unspecified diastolic (congestive) heart failure
- I50.31: Acute diastolic (congestive) heart failure
- I50.32: Chronic diastolic (congestive) heart failure
- I50.33: Acute on chronic diastolic (congestive) heart failure
Look for documentation language like "preserved EF" or "normal EF" paired with a heart failure diagnosis. One nuance worth flagging: heart failure with mildly reduced ejection fraction, HFmrEF, doesn't have its own dedicated ICD-10-CM code. Most coding guidance maps it to the diastolic category unless the provider has documented evidence of both systolic and diastolic dysfunction, in which case the combined category may be more appropriate. When the EF value falls in that mid-range and the provider hasn't specified a type, this is a clear case for a provider query rather than a coder's best guess.
I50.4 Series: Combined Systolic and Diastolic Heart Failure
When a patient has documented dysfunction in both categories, the combined series applies.
- I50.40: Unspecified combined systolic and diastolic heart failure
- I50.41: Acute combined systolic and diastolic heart failure
- I50.42: Chronic combined systolic and diastolic heart failure
- I50.43: Acute on chronic combined systolic and diastolic heart failure
This category requires documentation explicitly supporting both components, not just an EF value that happens to fall in an ambiguous range. Inferring "combined" from a borderline number without provider documentation stating both systolic and diastolic involvement is a coding error, not a safe default.
I50.81 Series: Right Heart Failure
Right heart failure sits under I50.8, and it carries its own internal logic worth understanding carefully, since it's one of the more commonly miscoded corners of the I50 family.
- 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
The distinction that matters most here is causation. When right heart failure develops directly as a consequence of left-sided dysfunction, I50.814 is the correct code, and it carries a code also instruction to add the applicable left-sided code, I50.2x, I50.3x, or I50.4x, if the specific type of left ventricular failure is documented. The I50.810 through I50.813 codes are used when right ventricular failure is independent of left heart failure or linked to a pulmonary cause, such as chronic cor pulmonale or pulmonary embolism. When chronic cor pulmonale is the documented underlying condition, that code is sequenced first, with I50.81x added if right heart failure is separately and clearly documented.
I50.8 also includes I50.82 for biventricular heart failure, I50.83 for high output heart failure, and I50.84 for end stage heart failure, each requiring its own specific supporting documentation rather than general heart failure language.
I50.9: Heart Failure, Unspecified
I50.9 is a valid, billable code, and it isn't automatically wrong to use it. It's appropriate when the documentation genuinely doesn't specify a type, meaning there's no EF value, no echo report language, and no provider statement distinguishing systolic from diastolic involvement anywhere in the record.
The problem isn't the code itself. It's how often it gets used as a default rather than a genuine reflection of what the documentation supports. When an echo report with a clear EF value sits in the same chart as an I50.9-coded encounter, that's a signal the coding didn't match the available clinical detail, and it's exactly the kind of gap that shows up in an audit.
HFrEF vs. HFpEF: Why the Clinical Distinction Drives the Code
Every heart failure code in this family ultimately traces back to two questions the documentation needs to answer: what type of heart failure is present, and how acute is it right now. The type question maps directly to specific language patterns worth training coding staff to recognize.
- "Reduced EF" or "depressed EF" points to systolic dysfunction and the I50.2x series.
- "Preserved EF" or "normal EF," paired with a heart failure diagnosis, points to diastolic dysfunction and the I50.3x series.
- An EF value alone, without a provider statement characterizing it as reduced or preserved, is not sufficient for a coder to assign type independently. This requires a provider query.
This last point is worth repeating because it's where a lot of well-intentioned coding goes wrong. A coder inferring "this EF of 42 percent must mean systolic" without the provider's own documented characterization is making a clinical judgment call that belongs to the treating physician, not the coding team.
Documentation Requirements by Code Type
Across the entire I50 family, a few documentation elements consistently separate a defensible, specific code from a vulnerable, generic one.
- An explicit statement of heart failure type: systolic, diastolic, combined, or right-sided
- Acuity language: acute, chronic, or acute on chronic, rather than just "heart failure" with no timeframe context
- Supporting EF data or echo findings, ideally with the provider's own characterization of what that data means
- For right heart failure, a clear statement of whether it's related to left heart failure, pulmonary causes, or is otherwise independent
- For hypertensive or CKD-related cases, explicit documentation of the relationship between the conditions
Sequencing Rules That Can Trip Up CHF Claims
Sequencing errors are one of the most common, and most avoidable, sources of CHF claim denials, and they usually come down to comorbidity relationships.
Heart failure and hypertension
ICD-10-CM guidelines presume a causal link between hypertension and heart failure when both are documented. This means the hypertensive heart disease code, I11.0, must be sequenced first, followed by the specific I50.x heart failure code. Coding these as two unrelated, separately sequenced conditions when both are present is a common and avoidable error that leads to automated claim rejections.
Heart failure, hypertension, and chronic kidney disease together
When hypertension, heart failure, and CKD are all documented together, the combination code I13.- applies and is sequenced first, followed by the appropriate I50.x code and the specific N18.x CKD stage code. These aren't combination codes covering everything at once. Each condition still needs its own code, sequenced correctly behind I13.-.
Heart failure and CKD without documented hypertension
When heart failure and CKD coexist without a documented hypertensive relationship, there's no assumed causal link between them. Both conditions are coded separately, sequenced according to standard principal diagnosis rules based on the reason for the encounter, not automatically combined the way the I13 pathway requires.
Cardiorenal syndrome
Cardiorenal syndrome itself doesn't have a specific ICD-10-CM code. It's a clinical descriptor, not a codeable entity. When documented, code the underlying condition, heart failure or CKD, based on which one is actually driving the current encounter.
CHF Coding and CMS-HCC Risk Adjustment in 2026
This is where specific versus unspecified coding stops being just a compliance issue and becomes a direct revenue issue, particularly for practices participating in Medicare Advantage or ACO risk-sharing arrangements.
Under the CMS-HCC risk adjustment model, now fully phased in as Model V28 for 2026, specific heart failure codes, meaning the I50.2x and I50.3x series, map to a distinct, higher-weighted hierarchical condition category tied to heart failure. I50.9, the unspecified code, does not carry that same risk adjustment weight. In a risk-adjusted payment arrangement, that difference translates directly into per-member-per-month revenue tied to how accurately the patient's actual clinical complexity is captured in the codes submitted.
Practically, this means defaulting to I50.9 when the chart actually supports a more specific systolic or diastolic code isn't a neutral shortcut. It understates the documented complexity of the patient's condition and leaves risk-adjusted revenue unclaimed, on top of the denial risk more generic coding already carries.
CPT Codes Commonly Billed Alongside CHF Diagnoses
CHF encounters frequently generate claims alongside several related procedure and service codes, and these should be reviewed for consistency with the heart failure diagnosis code selected.
- Evaluation and management codes reflecting the complexity of managing a heart failure patient, particularly during acute decompensation
- Transthoracic echocardiography, which generates the EF data that should be directly informing the I50.x code selected
- Natriuretic peptide lab testing, commonly used to support or rule out a heart failure diagnosis during acute presentations
- Cardiac rehabilitation services for patients with an established heart failure diagnosis meeting program criteria
- Remote physiologic or cardiac device monitoring codes, where applicable, for patients with implanted heart failure management devices
Confirm that the diagnosis code submitted with these services genuinely reflects the clinical picture the procedure or test result supports, rather than defaulting to whatever code was used on the patient's last visit.
Common CHF Coding Errors and Denial Triggers
- Defaulting to I50.9 when an echo report or EF value in the same chart supports a more specific systolic or diastolic code.
- Coding hypertension and heart failure as separate, unrelated conditions instead of sequencing I11.0 first per the presumed causal relationship.
- Missing the I13 combination code requirement when hypertension, heart failure, and CKD are all documented together.
- Assigning a systolic or diastolic code based solely on an EF number without provider documentation characterizing it as reduced or preserved.
- Coding I50.814 without adding the applicable left-sided heart failure code when the type of left ventricular failure is documented and known.
- Treating an EF in the mid-range as automatically combined systolic and diastolic without explicit provider documentation supporting both components.
- Failing to capture acuity, coding a clearly acute decompensation episode the same way as a stable, chronic presentation.
Actionable Tips for Accurate CHF Coding
- Build a standard query template for cases where an EF value exists but the provider hasn't characterized it as reduced or preserved, so coders have a consistent way to close that gap rather than guessing.
- Cross-check I50.9-coded encounters against the presence of an echo report or EF data in the same chart, flagging mismatches for review before submission rather than after denial.
- Train coding staff specifically on the I11.0 sequencing requirement for hypertensive heart failure, since this is one of the most consistently missed rules in CHF coding.
- Keep a quick-reference sheet for the I50.81 subcategories, since the distinction between independent right heart failure and right heart failure due to left heart failure changes which codes are required.
- Review acuity documentation specifically, acute, chronic, or acute on chronic, as its own checklist item separate from confirming the heart failure type.
Expert Recommendations
The practices that code heart failure well consistently share one habit: they treat the echo report and the physician's note as a matched pair that needs to agree before a code gets finalized, rather than coding from the assessment and plan alone. When those two sources don't clearly align, that's a query, not a coder's best guess.
It's also worth periodically auditing your own I50.9 usage rate as a standing metric, not a one-time cleanup project. Given how directly specific heart failure coding now ties to CMS-HCC risk adjustment weight under Model V28, a high unspecified-code rate isn't just a compliance flag anymore. It's a measurable revenue gap in any risk-adjusted payment arrangement your practice participates in.
Finally, given how often sequencing errors specifically drive CHF denials, building the I11.0 and I13 sequencing rules directly into your EHR's coding prompts or your claim scrubber's logic prevents far more denials than catching them after the fact during an appeal.
Frequently Asked Questions
What is the correct ICD-10 code for congestive heart failure?
There is no single correct code for CHF. The appropriate code depends on the type, systolic, diastolic, combined, or right-sided, and the acuity, acute, chronic, or acute on chronic, all of which need to be supported by the documentation.
When should I50.9 be used instead of a more specific code?
I50.9 should only be used when the documentation genuinely doesn't specify heart failure type, meaning there's no EF value, echo report language, or provider statement distinguishing systolic from diastolic involvement anywhere in the record.
What ICD-10 code is used for HFrEF?
Heart failure with reduced ejection fraction is coded under the I50.2 series, systolic heart failure, with the specific fifth digit reflecting acuity, unspecified, acute, chronic, or acute on chronic.
What ICD-10 code is used for HFpEF?
Heart failure with preserved ejection fraction is coded under the I50.3 series, diastolic heart failure, again with a fifth digit reflecting acuity.
Is there a specific code for HFmrEF?
No. Heart failure with mildly reduced ejection fraction doesn't have a dedicated ICD-10-CM code. It's typically mapped to the diastolic category unless the provider has documented both systolic and diastolic dysfunction, in which case the combined category may apply.
How should heart failure and hypertension be sequenced together?
ICD-10-CM guidelines presume a causal relationship between hypertension and heart failure when both are documented, requiring the hypertensive heart disease code, I11.0, to be sequenced first, followed by the specific I50.x heart failure code.
How does heart failure coding affect CMS-HCC risk adjustment?
Under CMS-HCC Model V28, fully phased in for 2026, specific heart failure codes such as I50.2x and I50.3x map to a distinct, higher-weighted risk adjustment category. The unspecified code, I50.9, does not carry the same risk adjustment weight, which directly affects revenue in Medicare Advantage and ACO risk arrangements.
What's the difference between I50.810 and I50.814?
I50.810 is used for right heart failure, unspecified, when the condition is independent or linked to a pulmonary cause. I50.814 is specifically used when right heart failure develops as a direct consequence of left heart failure, and it carries a code also instruction to add the applicable left-sided heart failure code if known.
Can a coder assign a systolic or diastolic code based on an EF value alone?
No. An EF value alone, without the provider's own documentation characterizing it as reduced or preserved, is not sufficient for a coder to independently assign heart failure type. This requires a provider query.
How are heart failure, hypertension, and chronic kidney disease coded together?
When all three conditions are documented together, the combination code I13.- is sequenced first, followed by the appropriate I50.x heart failure code and the specific N18.x chronic kidney disease stage code.
Getting CHF Claims Right the First Time
The I50 family rewards the same discipline every time: match the code to what the echo, the EF characterization, and the acuity language actually document, rather than defaulting to whatever's fastest. With heart failure prevalence climbing toward 11.4 million Americans by 2050 and CMS-HCC Model V28 now fully weighting specific codes differently from unspecified ones, the gap between accurate and generic CHF coding has real, growing consequences on both the denial side and the risk adjustment side.