How to correctly select CHF ICD 10 codes: I50.1 vs I50.2 vs I50.9
According to the Heart Failure Society of America’s HF Stats 2025 report, about 6.7 million Americans aged 20 and older currently have heart failure. That number is expected to rise to 8.7 million by 2030, 10.3 million by 2040, and 11.4 million by 2050.
The lifetime risk of HF has also risen to 24%, meaning about 1 in 4 people will develop HF at some point in their life. Every one of those patient encounters will need an ICD-10 code, and the detail in the provider’s note determines whether the code assigned truly reflects what the patient has.
With that many encounters requiring code assignment, the gap between a coder who understands the I50 hierarchy and one who defaults to I50.9 on every visit adds up to hundreds or thousands of errors each year within a single practice or hospital.
This blog covers every code in the I50 family, what each one requires in the documentation, and where the most common and costly errors happen.
The Complete ICD-10-CM I50 Code Hierarchy
Every heart failure code in ICD-10-CM requires two questions to be answered before a code is finalized..
Question 1: What type of heart failure is this?
This means the physical mechanism, specifically what is going wrong inside the heart and where.
Question 2: What is the current acuity?
This means the patient’s current status, whether it is a new event, a stable ongoing condition, or a flare of something already established. Both questions matter because each one covers a different part of the code structure, with type in the second character and acuity in the fourth, and leaving either one as ‘unspecified’ reduces the accuracy of the final code and weakens the claim if it is audited.
Both parts must be captured in the final code whenever the provider’s note supports them. The hierarchy below reflects the actual FY2026 billable code structure from the CMS ICD-10-CM Tabular List.
I50.1: Left Ventricular Failure, Unspecified
I50.1 (Left ventricular failure) is a code based on anatomy or location. Even though the tabular list may show related synonyms nearby, coders must use the most specific I50.x code that the provider’s documentation supports. That rule is the most important thing to understand about this code and is behind more coding errors in this category than almost anything else.
What I50.1 tells you:
- It shows where the failure is happening, specifically the left ventricle
- It does not tell you how the heart is failing, whether that is a squeeze problem, a filling problem, or both
The CMS FY2026 Tabular List may list approximate synonyms near I50.1, including phrases such as:
- Acute left-sided congestive heart failure
- Chronic left-sided congestive heart failure
- Congestive heart failure, left ventricle
However, if the provider clearly documents left ventricular systolic dysfunction, reduced ejection fraction, HFrEF, or systolic heart failure, you must use an I50.2x code rather than I50.1, because synonyms in the tabular list do not override the requirement to code the more specific mechanism when it is documented.
When to use I50.1:
- The provider documents ‘left ventricular failure,’ ‘left-sided heart failure,’ or ‘left heart failure’
- No further detail about the mechanism appears in the note
- The workup is still in progress and the type has not yet been confirmed
When NOT to use I50.1:
- The provider also documents reduced ejection fraction or systolic dysfunction (use I50.2x instead)
- The provider also documents preserved ejection fraction or diastolic dysfunction (use I50.3x instead)
One more limitation: I50.1 has no acuity subcategories, meaning you cannot code acute versus chronic within this code, and when both the mechanism and the acuity are known, a code from the I50.2x or I50.3x series will always give a more complete picture of the clinical reality. Why those more specific codes exist, and why using I50.1 when the documentation supports something better is a coding error rather than a safe choice, becomes clear once you understand what systolic failure means and what the provider’s note must say before that mechanism can be coded.
I50.2 Series: Systolic Heart Failure (HFrEF)
Systolic heart failure means the heart cannot squeeze hard enough to push enough blood to the body, and it is also called heart failure with reduced ejection fraction (HFrEF). Per the 2022 AHA/ACC/HFSA Guideline for the Management of Heart Failure, HFrEF is defined as LVEF at or below 40%.
Critical rule: The ejection fraction number alone does not assign the code. The provider must clearly document ‘systolic heart failure,’ ‘HFrEF,’ ‘reduced ejection fraction,’ or similar language in the assessment or plan, because a reduced EF that appears only in a test report, without a provider-stated diagnosis to go with it, does not meet the coding requirement.
| Code | Full Description | Use When |
|---|---|---|
| I50.20 | Systolic heart failure, unspecified | Provider documents systolic HF but does not specify whether it is acute or chronic |
| I50.21 | Acute systolic heart failure | Brand-new systolic HF or a sudden decompensation with no prior established chronic diagnosis |
| I50.22 | Chronic systolic heart failure | Known, ongoing systolic HF that is stable and under active management |
| I50.23 | Acute on chronic systolic heart failure | An active decompensation or flare occurring in a patient with established chronic systolic HF |
I50.3 Series: Diastolic Heart Failure (HFpEF)
Diastolic heart failure means the left ventricular muscle has become stiff and cannot relax and fill properly between beats, and it is also called heart failure with preserved ejection fraction (HFpEF). Per the 2022 guideline, HFpEF is defined as LVEF at or above 50%, with signs of increased LV filling pressures (elevated natriuretic peptides or abnormal Doppler filling studies), meaning the squeeze is preserved while the filling is impaired.
| Code | Full Description | Use When |
|---|---|---|
| I50.30 | Diastolic heart failure, unspecified | Provider documents diastolic HF but does not specify whether it is acute or chronic |
| I50.31 | Acute diastolic heart failure | New-onset diastolic HF or sudden decompensation with no prior chronic diagnosis |
| I50.32 | Chronic diastolic heart failure | Established diastolic HF that is stable and under ongoing management |
| I50.33 | Acute on chronic diastolic heart failure | An active decompensation in a patient with established chronic diastolic HF |
In some patients, the documentation will not let the coder place the dysfunction clearly on one side of the systolic-versus-diastolic divide, because both mechanisms are named in the provider’s assessment and both need to be reflected in the code.
I50.4 Series: Combined Systolic and Diastolic Heart Failure
I50.4x applies when the provider clearly documents that both systolic dysfunction and diastolic dysfunction are present at the same time. This is not a default code for uncertain cases, and both components must be named in the clinical documentation before this code can be used.
The acuity subcategories follow the same structure:
- 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
All of the codes covered so far address left-sided or biventricular dysfunction, but right ventricular failure follows a separate coding logic in FY2026, with its own subcategory series, its own sequencing rules, and an important distinction between failure that starts in the right ventricle on its own and failure that develops because of left-sided disease.
I50.81 Series: Right Heart Failure
Right heart failure in ICD-10-CM FY2026 is coded under the I50.81x series. Do not use I50.0 for right heart failure. Always follow the current CMS ICD-10-CM Tabular List.
The current billable right heart failure codes are:
- 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 (right ventricular failure secondary to left ventricular failure); use with a ‘code also’ for the type of left ventricular failure (I50.2x through I50.43), if known
- I50.82: Biventricular heart failure; use when both ventricles are failing and the provider documents biventricular failure
- I50.83: High output heart failure; use when the provider clearly documents high output heart failure
- I50.84: End stage heart failure; use when the provider documents end stage or Stage D heart failure
- I50.89: Other heart failure; use when the provider documents a specific type of heart failure that does not fit any other defined I50.x subcategory but is more specific than ‘unspecified’ (I50.9)
Important distinction: When right heart failure develops directly because of left-sided dysfunction, assign I50.814 (Right heart failure due to left heart failure), with a ‘code also’ instruction to add the applicable left-sided code (I50.2x, I50.3x, or I50.4x) if the type of left ventricular failure is known. The I50.810 to I50.813 codes are used when right ventricular failure is independent or linked to pulmonary causes such as chronic cor pulmonale (I27.81) or pulmonary embolism. When chronic cor pulmonale is the documented condition, code I27.81 first, then add I50.81x if right heart failure is also clearly stated.
On the opposite end of the specificity range from all of these detailed subcategories is a single code that is both fully valid and frequently overused, and knowing exactly when it is appropriate requires knowing just as clearly when using it is a documentation-driven coding error rather than a safe choice.
I50.9: Heart Failure, Unspecified
I50.9 is a valid, billable ICD-10-CM code that is not wrong when used correctly, and the problem is that it is often used in situations where the documentation clearly supports something more specific.
When I50.9 is correct:
- The provider’s note says only ‘heart failure’ or ‘congestive heart failure’ with no further detail
- The encounter is early in a workup and the type has genuinely not yet been determined
- No diagnostic data or clinical history in the available record clarifies the mechanism
When I50.9 is a coding error:
- The problem list shows I50.9 from an older visit but current encounter documentation clearly supports a specific type (correct action: update the code to reflect the current documentation)
- The provider used ‘HFrEF’ or ‘HFpEF’ in the history section but wrote only ‘CHF’ in the assessment (correct action: CDI query to confirm the assessment language)
The most important version of that query is the one that asks a provider to tell the difference between two presentations that can look nearly the same in a decompensated patient but lead to entirely different codes, entirely different treatment paths, and meaningfully different reimbursement outcomes.
HFrEF vs HFpEF: The Clinical Difference and What It Means for Coding
This distinction is the most financially and clinically significant difference in heart failure coding, and it is the one most often lost to a single unspecified code. The breakdown below is based on the 2022 guideline.
HFrEF (Maps to I50.2x)
What is happening physiologically:
- The left ventricle is enlarged and the heart muscle has lost squeezing strength
- Each beat pushes out less blood than the body needs
- LVEF is at or below 40%
Common underlying causes:
- Ischemic cardiomyopathy (coronary artery disease and prior MI)
- Dilated cardiomyopathy
- Long-term uncontrolled hypertension
- Toxic cardiomyopathy (alcohol, chemotherapy-related)
Medical therapy (GDMT) per 2022 guideline:
- ARNIs (sacubitril/valsartan) as the preferred renin-angiotensin system inhibitor; ACE inhibitors (ACEi) are recommended when ARNI is not feasible; ARBs are recommended for patients with intolerance or adverse reaction to ACEi
- Beta-blockers (carvedilol, metoprolol succinate, bisoprolol)
- Mineralocorticoid receptor antagonists (spironolactone, eplerenone)
- SGLT2 inhibitors (Class of Recommendation 1a for symptomatic patients with chronic HFrEF, regardless of the presence of type 2 diabetes)
- Diuretics for symptom management
That treatment profile is different enough from other heart failure types that payers and auditors expect to see it reflected in the code, which is why the provider’s note language, and not the echo report in the chart, is what determines whether I50.2x can be assigned.
HFpEF (Maps to I50.3x)
What is happening physiologically:
- The left ventricular muscle is stiff and cannot relax normally between beats
- Filling is impaired but the squeeze is preserved
- LVEF is at or above 50%, with signs of increased LV filling pressures per the 2022 guideline definition
Common associated conditions:
- Obesity
- Hypertension
- Atrial fibrillation
- Diabetes mellitus
- Older age, more common in women
Pharmacological management, updated through 2025:
- SGLT2 inhibitors: The 2022 guideline gave a Class 2a recommendation for HFpEF; the 2023 ACC Expert Consensus Decision Pathway on HFpEF Management further reinforced this, advising that SGLT2 inhibitors be initiated in eligible HFpEF patients absent contraindications, though this consensus document does not formally upgrade the guideline class of recommendation.
- Finerenone (Kerendia): FDA-approved on July 14, 2025 for HF with LVEF at or above 40% (covering both HFpEF and HFmrEF), based on results from the FINEARTS-HF trial, marking the first FDA-approved indication for a nonsteroidal MRA specifically for heart failure with preserved or mildly reduced ejection fraction.
- ARNIs (Class 2b recommendation per 2022 guideline, with greater benefit in patients with EF below 60% and in women per the 2023 ACC Consensus)
- Management of contributing conditions, especially hypertension, now formalized as PM-2: Blood Pressure Control in HFpEF With Hypertension, a performance measure released jointly by the ACC and AHA with HFSA endorsement, published online August 8, 2024 simultaneously in the Journal of the American College of Cardiology and Circulation: Cardiovascular Quality and Outcomes.
That growing and increasingly specific drug landscape for HFpEF makes precise documentation more important than ever, because a claim coded to I50.9 on a patient receiving finerenone and an SGLT2 inhibitor will not reflect what the provider is actually managing and will not hold up in a clinical validation review that checks the medication list against the diagnosis code.
Provider language in the note that maps to I50.3x:
- ‘Heart failure with preserved EF’
- Documentation of diastolic dysfunction on Doppler studies combined with a clear heart failure diagnosis
What About HFmrEF (LVEF 41 to 49%)?
The 2022 guideline formally defined four EF-based categories: HFrEF (LVEF at or below 40%), HFmrEF (LVEF 41 to 49%), HFpEF (LVEF at or above 50%), and HFimpEF, with HFimpEF referring to patients who previously had LVEF at or below 40% and later measured above 40% on follow-up.
There is no dedicated ICD-10-CM code for HFimpEF; it maps to the I50.2x series. Patients with HFimpEF should stay on guideline-directed medical therapy for HFrEF even after EF improves, because an improved EF does not mean the underlying disease is gone. Coders who see documentation of ‘improved EF’ in a patient with known HFrEF should query the provider before changing the code.
What this means for coders:
- The provider’s documented clinical judgment determines the code
- A CDI query is appropriate if the note does not classify the type
- Coders must not assign a code by guessing from a borderline EF number alone
In the 2022 guideline, SGLT2 inhibitors carried a Class 2a recommendation for HFmrEF, while ARNi, ACEi, ARB, steroidal MRA, and beta-blockers carried a Class 2b recommendation.The treatment landscape has evolved since the 2022 guideline. Finerenone, FDA-approved in July 2025 for LVEF at or above 40% as described in the HFpEF section above, is increasingly recognized by clinicians as an important addition to therapy alongside SGLT2 inhibitors in both HFmrEF and HFpEF, though a formal guideline update incorporating this approval has not yet been published. That growing treatment complexity in borderline EF patients makes the documentation standard at the next level of the coding hierarchy more important to understand clearly, because the line between an echo result and a billable diagnosis is where a large share of systolic heart failure coding errors actually happen.
Left Ventricular Systolic Dysfunction (LVSD): How It Maps to ICD-10
LVSD shows up constantly in echo reports and clinical notes, sitting right at the line between a test finding and a clinical diagnosis, and that line is where many of the most consequential coding errors occur.
LVSD documented with a provider-stated heart failure diagnosis:
- Code from the I50.2x series
- The specific subcode depends on the documented acuity (acute, chronic, or acute on chronic)
- Per the CMS FY2026 Tabular, ‘congestive heart failure due to left ventricular systolic dysfunction’ is listed as an approximate synonym for I50.1, but coders must not assign I50.x based only on an asymptomatic echo finding unless the provider documents a clinical heart failure diagnosis
LVSD documented only as an echo finding without a provider-stated heart failure diagnosis:
- Do NOT code I50.2x (or any I50.x)
- A reduced EF on an echocardiogram report, without a matching provider diagnosis in the assessment or plan, is a test finding and not a billable heart failure diagnosis
- Per ICD-10-CM Official Coding Guidelines, coders cannot assume a diagnosis from test results alone
Instead, code the presenting symptom (e.g., dyspnea R06.00, edema R60.9) or the underlying condition that led to the echo, or use a more specific structural heart disease code if the interpreter documents a specific diagnosis. Do not default to I51.9; when in doubt, submit a CDI query to the provider for clarification.
Note language that supports I50.2x coding for LVSD:
- ‘Systolic dysfunction with heart failure’
- ‘LVSD with HFrEF’
- ‘Heart failure secondary to left ventricular systolic dysfunction’
- ‘Reduced ejection fraction, consistent with HFrEF’ stated in the provider’s assessment
- Any phrasing that clearly connects reduced LV contractility to a clinical heart failure diagnosis in the provider’s own words
Knowing what the provider’s note must say is one part of that picture, and knowing what role the ejection fraction number itself plays, and equally what role it does not play, is the other, because mixing up those two things is the documentation gap most likely to produce a clinical validation denial on a systolic or diastolic heart failure claim.
Ejection Fraction Documentation: What Is Required for Accurate CHF Coding
EF documentation does not assign the code; it supports it. That distinction matters because it defines what each party’s role is: the provider’s words create the diagnosis, and the documented EF value gives payers and auditors the objective clinical evidence to confirm the code is defensible.
For systolic heart failure (I50.2x):
- An LVEF value at or below 40% from a clearly identified diagnostic study (echocardiogram, cardiac MRI, nuclear stress test, or left ventriculography)
- The name and date (or approximate timeframe) of that study
- The provider’s clear diagnosis of systolic dysfunction, HFrEF, or reduced ejection fraction in the assessment or plan
For diastolic heart failure (I50.3x):
- LVEF at or above 50%
- Evidence of increased LV filling pressures or diastolic dysfunction on objective testing (elevated BNP, abnormal E/A ratio, reduced E’ velocity on tissue Doppler, or estimated elevated filling pressures)
- The provider’s clear diagnosis of diastolic dysfunction, HFpEF, or preserved ejection fraction in the assessment or plan
For combined dysfunction (I50.4x):
- Both reduced contractility and impaired relaxation documented
- Both components named in the provider’s assessment, not inferred from test data alone
For borderline EF (41 to 49%):
- Provider judgment and clear documentation of the clinical classification is required
- Coders must not assign a code by guessing from a borderline EF value alone
Ready-to-Use Documentation Templates
These examples are aligned with ICD-10-CM coding requirements and are designed for use in CDI education and provider communication.
Chronic systolic HF (I50.22): ‘Chronic systolic heart failure (HFrEF), LVEF 32% by echocardiogram [date]. Patient at current clinical baseline on optimized GDMT. No evidence of acute decompensation.’
Acute on chronic systolic HF (I50.23): ‘Acute on chronic systolic heart failure. Known HFrEF, LVEF 28% on most recent echo. Presenting with 10-pound weight gain over five days, worsening dyspnea at rest, bilateral crackles, and BNP elevated at [value]. Starting IV furosemide.’
Chronic diastolic HF (I50.32): ‘Chronic diastolic heart failure (HFpEF), LVEF preserved at 60% on echocardiogram [date]. Doppler consistent with grade II diastolic dysfunction. Stable on current regimen.’
The acute on chronic template in particular points to the most complex acuity situation in heart failure coding, one where two separate parts of the clinical picture must both be confirmed before the code can be used, and where one missing piece of documentation turns an accurate code into a compliance risk.
Acute on Chronic Heart Failure: Documentation Rules Every Coder Must Know
Acute on chronic heart failure is the most common presentation among hospitalized heart failure patients and also the most frequently miscoded, because correctly assigning I50.23 or I50.33 requires two separate documented elements that must both be confirmed before the code can be used.
Confirmation 1: The patient had established chronic heart failure before this visit
Evidence that supports chronicity includes prior encounter notes in the same record system documenting heart failure, a documented and active problem list entry for heart failure, medication records showing long-term heart failure therapy (diuretics, beta-blockers, ACE inhibitors, ARNI, SGLT2 inhibitors), and the current provider’s note clearly referencing a history of heart failure. If only an acute presentation is documented and there is no record evidence confirming pre-existing heart failure, coding ‘acute on chronic’ is an assumption-based error that violates ICD-10-CM Official Coding Guidelines.
Confirmation 2: The patient is actively decompensating right now
Provider language that supports the acute component includes ‘acute decompensation,’ ‘decompensated heart failure,’ ‘acute on chronic heart failure,’ ‘acute exacerbation of chronic heart failure,’ and clinical descriptions of worsening above the established baseline such as new weight gain, escalating dyspnea, increasing edema, or hemodynamic deterioration in a patient with known chronic heart failure. A routine chronic disease management visit for a stable heart failure patient does not support an acute on chronic code even when the patient has had prior decompensations.
Why Acuity Coding Directly Affects Reimbursement
Under FY2026 MS-DRG version 43.0 (effective October 1, 2025 through September 30, 2026), heart failure inpatient admissions typically group into DRG 291 (Heart failure and shock with MCC), DRG 292 (Heart failure and shock with CC), or DRG 293 (Heart failure and shock without CC/MCC). The acuity code determines which DRG tier the claim falls into, which sets the MS-DRG relative weight and the payment, and the compliance and revenue consequences of consistently under-coding are covered in the audit trigger analysis below.
When to Send a CDI Query
When a patient presents with signs of decompensation but the provider writes only ‘CHF’ or ‘heart failure’ in the assessment, a targeted CDI query is appropriate. The query should present clinical facts neutrally (documented weight gain, BNP level, oxygen requirements, diuretic escalation), ask the provider to confirm acuity as acute, chronic, or acute on chronic, ask the provider to confirm mechanism as systolic, diastolic, or combined, and stay factual and non-leading per ICD-10-CM Official Coding Guidelines on provider query etiquette. Recovery Audit Contractors and other payers use the same clinical signals to flag claims where the code specificity does not match the complexity documented in the record.
Common CHF Coding Audit Triggers
Recovery Audit Contractors (RACs), Medicare Administrative Contractors (MACs), and OIG work plan auditors consistently flag heart failure claims for review, and these are the patterns most reliably linked to audit activity.
Audit Trigger 1: I50.9 on a Complex Inpatient Admission
The problem: A patient is admitted for multiple days, receives IV diuretics, undergoes echocardiography, and the claim is submitted with I50.9.
Why it gets flagged: Automated payer systems detect a mismatch between the clinical complexity in the notes and the complete lack of specificity in the diagnosis code, and the level of service almost always supports a more specific code.
The fix: Query the provider for type and acuity before submitting the claim.
Audit Trigger 2: Systolic HF Coded Without LVEF Documentation
The problem: A claim is coded I50.22 or I50.23 but no echocardiogram, cardiac MRI, or other measured EF value appears in the record.
Why it gets flagged: Payers apply clinical validation criteria that require objective supporting evidence for specific code categories, and a claim coded to HFrEF without a documented EF gives the payer’s reviewer no clinical basis to confirm the code.
The fix: Make sure the EF measurement is in the record before submitting. The answer is complete documentation, not downcoding to I50.9.
Audit Trigger 3: Wrong Sequencing in Hypertensive Heart Failure
The problem: The coder places I50.x first when the provider has documented hypertension as the underlying cause of the patient’s heart failure.
Why it gets flagged: Per ICD-10-CM Official Guidelines, when hypertension causes heart failure, I11.0 (hypertensive heart disease with heart failure) must be listed as the principal or first-listed diagnosis, with the appropriate I50.x code added as a secondary code, and reversing this sequence is a guideline violation that automated payer edits routinely catch.
The fix: Before finalizing any heart failure claim, check whether hypertension is documented as the underlying cause and apply the correct sequencing.
Audit Trigger 4: Carrying Forward an Outdated Unspecified Code
The problem: The EHR problem list shows I50.9 from an earlier visit, but current notes and echocardiography results clearly support I50.22, and I50.9 is used only because it was pre-populated.
Why it gets flagged: Code assignment must reflect the most current, complete clinical picture at each individual encounter, and pre-populated codes that have not been checked against current documentation are a documentation-accuracy failure.
The fix: Review and confirm the heart failure code against current encounter documentation at every visit, not only at the first one.
Audit Trigger 5: Missing Combination Codes for Hypertension, CKD, and Heart Failure
The problem: A patient has documented hypertension, chronic kidney disease, and heart failure, but the coder assigns separate codes for each instead of using the I13.x combination code series.
Why it gets flagged: When all three conditions are present, ICD-10-CM requires the I13.x series, and using I10 plus I50.x plus N18.x separately when I13.x is required is a coding guideline violation that payer edits catch reliably.
The fix: Any time a patient has documented hypertension, chronic kidney disease, and heart failure together, check the I13.x series before finalizing the claim. Choose the specific I13 subcode (for example, I13.0, I13.10, or I13.11) based on CKD stage and presence of heart failure per the ICD-10-CM Tabular List and Official Guidelines, follow sequencing rules, and add appropriate N18.x codes as directed. Avoiding those audit triggers secures the ICD-10 side of the claim, but the revenue risk does not stop there, because an accurate diagnosis code paired with an incorrectly selected or underdocumented CPT code creates a different kind of denial risk that is just as common and just as avoidable.
CPT Codes Commonly Billed Alongside CHF ICD-10 Diagnoses
Accurate ICD-10 coding only protects revenue when the paired CPT code is also correctly selected and documented, and the following CPT codes appear most often alongside I50.x diagnoses in cardiology and inpatient settings.
93306: Complete Transthoracic Echocardiogram with Spectral and Color Flow Doppler
The main diagnostic study for heart failure, 93306 is used to measure ejection fraction, check wall motion, assess valve function, and estimate filling pressures. Documentation requirements for a clean claim include the technical quality of the study, findings for all major cardiac structures, Doppler measurements including LVEF and E/A ratio and E’ velocity where applicable, and the interpreting physician’s conclusions. When the echo is performed by one entity and interpreted by another, modifier 26 (professional component) applies to the interpretation bill and modifier TC (technical component) applies to the facility or technical bill, and billing 93306 without a modifier when only one component was provided is a common denial cause.
93308: Limited Transthoracic Echocardiogram
Used for serial EF monitoring in known HFrEF patients or targeted reassessment during an inpatient decompensation, 93308 requires documentation that explains why a limited rather than complete study was medically appropriate for that specific encounter.
99221 to 99223 and 99231 to 99233: Hospital Inpatient E/M Services
These codes reflect the complexity of inpatient heart failure management. Since the 2021 E/M revisions, inpatient visit levels are based on medical decision-making complexity or total time rather than the former three-part history and exam framework. Heart failure admissions typically support high-complexity MDM because of the multiple diagnoses being managed at the same time, the extensive data review needed across labs and imaging and telemetry, and the high-risk decisions involving IV diuresis, fluid restriction, and hemodynamic monitoring.
93000: 12-Lead ECG with Interpretation and Report
Atrial fibrillation, bundle branch blocks, and ischemic changes are common in heart failure patients and are regularly checked at each encounter. When billed on the same day as an office-based E/M service, modifier 25 must be placed on the E/M code to confirm the visit was a separately identifiable, medically necessary service.
99490: Chronic Care Management (CCM), 20 or More Minutes Per Calendar Month
Heart failure is one of the most appropriate qualifying diagnoses for CCM billing because active care coordination between visits, including volume status monitoring, medication titration, and early recognition of decompensation, is clinically necessary and time-intensive. The I50.x code must appear on the CCM claim as the qualifying condition, a written and patient-accessible care plan must be documented, at least two chronic conditions must be present, and documented patient consent or enrollment for Best Chronic Care Management is required where payer policies call for it. Submitting CCM with I50.9 for a patient with documented HFrEF is both a coding error and a missed opportunity to align the care plan with the patient’s confirmed clinical diagnosis.
93797 to 93798: Cardiac Rehabilitation
Physician-supervised cardiac rehabilitation is clinically appropriate for certain patients with HFrEF, particularly after a cardiac event, and payer requirements include documentation of supervision, session length, and the qualifying cardiac diagnosis, making accurate I50.x coding a requirement for a clean claim submission.
When the CPT code billed reflects significant clinical complexity but the ICD-10 code does not, payers treat that gap as a medical necessity problem, and accurate heart failure coding and accurate CPT selection are not separate tasks but the two sides of a single claim. Practices with persistent denial patterns, DRG discrepancies, or clinical validation challenges on heart failure admissions will almost always find the root cause in documentation gaps at the point of care, and those gaps flow directly through the EHR into the revenue cycle. A single point-of-care reference that brings together the code hierarchy, the documentation requirements, the sequencing rules, and the audit risk patterns in one place is the most practical way to close those gaps before they reach the claim.
Download: CHF ICD-10 Quick Reference Coding Card
A one-page reference card is available for download. It includes:
- The complete I50 hierarchy with all acuity subcodes and right heart failure codes
- The HFrEF vs HFpEF documentation checklist with EF thresholds per 2022 AHA/ACC/HFSA guidelines
- Sequencing rules for hypertensive heart failure (I11.0) and combined hypertension, CKD, and heart failure (I13.x)
- The five most common audit trigger patterns with their specific fixes
- Ready-to-use provider documentation templates for I50.22, I50.23, and I50.32
Disclaimer
This content is for educational and informational purposes only, intended for medical coders, CDI specialists, certified coding professionals, and healthcare providers. It does not constitute legal, compliance, billing, or clinical advice. All code assignments must be supported by physician documentation and must comply with the most current ICD-10-CM Official Guidelines for Coding and Reporting published by CMS, payer-specific policies, and your organization’s compliance standards. Clinical EF thresholds and treatment classifications are based on the 2022 AHA/ACC/HFSA Guideline for the Management of Heart Failure. Prevalence statistics are sourced from: Fonarow GC, et al. HF STATS 2025: Heart Failure Epidemiology and Outcomes Statistics. An Updated 2025 Report from the Heart Failure Society of America. Journal of Cardiac Failure. Published September 22, 2025. Code information reflects ICD-10-CM FY2026, effective October 1, 2025 through September 30, 2026. Always verify codes against the current CMS ICD-10-CM Tabular List at cms.gov before submission.

Avoid Costly CHF Coding Errors
Correct I50.x coding = fewer denials, faster reimbursement.
Divan Dave is the Founder and CEO of OmniMD, a pioneering healthcare IT company he established in 2002. With over two decades of leadership, Mr. Dave has been instrumental in transforming traditional care delivery into modern, data-driven digital health systems.