Heart Failure ICD-10 Codes: Complete Coding Guide
Heart failure is classified in ICD-10-CM under category I50 and for FY2026 that category contains 22 billable codes plus five non-billable subcategory headers. The code you report depends on three things the provider has to document: the type of heart failure (systolic, diastolic, combined, right, biventricular, high output, end stage), the acuity (acute, chronic, acute on chronic) and any underlying or associated condition that carries a code-first or use-additional-code instruction. That is the whole of heart failure ICD-10 coding in one paragraph. Everything else in this guide is about the places where it breaks down: documentation that says "CHF" and nothing more, an echo report showing an ejection fraction of 30% with no corresponding diagnostic statement, a hypertensive patient whose heart failure gets reported as two unlinked codes instead of a combination code and the denials that follow. This guide covers the FY2026 ICD-10-CM code set, effective for encounters October 1, 2025 through September 30, 2026. A note on the FY2027 transition appears near the end, because that changeover lands on October 1, 2026 and every date of service after it belongs to a different code set.
What Are Heart Failure ICD-10-CM Codes?
Heart failure ICD-10 codes are the diagnosis codes used to report a documented heart failure condition on a claim, in a chart abstract, or in a registry submission. They sit in Chapter 9 of ICD-10-CM (Diseases of the Circulatory System, I00–I99), inside the block I30–I5A, Other forms of heart disease, as category I50, Heart failure. Two points about these codes get lost in day-to-day production coding. First, the codes are classification labels, not clinical judgments. ICD-10-CM's own convention on this is unambiguous. Section I.A.19 of the FY2026 Official Guidelines states that assignment of a diagnosis code is based on the provider's diagnostic statement that the condition exists, that the provider's statement is sufficient and that code assignment is not based on the clinical criteria the provider used to reach the diagnosis. A coder reads what the provider wrote and finds the code that matches it. A coder does not read an echo and decide the patient has heart failure. Second, I50 is a category, not a code. Per guideline I.A.3, only codes are permissible for reporting, never categories or subcategories. I50 alone will reject. So will I50.2, I50.3, I50.4, I50.8 and I50.81 all of them are subcategory headers that require additional characters. One more thing worth flagging before the tables: ICD-10-CM has no code I50.0. The WHO version of ICD-10 uses I50.0 for congestive heart failure and that code still circulates in international literature, older crosswalks and some EHR pick lists imported from non-US sources. In the US clinical modification, congestive heart failure NOS is an inclusion term under I50.9.
The I50 Heart Failure ICD-10-CM Code Family (FY2026)
The table below reflects the FY2026 ICD-10-CM Tabular List. Descriptions are the official code descriptions, not clinical shorthand. Non-billable subcategory headers are marked so you can see the structure of the category rather than just a flat list.
Complete heart failure ICD-10 code table
| Heart failure type | ICD-10-CM code | Official code description | Documentation consideration |
|---|---|---|---|
| Left ventricular failure | I50.1 | Left ventricular failure, unspecified | Billable. Inclusion terms cover cardiac asthma, left heart failure, pulmonary edema with heart failure and edema of lung with heart disease NOS. Excludes1 for pulmonary edema without heart disease or heart failure (J81.-) |
| Systolic (header) | I50.2 | Systolic (congestive) heart failure | Not billable. Inclusion terms: heart failure with reduced ejection fraction [HFrEF]; systolic left ventricular heart failure. Excludes1 for combined systolic and diastolic heart failure (I50.4-) |
| Systolic, acuity not documented | I50.20 | Unspecified systolic (congestive) heart failure | Type documented, acuity not. Appropriate when the record does not establish acute, chronic, or acute on chronic |
| Acute systolic | I50.21 | Acute systolic (congestive) heart failure | Provider must document acute systolic heart failure or an equivalent documented term |
| Chronic systolic | I50.22 | Chronic systolic (congestive) heart failure | The most frequently reported systolic code in ambulatory cardiology |
| Acute on chronic systolic | I50.23 | Acute on chronic systolic (congestive) heart failure | Requires documentation establishing both the chronic baseline and the acute component |
| Diastolic (header) | I50.3 | Diastolic (congestive) heart failure | Not billable. Inclusion terms: diastolic left ventricular heart failure; heart failure with normal ejection fraction; heart failure with preserved ejection fraction [HFpEF]. Excludes1 for I50.4- |
| Diastolic, acuity not documented | I50.30 | Unspecified diastolic (congestive) heart failure | Type documented, acuity not |
| Acute diastolic | I50.31 | Acute diastolic (congestive) heart failure | |
| Chronic diastolic | I50.32 | Chronic diastolic (congestive) heart failure | |
| Acute on chronic diastolic | I50.33 | Acute on chronic diastolic (congestive) heart failure | |
| Combined (header) | I50.4 | Combined systolic (congestive) and diastolic (congestive) heart failure | Not billable. Inclusion terms: combined systolic and diastolic left ventricular heart failure; heart failure with reduced ejection fraction and diastolic dysfunction |
| Combined, acuity not documented | I50.40 | Unspecified combined systolic (congestive) and diastolic (congestive) heart failure | |
| Acute combined | I50.41 | Acute combined systolic (congestive) and diastolic (congestive) heart failure | |
| Chronic combined | I50.42 | Chronic combined systolic (congestive) and diastolic (congestive) heart failure | |
| Acute on chronic combined | I50.43 | Acute on chronic combined systolic (congestive) and diastolic (congestive) heart failure | |
| Other heart failure (header) | I50.8 | Other heart failure | Not billable |
| Right heart failure (header) | I50.81 | Right heart failure | Not billable. Inclusion term: right ventricular failure |
| Right, acuity not documented | I50.810 | Right heart failure, unspecified | |
| Acute right | I50.811 | Acute right heart failure | |
| Chronic right | I50.812 | Chronic right heart failure | |
| Acute on chronic right | I50.813 | Acute on chronic right heart failure | |
| Right due to left | I50.814 | Right heart failure due to left heart failure | Requires documentation linking the right heart failure to left heart failure |
| Biventricular | I50.82 | Biventricular heart failure | Provider must document biventricular heart failure |
| High output | I50.83 | High output heart failure | Provider must document high output heart failure |
| End stage | I50.84 | End stage heart failure | Inclusion term: stage D heart failure. Carries a "code also" note for the type of heart failure as systolic, diastolic, or combined, if known |
| Other specified | I50.89 | Other heart failure | "Other specified" code for documented heart failure that has no more specific code |
| Unspecified | I50.9 | Heart failure, unspecified | Inclusion terms: cardiac, heart or myocardial failure NOS; congestive heart disease; congestive heart failure NOS. Excludes2 for fluid overload unrelated to congestive heart failure (E87.70) |
Common heart failure ICD-10 codes at a glance
For fast lookup during charge review, the same information organized by the phrase you are most likely to see in a cardiology note:
| Provider documentation | ICD-10-CM code |
|---|---|
| Chronic systolic heart failure / chronic HFrEF | I50.22 |
| Acute on chronic systolic heart failure | I50.23 |
| Chronic diastolic heart failure / chronic HFpEF | I50.32 |
| Acute on chronic diastolic heart failure | I50.33 |
| Combined systolic and diastolic heart failure, chronic | I50.42 |
| Acute on chronic combined heart failure | I50.43 |
| Systolic heart failure, acuity not stated | I50.20 |
| Diastolic heart failure, acuity not stated | I50.30 |
| Chronic right heart failure | I50.812 |
| Biventricular heart failure | I50.82 |
| End stage / stage D heart failure | I50.84 (plus type, if known) |
| CHF with no further specificity | I50.9 |
| Left heart failure with pulmonary edema | I50.1 |
Instructional Notes at Category I50 That Change the Answer
Skipping the Tabular List is the single most common source of heart failure coding error, because the Alphabetic Index will hand you a code without showing you any of the following.
Code first notes at I50
The FY2026 Tabular List instructs you to code first, where applicable:
- heart failure complicating abortion or ectopic or molar pregnancy (O00–O07, O08.8)
- heart failure due to hypertension (I11.0)
- heart failure due to hypertension with chronic kidney disease (I13.-)
- heart failure following surgery (I97.13-)
- obstetric surgery and procedures (O75.4)
- rheumatic heart failure (I09.81)
For a cardiology practice, the first two matter almost every day and the postprocedural one matters after device implants and cardiac surgery. When a code-first condition is present, the I50 code is a secondary code not the first-listed diagnosis.
Excludes notes
- Excludes2 at I50: cardiac arrest (I46.-) and neonatal cardiac failure (P29.0). An Excludes2 means the excluded condition is not part of I50, but a patient can have both, so both codes may be reported when documented.
- Excludes2 at I50.9: fluid overload unrelated to congestive heart failure (E87.70).
- Excludes1 at I50.2 and I50.3: combined systolic and diastolic heart failure (I50.4-). This is the one that trips people up. An Excludes1 means "never coded here." You cannot report a code from I50.2- alongside a code from I50.3- for the same combined condition. When both components are documented, ICD-10-CM provides the I50.4- combination code.
- Excludes1 at I50.1: pulmonary edema without heart disease or heart failure (J81.-).
Code also notes
I50.2-, I50.3- and I50.4- each carry a "code also" note for end stage heart failure (I50.84), if applicable. I50.84 carries the reciprocal note for the type of heart failure, if known. Guideline I.A.17 explains that a "code also" note means two codes may be required to fully describe the condition but gives no sequencing direction sequencing follows the circumstances of the encounter. So a patient with documented end stage chronic systolic heart failure supports two codes: I50.84 and I50.22. Reporting only one of them leaves the record incomplete. Separately, cor pulmonale (I27.81) carries a "code also, if applicable, right heart failure (I50.81-)" note, which is the pathway most often missed in pulmonary hypertension patients seen in a cardiology clinic.
Acute vs Chronic vs Acute-on-Chronic Heart Failure
Acuity is the fifth character in most of the I50 structure and it is the character coders are most often tempted to supply themselves. Acute heart failure describes a new presentation or a decompensation being actively managed. Chronic describes an established, ongoing condition. Acute on chronic describes a decompensation superimposed on a known chronic condition ICD-10-CM gives it its own combination code rather than making you report two. That last point deserves emphasis. Guideline I.B.8 says that when a condition is described as both acute and chronic and separate subentries exist at the same indentation level in the Index, you code both and sequence acute first. Heart failure is not that situation. The classification supplies combination codes (I50.23, I50.33, I50.43, I50.813) and guideline I.B.9 directs you to assign only the combination code when it fully identifies the conditions involved. Reporting I50.21 and I50.22 together instead of I50.23 is a coding error, not a more detailed alternative.
What you may not use to establish acuity
None of the following, standing alone, converts an unspecified heart failure statement into an acute or acute-on-chronic code:
- a change in diuretic dose
- an inpatient admission
- shortness of breath, orthopnea, or increased edema documented in the review of systems
- an elevated BNP or NT-proBNP
- chest imaging showing congestion
- an ejection fraction value
Every one of those is clinical information. Some of it may be exactly what prompts you to query. None of it is a diagnostic statement and guideline I.A.19 draws that line explicitly.
What the Alphabetic Index does support
The Index under "Failure, heart" contains two subterms that carry real coding weight and that most quick-reference lists never mention:
- compensated → I50.9, with a see-also to heart failure by type as diastolic or systolic, chronic
- decompensated → I50.9, with a see-also to heart failure by type as diastolic or systolic, acute and chronic
So documentation reading "decompensated chronic systolic heart failure" is not a case for a query about acuity. The Index routes "decompensated" to the acute-and-chronic pathway, which for systolic heart failure is I50.23. Verify in the Tabular List before assigning, but the Index direction is there.
Acuity comparison
| Documentation | Coding consideration | Common mistake |
|---|---|---|
| "Acute systolic heart failure" | I50.21 | Adding a chronic code when no chronic baseline is documented |
| "Chronic systolic heart failure" | I50.22 | Upgrading to I50.23 because the patient was seen for a symptom flare |
| "Acute on chronic diastolic heart failure" | I50.33 | Reporting I50.31 and I50.32 separately |
| "Decompensated chronic HFpEF" | Index routes "decompensated" to acute and chronic; verify in the Tabular List | Assigning I50.32 and ignoring the Index direction |
| "CHF exacerbation," no type stated | I50.9 unless the record establishes type; consider a query | Assuming "exacerbation" means acute on chronic and assigning I50.23 |
| "Compensated systolic heart failure" | Index routes "compensated" to chronic | Assigning I50.20 when the Index supports chronic |
| "Heart failure," nothing further | I50.9 | Selecting a specific code because it pays better |
Systolic vs Diastolic vs Combined Heart Failure
The fourth character in I50.2-, I50.3- and I50.4- captures the mechanism. The classification treats these as mutually exclusive at the subcategory level, which is why the Excludes1 note exists.
| Type | Clinical terminology you will see | ICD-10-CM consideration |
|---|---|---|
| Systolic | HFrEF, reduced EF, systolic dysfunction with heart failure, systolic left ventricular heart failure | I50.2- subcategory; HFrEF and systolic left ventricular heart failure are official inclusion terms |
| Diastolic | HFpEF, preserved EF, normal EF, diastolic dysfunction with heart failure | I50.3- subcategory; HFpEF, heart failure with normal ejection fraction and diastolic left ventricular heart failure are official inclusion terms |
| Combined | Mixed heart failure, HFrEF with diastolic dysfunction | I50.4- subcategory; "heart failure with reduced ejection fraction and diastolic dysfunction" is an official inclusion term |
| Unspecified type | CHF, heart failure, cardiac failure | I50.9 |
Combined systolic and diastolic heart failure
I50.4- applies when the provider's documentation establishes that both components are present as a single diagnosis. The inclusion terms are specific: combined systolic and diastolic left ventricular heart failure and heart failure with reduced ejection fraction and diastolic dysfunction. What I50.4- does not mean is that the word "systolic" appears somewhere in the chart and the word "diastolic" appears somewhere else. A cardiology note may carry a problem-list entry for chronic systolic heart failure and, in an unrelated echo impression paragraph, a comment about grade II diastolic dysfunction. Diastolic dysfunction is an echocardiographic finding. Diastolic heart failure is a diagnosis. Those are different things and assembling a combined code out of the two is exactly the kind of inference the classification does not permit. When the record genuinely leaves it ambiguous a note that says "systolic and diastolic dysfunction, HF" without tying them into a single documented diagnosis that is a legitimate query.
HFrEF, HFpEF and HFmrEF: What Coders Should Know
This is where clinical vocabulary and classification vocabulary diverge and where a lot of published coding advice is wrong. HFrEF and HFpEF are handled directly by the FY2026 Tabular List. "Heart failure with reduced ejection fraction [HFrEF]" is an inclusion term at I50.2 and "heart failure with preserved ejection fraction [HFpEF]" is an inclusion term at I50.3, alongside "heart failure with normal ejection fraction." Guideline I.A.11 explains that inclusion terms are the conditions for which a code is to be used. So documented HFrEF supports the systolic subcategory and documented HFpEF supports the diastolic subcategory. The catch is that the inclusion terms live at the four-character subcategory and neither I50.2 nor I50.3 is billable. Acuity still has to come from the record. "HFrEF" documented with no acuity supports I50.20, not I50.22. If the patient is an established heart failure patient with an obviously chronic course, the fix is a query or better documentation not a coder's assumption. HFmrEF (heart failure with mildly reduced ejection fraction, commonly EF 41–49%) has no inclusion term anywhere in the FY2026 I50 category and no dedicated code. Any claim that FY2026 added HFmrEF, HFrEF, or HFpEF phenotype codes to I50 is incorrect; the I50 structure was unchanged for FY2026. When a note documents HFmrEF and nothing else, the record does not establish systolic, diastolic, or combined heart failure and I50.9 may be the accurate code until the provider clarifies. That is not a coding failure. It is the classification not yet having caught up to the clinical taxonomy.
Ejection fraction is not a code
An EF percentage on an echo report does not select a heart failure code. Coding from EF alone fails guideline I.A.19 in both directions: it substitutes clinical criteria for a diagnostic statement and it risks reporting heart failure in a patient with asymptomatic left ventricular dysfunction who has no heart failure diagnosis at all. The Alphabetic Index reinforces this from another angle. It carries a note that heart failure stages A, B, C and D are the American College of Cardiology and American Heart Association stages, which complement and should not be confused with the New York Heart Association classification of Class I through Class IV. Stage B and Stage C index to I50.9 with a see-also to heart failure by type; Stage D indexes to I50.84 with a see-also to heart failure by type as diastolic or systolic, chronic. A provider who documents "stage C heart failure" has documented an ACC/AHA stage, not a type and not an acuity.
Congestive Heart Failure vs Heart Failure
"CHF" is the most common heart failure term in provider documentation and one of the least specific. In ICD-10-CM, congestive heart failure NOS is an inclusion term under I50.9, along with congestive heart disease and cardiac, heart or myocardial failure NOS. The word "congestive" by itself adds no specificity to code selection. It does not indicate systolic or diastolic. It does not indicate acute or chronic. It does not point to left, right, or biventricular. Notice, though, that "(congestive)" appears in parentheses in the official descriptions of I50.2, I50.3 and I50.4. Those parentheses are nonessential modifiers under guideline I.A.7 supplementary words that may be present or absent without affecting code assignment. "Chronic congestive systolic heart failure" and "chronic systolic heart failure" both go to I50.22. The practical rule: CHF plus a documented type and acuity gives you a specific code. CHF alone gives you I50.9. Anything else is inference.
Unspecified Heart Failure: When I50.9 Is the Right Answer
Coders are trained to avoid unspecified codes and that training sometimes hardens into a belief that I50.9 is always a defect. The Official Guidelines say otherwise. Guideline I.B.18 states that sign/symptom and unspecified codes have acceptable, even necessary, uses; that each encounter should be coded to the level of certainty known for that encounter; and that unspecified codes should be reported when they are the codes that most accurately reflect what is known about the patient's condition. The same guideline says it would be inappropriate to select a specific code that is not supported by the documentation, or to order medically unnecessary testing in order to reach a more specific code. I50.9 is the correct code when the provider has documented heart failure and the record does not establish type or acuity and when a query is either not warranted or has not resolved the question. Where I50.9 becomes a problem is when it is used habitually when a practice's heart failure code distribution is 60% I50.9 and the underlying notes actually do contain type and acuity that a rushed abstraction missed, or when the encounter templates never prompt the provider for it. That is a documentation and workflow issue that shows up as a coding statistic and it is worth tracking as a metric rather than treating as an individual coder error.
Heart Failure With Other Conditions
Most heart failure patients in a cardiology practice carry three or four other cardiovascular diagnoses. Several of those relationships are governed by combination-code conventions and this is where diagnosis coding on cardiology claims most often goes wrong.
Heart failure and hypertension
ICD-10-CM presumes a causal relationship between hypertension and heart involvement. Guideline I.A.15 explains the "with" convention: conditions linked by "with" or "in" in the Index or Tabular List are presumed related and should be coded as related even without provider documentation explicitly linking them, unless the documentation clearly states they are unrelated. The FY2026 update rewrote guideline I.C.9.a.1. As of October 1, 2025, it reads that hypertension with heart conditions classified to I50.- (heart failure), I51.4 (myocarditis, unspecified), I51.89 (other ill-defined heart diseases) and I51.9 (heart disease, unspecified) is assigned to a code from category I11, Hypertensive heart disease and that you should use additional code(s) from category I50 or I51 to identify the heart condition. A second paragraph, also new for FY2026, states that hypertension with heart conditions classified to I51.5 (myocardial degeneration) or I51.7 (cardiomegaly) is assigned to a code from I11 with no additional code for the specific heart condition. The guideline goes on to say that the same heart conditions with hypertension are coded separately if the provider has documented they are unrelated to the hypertension, in which case the applicable hypertension code I10, Essential (primary) hypertension, or a code from category I15, Secondary hypertension should be assigned. Sequencing follows the circumstances of the encounter. Applied to a routine cardiology visit: a patient with documented hypertension and chronic systolic heart failure, with nothing in the record separating the two, is reported as I11.0 (Hypertensive heart disease with heart failure) plus I50.22. Not I10 plus I50.22. The Tabular List makes the same point from the other direction I11.0 carries "use additional code to identify type of heart failure (I50.-)," and category I50 carries a code-first note for heart failure due to hypertension (I11.0). Reporting I10 and I50.22 as two unlinked codes is one of the highest-volume diagnosis coding errors in cardiology and it has a downstream effect beyond the claim: it strips the hypertensive heart disease relationship out of the practice's risk adjustment and quality data.
Heart failure and chronic kidney disease
When hypertension, heart involvement and chronic kidney disease are all present, the combination category is I13, Hypertensive heart and chronic kidney disease. FY2026 added an opening sentence to guideline I.C.9.a.3 stating plainly that the codes in category I13 are combination codes that include hypertension, heart disease and chronic kidney disease. Reporting I11 and I12 side by side in this situation is incorrect. The Tabular List instructions at I13 direct you to add a code from category I50 to identify the type of heart failure and a code from category N18 to identify the stage of chronic kidney disease. Verify the specific instructions and the current N18 code choices in the FY2026 Tabular List before assigning, since the CKD stage codes have their own structure and their own chapter-specific guideline at I.C.14.a. A typical correct set for a hypertensive patient with chronic systolic heart failure and stage 3a CKD: I13.0, I50.22 and the applicable N18 stage code, sequenced according to the circumstances of the encounter.
Heart failure and cardiomyopathy
Heart failure and cardiomyopathy are not synonyms and neither one replaces the other. Cardiomyopathy is classified in I42.- (and ischemic cardiomyopathy in I25.5). Heart failure is I50.-. A patient can have a documented cardiomyopathy without documented heart failure and can have documented heart failure without a documented cardiomyopathy. When both are documented, both are generally reported, with sequencing driven by the reason for the encounter. What a coder should not do is convert "ischemic cardiomyopathy" into a heart failure code, or convert "chronic systolic heart failure" into a cardiomyopathy code, because the two diagnoses look clinically adjacent. Review the Tabular List instructions at the specific cardiomyopathy code before assigning, since some carry their own code-first and use-additional-code notes.
Heart failure and coronary artery disease
Atherosclerotic heart disease is classified in I25.- and guideline I.C.9.b covers atherosclerotic coronary artery disease and angina. CAD does not become a heart failure code and heart failure does not become a CAD code. Both are reported when both are documented and clinically relevant to the encounter. The relationship worth watching is ischemic cardiomyopathy, which involves CAD, cardiomyopathy and heart failure terminology in the same phrase. Read the provider's actual diagnostic statement and follow the Index and Tabular List rather than assembling a code set from the clinical picture.
Heart failure and atrial fibrillation
These two coexist constantly and they are entirely separate code families. Atrial fibrillation is an arrhythmia in I48.-. Heart failure is I50.-. Both may be reported when both are documented. Neither establishes the other. A patient with documented atrial fibrillation does not thereby have heart failure and a patient with documented heart failure does not thereby have atrial fibrillation. If your practice codes a lot of both, the atrial fibrillation ICD-10 coding guide covers the I48 structure in the same level of detail and the hypertension ICD-10 coding guide covers the I10–I16 combination rules referenced above.
Related diagnosis categories at a glance
| Condition | Category | Relationship to I50 |
|---|---|---|
| Heart failure | I50.- | — |
| Atrial fibrillation and flutter | I48.- | Separate diagnosis; both codes reported when documented |
| Cardiomyopathy | I42.- | Separate diagnosis; neither replaces the other |
| Hypertensive heart disease | I11.- | Combination code; I11.0 sequenced first with I50.- added |
| Hypertensive heart and chronic kidney disease | I13.- | Combination code; add I50.- for type and N18.- for CKD stage |
| Atherosclerotic heart disease | I25.- | Separate diagnosis; report both when documented |
| Cor pulmonale (chronic) | I27.81 | Code also, if applicable, right heart failure (I50.81-) |
| Rheumatic heart failure | I09.81 | Code first; add I50.- for type |
| Postprocedural heart failure | I97.13- | Code first; add I50.- for type |
| Cardiac arrest | I46.- | Excludes2 at I50; both may be reported |
How to Select the Correct Heart Failure ICD-10-CM Code
The selection logic runs in one direction: documentation → Alphabetic Index → Tabular List → instructional notes → final code. Guideline I.B.1 is explicit that it is essential to use both the Index and the Tabular List, because the Index does not always provide the full code.
- Identify the documented diagnosis. Find the provider's assessment or diagnostic statement, not the problem list, not the order, not the imaging impression.
- Read the provider's exact terminology. "HFpEF," "diastolic dysfunction," and "diastolic heart failure" are three different phrases with three different coding consequences.
- Determine whether acuity is documented. Acute, chronic, acute on chronic, decompensated, compensated, or nothing.
- Determine the type. Systolic, diastolic, combined, left, right, biventricular, high output, end stage, or unspecified.
- Identify associated conditions. Hypertension, CKD, cardiomyopathy, CAD, atrial fibrillation, cor pulmonale, recent cardiac surgery.
- Locate the term in the Alphabetic Index. Main term "Failure," subterm "heart," then the applicable subterms.
- Verify the code in the Tabular List. Every time. The Index will not show you the Excludes1 at I50.2 or the code-also at I50.84.
- Read the inclusion terms. They are how HFrEF and HFpEF map to subcategories.
- Read the Excludes1 and Excludes2 notes. Excludes1 is absolute; Excludes2 permits both codes.
- Check code-first and use-additional-code instructions. This is where I11.0, I13.-, I09.81 and I97.13- enter the picture.
- Apply sequencing rules. Etiology before manifestation where the convention applies; "code also" leaves sequencing to the circumstances of the encounter.
- Confirm fiscal-year validity. The code must be valid for the date of service, not the date you are keying the claim.
- Compare the selected code back against the documentation. If you cannot point to the sentence that supports the code, the code is not supported.
- Query when clarification is appropriate and compliant.
- Validate the diagnosis against the billed service and the payer's requirements before the claim goes out.
Steps 7 through 10 are the ones production pressure removes first and they are the ones that generate the denials.
Documentation Requirements for Heart Failure Coding
There is a distinction worth making up front, because it gets blurred constantly in billing conversations: documentation that supports a diagnosis and documentation that a specific payer requires for a specific service are two different standards. The first is governed by ICD-10-CM and the Official Guidelines and is the same everywhere. The second varies by payer, by service and by date of service. For heart failure diagnosis coding, documentation that supports accurate code selection generally includes:
- the provider's diagnostic statement, in the assessment, naming heart failure
- the type systolic, diastolic, combined, right, biventricular, high output, end stage when clinically established
- the acuity acute, chronic, acute on chronic when clinically established
- the linkage or explicit non-linkage to hypertension, where hypertension is also documented
- associated conditions the encounter addresses: CKD stage, cardiomyopathy, CAD, arrhythmia
- the clinical assessment supporting that the condition was evaluated or managed at this encounter
- relevant diagnostic findings referenced in the provider's own assessment
- the plan
- authentication by the physician or qualified health care professional, per applicable requirements
Notice what is absent from that list: the coder's clinical judgment. Guideline I.A.19 says the provider's diagnostic statement is what establishes the condition. Guideline I.B.14 lists the narrow set of data elements that may be taken from clinicians other than the patient's provider BMI, pressure ulcer stage, coma scale, NIHSS, laterality, blood alcohol level, social determinants of health and a few others. Heart failure type and acuity are not on that list.
When a Provider Query May Be Appropriate
A query is a request for clarification of ambiguous, conflicting, or incomplete documentation. It is not a mechanism for obtaining a better-paying diagnosis and it must follow your organization's compliance policy and applicable industry standards for query practice. Documentation patterns that commonly warrant a query in cardiology:
| Documentation | What is unclear | Reasonable query focus |
|---|---|---|
| "CHF" with no other detail | Type and acuity | Whether the heart failure is systolic, diastolic, or combined and its acuity, if clinically determinable |
| "Heart failure exacerbation" | Whether a chronic baseline exists | Whether this represents acute, chronic, or acute on chronic heart failure |
| "HFrEF" with no acuity | Acuity only type is established by inclusion term | Acuity |
| "HFpEF" with no acuity | Acuity only | Acuity |
| "HFmrEF" | No corresponding ICD-10-CM inclusion term | Whether the heart failure is characterized as systolic, diastolic, or combined |
| Systolic HF in the problem list, diastolic dysfunction in the echo impression | Whether a combined diagnosis exists | Whether the patient has combined systolic and diastolic heart failure as a single diagnosis |
| "Acute HF" in the HPI, "chronic HF" in the assessment | Conflicting acuity | Which characterization reflects the condition at this encounter |
| HTN and HF both documented, with a note suggesting an unrelated etiology | Whether the presumed causal relationship applies | Whether the heart failure is related to the hypertension |
| Low EF with no heart failure diagnosis anywhere | Whether heart failure exists at all | Whether the finding represents a clinical diagnosis the provider wishes to state |
The last row is the one to handle most carefully. Asking a provider whether an EF of 30% "represents systolic heart failure" is a leading query. Asking whether the echo finding is associated with a clinical diagnosis the provider wishes to document and offering the full range of reasonable options including "no additional diagnosis," is not.
Common Heart Failure ICD-10 Coding Mistakes
| Coding mistake | Why it is a problem | Better approach |
|---|---|---|
| Defaulting to I50.9 when the note states type and acuity | Under-reports the documented condition and weakens risk adjustment and quality data | Abstract from the assessment, not the problem list header |
| Assigning I50.23 because the patient came in symptomatic | Acuity is not established by symptoms | Code the documented acuity; query if genuinely ambiguous |
| Reporting I50.21 and I50.22 together for acute-on-chronic | Ignores the combination code convention at I.B.9 | Assign I50.23 |
| Reporting a code from I50.2- and one from I50.3- together | Violates the Excludes1 note at both subcategories | Assign the applicable I50.4- code when both components are a documented diagnosis |
| Building a combined code from unrelated chart mentions | Diastolic dysfunction on an echo is a finding, not a heart failure diagnosis | Query when the record is ambiguous |
| Assigning I50.22 for "HFrEF" with no acuity documented | Adds specificity the record does not support | I50.20, or query for acuity |
| Coding heart failure from an ejection fraction value | Contradicts guideline I.A.19 | Code from the provider's diagnostic statement |
| Reporting I10 plus I50.- when hypertension and heart failure are both documented | Ignores the presumed causal relationship and guideline I.C.9.a.1 | I11.0 plus the applicable I50.- code |
| Reporting I11 and I12 together for HTN with heart and kidney involvement | I13 is the combination category | Assign the applicable I13 code, plus I50.- and N18.- |
| Assigning I13 without the CKD stage code | Omits an instructed additional code | Add the applicable N18 stage code |
| Assigning I50.84 alone for stage D heart failure | Misses the "code also" note for type | Report I50.84 plus the type code when known |
| Submitting I50.2, I50.3, I50.4, I50.8, or I50.81 | Non-billable subcategory headers | Assign a valid code with all required characters |
| Using I50.0 | No such code exists in ICD-10-CM | Use I50.9 for congestive heart failure NOS |
| Stopping at the Alphabetic Index | Misses Excludes, code-first and code-also instructions | Always verify in the Tabular List |
| Using a prior fiscal year's code set for a current date of service | Invalid codes reject or deny | Validate against the code set in effect on the date of service |
Heart Failure ICD-10 Coding Examples
The scenarios below are illustrative and hypothetical. They are written to show the reasoning, not to substitute for reviewing an actual record against the current Tabular List.
Example 1: Chronic systolic heart failure, established patient
Documentation. Assessment reads: "Chronic systolic heart failure, stable on current regimen. Continue GDMT. Follow-up 3 months." Issue to review. Type and acuity are both stated. Check whether hypertension is documented anywhere in the note. Code. I50.22, Chronic systolic (congestive) heart failure. Why it fits. "Chronic" gives the fifth character; "systolic" gives the fourth. Nothing else in the documentation triggers a code-first instruction. What to review further. If the same note carries a hypertension diagnosis, the presumed causal relationship applies and I11.0 becomes the first-listed diagnosis with I50.22 added.
Example 2: Acute on chronic diastolic heart failure
Documentation. "Acute on chronic diastolic heart failure. Volume overloaded. IV diuresis started." Issue to review. Confirm the acute and chronic components are both part of the diagnostic statement rather than one appearing in the HPI and the other in the assessment. Code. I50.33. Why it fits. The combination code fully identifies both components, so per guideline I.B.9 only the combination code is assigned.
Example 3: HFrEF with no acuity documented
Documentation. "HFrEF. EF 32% on echo 4/2026. Continue current therapy." Issue to review. HFrEF is an inclusion term at I50.2, so the type is established. Acuity is not stated anywhere. Code. I50.20, Unspecified systolic (congestive) heart failure. Why it fits. The subcategory is supported by the inclusion term. The fifth character requires documented acuity and neither the EF value nor the phrase "continue current therapy" supplies it. What to review further. A query for acuity is reasonable. So is a template change that prompts the provider for it, which solves the problem for every future encounter rather than one claim at a time.
Example 4: CHF, nothing further
Documentation. "CHF stable." Issue to review. Whether type or acuity appears anywhere else in the provider's own assessment. Code. I50.9, Heart failure, unspecified. Why it fits. Congestive heart failure NOS is an inclusion term at I50.9. "Stable" is not a coding term for acuity. What to review further. Query and treat a pattern of these as a documentation issue rather than a coding one.
Example 5: Heart failure with hypertension
Documentation. "1. Essential hypertension, controlled. 2. Chronic combined systolic and diastolic heart failure." Issue to review. Whether the record states the two are unrelated. It does not. Codes. I11.0, Hypertensive heart disease with heart failure, plus I50.42, Chronic combined systolic (congestive) and diastolic (congestive) heart failure. Why it fits. Guideline I.A.15 presumes the causal relationship, guideline I.C.9.a.1 assigns it to I11 and I11.0 carries a use-additional-code instruction for the type of heart failure.
Example 6: Heart failure with hypertension and CKD
Documentation. "Hypertensive heart and kidney disease. Chronic systolic heart failure. CKD stage 3a." Codes. I13.0, plus I50.22, plus the applicable N18 stage 3a code. Why it fits. I13 is the combination category when hypertension involves both the heart and the kidneys. The type of heart failure and the CKD stage are reported as instructed additional codes. What to review further. Verify the current N18 subdivision in the FY2026 Tabular List and the chapter-specific CKD guideline at I.C.14.a.
Example 7: End stage heart failure
Documentation. "End stage heart failure, chronic systolic. Palliative care consult placed." Codes. I50.84 and I50.22. Why it fits. The "code also" notes run in both directions between I50.84 and the type codes. Sequencing is not dictated by the note and follows the reason for the encounter.
Example 8: Right heart failure in a pulmonary hypertension patient
Documentation. "Chronic cor pulmonale with chronic right heart failure." Codes. I27.81 and I50.812. Why it fits. I27.81 carries a "code also, if applicable, right heart failure (I50.81-)" instruction and the acuity is documented as chronic.
Example 9: Heart failure with atrial fibrillation
Documentation. "Permanent atrial fibrillation, rate controlled. Chronic diastolic heart failure." Codes. The applicable I48.- code plus I50.32. Why it fits. Separate documented diagnoses in separate code families, both addressed at the encounter. Sequencing follows the reason for the visit.
Example 10: Echo with low EF, no heart failure diagnosis
Documentation. Echo report impression: "LVEF 30%, global hypokinesis." Office note assessment: "Abnormal echocardiogram. Cardiology follow-up arranged." Issue to review. There is no provider diagnostic statement of heart failure. Code. Do not assign an I50 code. Report the documented reason for the encounter. Why. Guideline I.A.19 requires a diagnostic statement. An imaging finding is not one. Query if the record suggests the provider intended a diagnosis and did not state it.
Heart Failure Diagnosis Codes and Claim Denials
A diagnosis code does not buy anything. It tells the payer what condition the documented service was performed for. Payment depends on whether the service is covered, whether the documentation supports it, whether the patient was eligible and whether any required authorization was obtained. Plenty of denials on heart failure claims have nothing to do with the I50 code at all. That said, several denial categories trace directly back to diagnosis coding:
- Diagnosis-to-service mismatch. The reported diagnosis does not appear on the payer's list of indications for the billed service, or the linkage on the claim points the wrong diagnosis at the wrong CPT line.
- Unsupported diagnosis. The code is reported but the record does not contain a provider statement establishing it. This surfaces in audits and post-payment review more often than in front-end denials.
- Insufficient specificity. Some payer policies require a specific heart failure code and will not accept I50.9 as an indication for a particular service.
- Invalid or truncated code. A subcategory header submitted as though it were a code, or a code from a prior fiscal year submitted for a current date of service.
- Sequencing problems. A manifestation code submitted first where the classification requires the etiology first.
- Missing instructed additional codes. I13 without a CKD stage code, or I11.0 without the heart failure type.
- Medical necessity. The service itself was not covered for this documented condition under the applicable policy.
- Coverage and authorization. Prior authorization not obtained, or the service performed outside the frequency limitation in the payer's policy.
Diagnosis coding controls some of those and none of the others. Sorting which is which is the whole point of denial analysis.
Medical Necessity and Heart Failure Diagnosis Codes
Medical necessity, in claim adjudication, is the payer's determination that a covered service was reasonable and necessary for the documented condition under its own coverage rules. Diagnosis codes are how the patient's documented condition gets communicated. They are one input into that determination, not the determination itself. Three consequences follow. Accurate coding is the goal, not favorable coding. A diagnosis code should reflect what the provider documented, full stop. Selecting a more specific heart failure code because a payer policy lists it as a covered indication, when the record does not support that specificity, is not optimization. A heart failure diagnosis does not establish coverage for every cardiology service. An I50 code on a claim does not by itself justify a stress test, a nuclear study, an echocardiogram, a cardiac CT, or a monitor. Coverage depends on the specific service, the documented clinical indication, the applicable policy and the date of service. Coverage rules differ by payer. Medicare national and local policy, Medicare Advantage plan rules and commercial medical policies are three different bodies of rules that can reach three different answers for the same patient.
Medicare Considerations for Heart Failure ICD-10 Coding
Medicare rules come from several layers and conflating them is a reliable way to get an appeal wrong. ICD-10-CM itself. CMS and NCHS jointly publish the code set and the Official Guidelines. Adherence to the guidelines is required under HIPAA for all healthcare settings and all payers, not just Medicare. CMS posts the annual code files and the guidelines on its ICD-10 page. National Coverage Determinations. NCDs apply nationwide. The clearest heart failure example is NCD 20.10.1, Cardiac Rehabilitation Programs for Chronic Heart Failure. Effective for dates of service on and after February 18, 2014, CMS covers cardiac rehabilitation for beneficiaries with stable, chronic heart failure, defined as left ventricular ejection fraction of 35% or less with New York Heart Association class II to IV symptoms despite optimal heart failure therapy for at least six weeks, in patients who have not had a major cardiovascular hospitalization or procedure in the prior six weeks or planned within six months. That NCD illustrates the coding-versus-coverage distinction better than any general statement can. A correct heart failure ICD-10 code is necessary for the claim. It is nowhere near sufficient for coverage, because the NCD's criteria are clinical values EF, NYHA class, therapy duration, stability that no ICD-10-CM code carries. The documentation has to contain them. Local Coverage Determinations and Billing and Coding Articles. Where no NCD exists, Medicare Administrative Contractors publish LCDs and companion Local Coverage Articles that often list the specific ICD-10-CM codes supporting medical necessity for a service. These vary by MAC and change over time. Cardiac monitoring, echocardiography and several imaging services are commonly addressed this way. Check the CMS Medicare Coverage Database for the policies your MAC has in effect and check them by date of service. National Correct Coding Initiative. NCCI procedure-to-procedure edits and Medically Unlikely Edits govern procedure code combinations and units. They are not diagnosis edits, but they interact with heart failure claims constantly in diagnostic testing, where component billing and same-day service combinations are routine. The NCCI Policy Manual and the quarterly edit files are published by CMS. Medicare Advantage. MA plans must cover at least what Original Medicare covers, but they administer their own utilization management, prior authorization and appeal processes. Do not assume an MA denial follows fee-for-service Medicare logic without checking the plan's policy. None of this transfers automatically to commercial payers.
Commercial Payer Considerations
Commercial medical policies are written independently. On a heart failure claim, they may differ from Medicare on:
- which diagnosis codes support a given service
- whether specificity beyond I50.9 is required for particular services
- prior authorization requirements, especially for advanced imaging and electrophysiology
- documentation submission requirements at the time of the claim
- frequency limitations
- network participation and referral rules
- timely filing deadlines
- corrected claim windows and submission methods
- the number of appeal levels, the deadlines for each and the format required
There is no shortcut here and no basis for generalizing one carrier's rule to another. Verify each payer's current published policy for the service and the date of service in question. Where a rule varies by plan within a carrier, verify at the plan level.
Heart Failure Diagnosis Coding and Cardiology Services
Heart failure patients generate a high volume of diagnostic and procedural services and the diagnosis code travels with all of them:
- transthoracic and transesophageal echocardiography
- exercise and pharmacologic stress testing
- nuclear cardiology studies
- ECG
- Holter, event and extended ambulatory cardiac monitoring
- cardiac CT and coronary CT angiography
- right and left heart catheterization and coronary angiography
- electrophysiology studies and ablation
- pacemaker, ICD and CRT implantation and follow-up
- remote device and remote physiologic monitoring
- cardiac rehabilitation
For every one of these, the heart failure diagnosis is context, not authorization. Whether the service is covered depends on the service itself, what the documentation says about why it was performed, the payer's policy in effect on the date of service and any authorization requirement. Practices that bill significant volumes of these services — cardiac imaging, nuclear cardiology and electrophysiology in particular usually find that diagnosis-related denials cluster by service line rather than spreading evenly, which makes them tractable once someone is actually measuring them.
Preventing Heart Failure Diagnosis-Coding Errors
Diagnosis-coding denials are cheaper to prevent than to appeal. A practical framework:
Before the visit
- verify eligibility and benefits
- check referral requirements
- check prior authorization requirements for any scheduled diagnostic or procedural service
- review the payer's current policy for services likely to be performed
During the encounter
- prompt for heart failure type and acuity in the note template rather than relying on retrospective queries
- capture associated conditions the encounter addresses: hypertension, CKD stage, cardiomyopathy, CAD, arrhythmia
- document the clinical assessment and plan that support the service performed
- document the specific clinical values that coverage policies require, such as EF and NYHA class for cardiac rehabilitation referrals
During coding
- work from the assessment, not the problem list
- run the Index-then-Tabular sequence every time
- check acuity, type and combined status against the actual documentation
- apply combination-code conventions for hypertension and CKD
- read code-first, use-additional-code, code-also and Excludes notes
- confirm fiscal-year validity for the date of service
- document the coding rationale where your compliance policy calls for it
Before submission
- validate every diagnosis code for structural validity and current-year status
- confirm the diagnosis-to-line linkage on the claim
- check payer-specific diagnosis requirements for the billed services
- run claim edits and resolve them rather than overriding them
After submission
- monitor clearinghouse rejections separately from payer denials
- review the remittance advice and EOB reason and remark codes rather than working from a summary status
- correct and resubmit where the issue is correctable
- appeal where the denial is substantively wrong
- track recurring patterns so the same denial stops recurring
Root-Cause Analysis for Heart Failure Coding Denials
Individual denials are anecdotes. Patterns are actionable. To find patterns, capture enough fields on each denial to slice them: denial reason code, payer, plan, ICD-10-CM code, CPT/HCPCS code, rendering provider, location, service line, date of service, billed and allowed amount, frequency, whether the root cause was documentation or coding or authorization or eligibility, appeal status and appeal outcome. Once that data exists, the questions answer themselves. Are heart failure denials concentrated with one payer? One provider's documentation? One service line? Do they cluster around I50.9 specifically? Did they spike after a template change or a fiscal-year transition? A cluster of unspecified-code denials from a single provider is a documentation and education problem. The same cluster spread evenly across all providers for one payer is a policy problem. Those need different fixes and you cannot tell them apart without the data.
Denial metrics worth tracking
- Denial rate = denied claims ÷ adjudicated claims × 100
- Denied dollar value, in addition to volume, since a low-volume high-dollar denial category can matter more than a high-volume low-dollar one
- Diagnosis-related denial rate as a subset of total denials
- Top denial reason codes, by payer
- Payer-specific denial rate
- Appeal overturn rate = appeals overturned ÷ appeals decided × 100
- Days to resolution, from denial posting to final disposition
- Recurrence rate for a specific denial category after a corrective action
Define the denominator explicitly and keep it stable. Organizations count denials differently some include front-end clearinghouse rejections, some count line-level denials rather than claim-level, some exclude contractual adjustments and some do not so a denial rate is only comparable against itself over time unless the definitions match. Published benchmarks from different sources are frequently not comparable for exactly this reason.
Appealing Denials Involving Heart Failure Coding
A structured approach:
- Read the actual denial reason. The reason and remark codes on the remittance advice, not the portal's one-line status.
- Determine whether it is correctable or appealable. A wrong code on the claim is a corrected claim. A correct code the payer disagrees with is an appeal. Submitting the wrong one wastes the deadline.
- Pull the payer's policy in effect on the date of service.
- Compare the claim against the record. Does the documentation support the code as submitted?
- Verify the code itself against the Tabular List for that fiscal year, including instructional notes and sequencing.
- Assemble the supporting records the denial actually calls for.
- Write a short, specific argument. Name the service, the date, the documented diagnosis, the guideline or policy provision that supports the coding and the page or section of the record that supports it. Long narrative appeals do not perform better than short, cited ones.
- Submit by the payer's required method portal, form, or mail and within the payer's deadline.
- Track it to a decision and record the outcome against the root-cause data.
Appeal rights, deadlines and levels differ by payer and by denial type. Nothing about a corrected diagnosis code guarantees payment; it removes one reason for non-payment.
Documentation that may be relevant to an appeal
Depending on the denial: the claim and remittance advice, the relevant office or procedure note, the provider's diagnostic statement, diagnostic results referenced in the note, the coding rationale, the applicable ICD-10-CM guideline text, the payer's policy language and authorization records where authorization was at issue. Not every appeal needs every item and padding an appeal with unrelated records slows it down.
FY2026, FY2027 and the Date-of-Service Rule
ICD-10-CM code sets are tied to the federal fiscal year. The FY2026 set took effect October 1, 2025 and applies to encounters and discharges through September 30, 2026. The FY2027 set takes effect October 1, 2026. The rule that matters operationally: the code set is selected by the date of service, not the date of submission, the date of coding, or the date the billing period started. A September 2026 date of service coded and submitted in November 2026 still uses FY2026 codes. For heart failure specifically, the FY2026 update left the I50 category unchanged no additions, no deletions, no description revisions. What did change for FY2026 was the guideline language at I.C.9.a.1 and I.C.9.a.3 governing hypertension with heart disease and with chronic kidney disease, which affects heart failure claims constantly even though no I50 code moved. Before October 1 each year, confirm the current I50 structure and its instructional notes against the CMS FY2027 code files and the FY2027 Official Guidelines and confirm that your EHR, encounter forms, provider preference lists and clearinghouse have loaded the new set. Claims that cross the transition are a recurring source of avoidable rejections.
Where Professional Cardiology Coding and Billing Support Fits
Nothing in this guide requires outside help to execute. What it requires is time and consistency and those are what tend to run short in a busy practice. The recurring pressure points in heart failure coding are specific: reading every note for type and acuity rather than pulling from the problem list, applying the hypertension and CKD combination conventions correctly on every claim, keeping up with annual guideline changes that do not announce themselves, running a query process that is compliant and actually gets answered, working diagnosis-related denials to root cause instead of one at a time and keeping accounts receivable from aging while all of that happens. Practices generally address this in one of three ways: hiring and retaining certified coders with cardiology depth, investing in ongoing documentation improvement with their physicians, or outsourcing part or all of the cycle. Each has real costs and real tradeoffs and the right answer depends on volume, staffing and payer mix. For practices that choose the third route, Cardiology Billing Services handles cardiology medical billing, medical coding, denial management, claims submission and tracking, payment posting and full revenue cycle management for cardiovascular practices, including dedicated support for heart failure programs. What matters more than the vendor is that someone owns the work: reads the notes, applies the conventions, tracks the denials and closes the loop with the physicians.
Frequently Asked Questions
What are the ICD-10 codes for heart failure? Heart failure is coded from category I50 in ICD-10-CM. The billable FY2026 codes are I50.1, I50.20, I50.21, I50.22, I50.23, I50.30, I50.31, I50.32, I50.33, I50.40, I50.41, I50.42, I50.43, I50.810, I50.811, I50.812, I50.813, I50.814, I50.82, I50.83, I50.84, I50.89 and I50.9. Code selection depends on documented type and acuity. What is the ICD-10-CM code for congestive heart failure? I50.9, Heart failure, unspecified. Congestive heart failure NOS is an official inclusion term under I50.9. If the record also documents systolic, diastolic, or combined heart failure and an acuity, a more specific code from I50.2-, I50.3-, or I50.4- applies instead. What is the ICD-10 code for acute heart failure? There is no single code for acute heart failure without a type. Acute systolic heart failure is I50.21, acute diastolic is I50.31, acute combined is I50.41 and acute right heart failure is I50.811. If only "acute heart failure" is documented with no type, I50.9 applies and a query for type is reasonable. What is the ICD-10 code for chronic heart failure? Chronic systolic is I50.22, chronic diastolic is I50.32, chronic combined is I50.42 and chronic right heart failure is I50.812. As with acute heart failure, the type has to come from the documentation. What is the ICD-10 code for acute on chronic heart failure? I50.23 for systolic, I50.33 for diastolic, I50.43 for combined and I50.813 for right heart failure. These are combination codes, so the acute and chronic components are not reported separately. What is the ICD-10 code for systolic heart failure? I50.20 when acuity is not documented, I50.21 for acute, I50.22 for chronic and I50.23 for acute on chronic. I50.2 alone is a non-billable subcategory header. What is the ICD-10 code for diastolic heart failure? I50.30 when acuity is not documented, I50.31 for acute, I50.32 for chronic and I50.33 for acute on chronic. I50.3 alone is not billable. What is the ICD-10 code for combined systolic and diastolic heart failure? I50.40 when acuity is not documented, I50.41 for acute, I50.42 for chronic and I50.43 for acute on chronic. Because I50.2- and I50.3- each carry an Excludes1 note for I50.4-, systolic and diastolic codes are not reported together for a combined condition. What is the ICD-10 code for unspecified heart failure? I50.9. It is the correct code when the provider has documented heart failure and the record does not establish type or acuity. Guideline I.B.18 confirms that unspecified codes have acceptable and necessary uses. Does HFrEF have an ICD-10-CM code? There is no code titled HFrEF, but "heart failure with reduced ejection fraction [HFrEF]" is an official inclusion term at subcategory I50.2, Systolic (congestive) heart failure. Because I50.2 is not billable, documented acuity determines the fifth character I50.20, I50.21, I50.22, or I50.23. Does HFpEF have an ICD-10-CM code? Same structure. "Heart failure with preserved ejection fraction [HFpEF]" is an inclusion term at subcategory I50.3, Diastolic (congestive) heart failure, so the applicable code is I50.30, I50.31, I50.32, or I50.33 depending on documented acuity. Is there an ICD-10 code for HFmrEF? No. Heart failure with mildly reduced ejection fraction has no inclusion term or dedicated code in the FY2026 I50 category. When HFmrEF is documented without a systolic, diastolic, or combined characterization, I50.9 may be the accurate code and a query is appropriate. Can heart failure and atrial fibrillation both be coded? Yes. Atrial fibrillation is classified in I48.- and heart failure in I50.-. Both are reported when both are documented and relevant to the encounter. Neither diagnosis establishes the other. Can heart failure and hypertension be coded together? They are coded as a combination. Per FY2026 guideline I.C.9.a.1, hypertension with a heart condition classified to I50.- is assigned to category I11, with an additional code from I50 to identify the heart failure typically I11.0 plus the applicable I50 code. They are coded separately, using I10 or a code from I15, only when the provider has documented that the conditions are unrelated. How does documentation affect heart failure ICD-10-CM coding? Documentation determines everything below the category level. Type and acuity both come from the provider's diagnostic statement and guideline I.A.19 confirms that code assignment is based on that statement rather than on clinical criteria such as ejection fraction, BNP, or imaging findings. Where the statement is ambiguous or conflicting, the remedy is a compliant query, not inference. Can a coder assign a heart failure code based on ejection fraction? No. An EF value is a clinical finding. Assigning a heart failure diagnosis code from it, or using it to choose between systolic and diastolic, substitutes the coder's clinical judgment for the provider's diagnostic statement. Which heart failure codes are not billable? I50 itself, plus subcategory headers I50.2, I50.3, I50.4, I50.8 and I50.81. Each requires additional characters. Submitting any of them will not produce a valid claim.
Key Takeaways
- Heart failure ICD-10 codes live in category I50, with 22 billable codes in the FY2026 set and five non-billable subcategory headers.
- Code selection turns on documented type and documented acuity. Both come from the provider's diagnostic statement.
- HFrEF maps to I50.2- and HFpEF maps to I50.3- through official inclusion terms, but acuity still has to be documented separately. HFmrEF has no ICD-10-CM code.
- Congestive heart failure NOS is I50.9. The word "congestive" adds no coding specificity and there is no I50.0 in ICD-10-CM.
- The Excludes1 note at I50.2 and I50.3 prohibits reporting systolic and diastolic codes together; use I50.4- when both components are a documented diagnosis.
- I50.84 and the type code go together through reciprocal "code also" notes.
- Hypertension with heart failure is a combination code situation: I11.0 plus the I50 code, per FY2026 guideline I.C.9.a.1. With CKD in the picture, it is I13 plus I50 plus N18.
- I50.9 is not automatically wrong. Guideline I.B.18 supports unspecified codes when they reflect what is known at the encounter.
- A correct diagnosis code does not establish coverage. NCD 20.10.1's cardiac rehabilitation criteria are the clearest example of coverage requirements that no ICD-10 code carries.
- Code to the date of service. FY2026 codes apply through September 30, 2026; FY2027 codes apply from October 1, 2026.
Conclusion
Accurate heart failure ICD-10 coding comes down to a short discipline repeated consistently: read the provider's diagnostic statement, take type and acuity only from what is documented, verify the code in the Tabular List rather than stopping at the Index, honor the code-first and combination-code conventions that govern hypertension and chronic kidney disease and code to the fiscal year in effect on the date of service. The I50 category is not especially complicated. What makes heart failure coding difficult is the volume of adjacent clinical information ejection fractions, natriuretic peptides, echo impressions, medication changes that looks like it should inform code selection and does not. Coders who hold that line and practices that build documentation prompts so providers supply type and acuity in the first place, spend far less time on diagnosis-related denials and appeals than practices that treat heart failure coding as a lookup task.



