Verified
ICD-10 I25.10: Atherosclerotic Heart Disease Documentation — The Cardiology Coding Playbook
Master ICD-10 I25.10 documentation for atherosclerotic heart disease. Expert guidance on I25.10 vs I25.11x coding accuracy for cardiologists and PCPs.


ICD-10 I25.10: Atherosclerotic Heart Disease Documentation — The Cardiology Coding Playbook
The Hidden Revenue Leak: Why EHR Problem-List Carryover Undermines I25.10 vs. I25.11x Accuracy
Technical Reference: ICD-10 Documentation Standards for Coronary Atherosclerosis With and Without Angina
Scribing.io Clinical Logic: Resolving the I25.10 Revenue Leak in Real-Time — A Cardiology Case Study
What CMS's Cardiology Reference Missed — And Why It Still Matters in 2026
Implementation Workflow: Deploying the Angina Linkage Engine in Your Practice
Financial Impact Model: Quantifying the I25.10 Downcode Exposure
Compliance Safeguards: Avoiding Upcoding Risk While Maximizing Specificity
Frequently Asked Questions
TL;DR — Why This Guide Exists
Coding I25.10 (atherosclerotic heart disease of native coronary artery without angina pectoris) when the encounter actually documents angina is one of the most persistent revenue leaks in cardiology. The ICD-10-CM "with" guideline requires that documented coronary atherosclerosis with angina be coded to the I25.11x family—yet EHR problem-list carryover silently auto-populates I25.10 on claims even when the clinician's note clearly describes angina. This guide delivers the clinical decision logic, documentation standards, and EHR-level fix that CMS's legacy cardiology reference never addressed. For the complete coding library, visit the Scribing.io ICD-10 Documentation Library.
The Hidden Revenue Leak: Why EHR Problem-List Carryover Undermines I25.10 vs. I25.11x Accuracy
Most ICD-10 cardiology guides—including the widely circulated CMS "Clinical Concepts for Cardiology" PDF—present the I25.10 and I25.11x code families as a straightforward documentation exercise: if angina is present, code accordingly; if not, use I25.10. What these resources consistently miss is the mechanism by which the wrong code ends up on the claim in the first place. Scribing.io was built specifically to intercept this mechanism at the point of documentation.
The problem is not that cardiologists forget to document angina. The problem is that EHR systems maintain a persistent problem list where I25.10 was originally entered—often years ago, at the time of initial CAD diagnosis before angina developed or before the "with" coding convention was operationalized in the practice. Once I25.10 exists on the problem list, it propagates forward automatically through every subsequent encounter:
Encounter-level auto-population. When a cardiologist opens a follow-up visit, the EHR pulls active problem-list diagnoses onto the encounter's billing grid. I25.10 appears by default—regardless of what the clinician documents in the HPI or Assessment.
Claim submission without reconciliation. Even if the HPI, Review of Systems, and Assessment explicitly describe exertional chest pressure relieved by rest, the billing diagnosis remains the pre-populated I25.10 unless the clinician or coder manually overrides it during encounter closure.
Prior-authorization dependency. Downstream orders—nuclear stress tests, coronary CT angiography, cardiac catheterization—inherit the encounter diagnosis. A payer reviewing a prior-authorization request for cardiac imaging sees I25.10 ("without angina") and denies the request because the submitted diagnosis does not support the clinical indication of active angina requiring ischemia evaluation.
The Scribing.io ICD-10 Documentation Library maintains the full specification tree for coronary atherosclerosis codes precisely because this carryover problem demands encounter-level reconciliation, not annual audits.
The Scale of the Problem in Cardiology Practices
Published literature on ICD-10 coding accuracy in cardiovascular medicine consistently identifies specificity gaps. A Circulation: Cardiovascular Quality and Outcomes analysis found that administrative claims data frequently underrepresent angina burden relative to clinical documentation, with downstream effects on both quality measurement and risk stratification. Internal Scribing.io audit data from 14 cardiology groups (2024–2025 deployment cohort) identified that 23% of encounters documenting anginal symptoms still submitted I25.10 as the primary encounter diagnosis prior to Angina Linkage Engine activation. Post-deployment, that rate dropped below 2%—with the residual representing clinician-confirmed cases where angina was historical and not active at the encounter.
Technical Reference: ICD-10 Documentation Standards for Coronary Atherosclerosis With and Without Angina
The following table provides the definitive reference for the I25.10 and I25.11x code families relevant to native coronary artery atherosclerosis. For the full searchable database, see I25.10 — Atherosclerotic heart disease of native coronary artery without angina pectoris; I25.119 — Atherosclerotic heart disease of native coronary artery with unspecified angina pectoris.
ICD-10-CM Code | Description | When to Use | Key Documentation Requirement | Common Pitfall |
|---|---|---|---|---|
I25.10 | Atherosclerotic heart disease of native coronary artery without angina pectoris | Patient has documented CAD of native vessels with no angina documented at or linked to the encounter | Explicit statement or clinical context confirming absence of anginal symptoms | Used by default via problem-list carryover even when angina is documented in the same encounter |
I25.110 | Atherosclerotic heart disease of native coronary artery with unstable angina pectoris | CAD with angina at rest, new-onset, or accelerating pattern | Document angina as unstable; describe rest pain, crescendo pattern, or ACS-spectrum presentation | Under-documented when angina is described as "worsening" without explicitly using "unstable" |
I25.111 | Atherosclerotic heart disease of native coronary artery with angina pectoris with documented spasm | CAD with vasospastic (Prinzmetal) angina confirmed | Document coronary vasospasm, variant angina, or Prinzmetal angina | Rarely selected because spasm is not always explicitly documented even when suspected clinically |
I25.118 | Atherosclerotic heart disease of native coronary artery with other forms of angina pectoris | CAD with angina that does not fit unstable, spasm, or standard exertional categories (e.g., angina equivalent, microvascular angina) | Describe the specific angina variant; document why it is not classified as stable, unstable, or spasm-related | Underutilized; many microvascular angina cases default to I25.119 instead |
I25.119 | Atherosclerotic heart disease of native coronary artery with unspecified angina pectoris | CAD with angina documented but angina type not specified in the note | Angina is clearly present (e.g., "CAD with stable angina"); per the "with" guideline, co-documented CAD + angina qualifies | Appropriate as a minimum upgrade from I25.10 when angina is documented but type is unclear; further specificity should always be pursued |
Critical Guideline: The ICD-10-CM "With" Convention
Under the ICD-10-CM Official Guidelines for Coding and Reporting (Section I.A.15, as updated through FY2025), the word "with" in a code title or Tabular List inclusion note is interpreted as meaning "associated with" or "due to." The practical implications for cardiology:
If the clinical documentation for an encounter describes both atherosclerotic coronary artery disease and angina pectoris, the coder must assign a combination code from the I25.11x family.
A separate causal statement ("angina due to CAD") is not required. The presence of both conditions in the same patient's documentation is sufficient under this guideline.
Assigning I25.10 when angina is documented anywhere in the encounter note—HPI, ROS, Assessment, or Plan—violates this guideline and constitutes a coding accuracy deficiency.
The guideline applies regardless of whether the conditions appear in the same sentence or in different sections of the note.
This convention is the single most important guideline governing the I25.10 vs. I25.11x decision, yet it receives zero coverage in the CMS cardiology clinical concepts document and minimal attention in most AMA coding resources.
Graft Vessel Considerations
Parallel code families exist for bypass graft atherosclerosis (I25.70x–I25.79x). The same "with" logic applies. Scribing.io's engine differentiates native vs. graft vessel documentation and routes to the correct code family. This playbook focuses on native vessel disease (I25.10/I25.11x) because it represents the highest-volume carryover error.
Scribing.io Clinical Logic: Resolving the I25.10 Revenue Leak in Real-Time — A Cardiology Case Study
The Scenario
A 72-year-old man with known coronary artery disease presents for a routine cardiology follow-up. He reports exertional chest pressure that occurs when walking two blocks and is relieved by rest. The clinician's Assessment reads:
"CAD, stable angina. Continue current medical therapy. Order nuclear stress test to evaluate ischemic burden."
The encounter is closed. The EHR auto-populates the billing diagnosis from the problem list: I25.10 — atherosclerotic heart disease of native coronary artery without angina pectoris.
The Downstream Failures
Failure Point | What Happens | Financial / Clinical Impact |
|---|---|---|
1. Claim Submission | I25.10 is transmitted as the primary encounter diagnosis | Clinical complexity is understated; HCC risk-adjustment opportunity for angina is missed |
2. Prior Authorization | Nuclear stress test order carries I25.10 as the indication diagnosis | Payer denies prior auth: "Submitted diagnosis (I25.10, CAD without angina) does not support medical necessity for stress imaging" |
3. Quality Reporting | Angina prevalence in the practice's patient panel is underreported | Quality metrics for chronic stable angina management are not triggered; ACC/AHA guideline-concordant care tracking is incomplete |
4. Risk Adjustment | I25.10 maps to a lower-weight HCC than I25.119 in CMS-HCC and HHS-HCC models | Reduced clinical complexity score; practice receives lower risk-adjusted reimbursement for the attributed patient in value-based contracts |
How Scribing.io's Angina Linkage Engine Resolves This in Real-Time
Scribing.io operates as an EHR-native ambient AI scribe that processes the encounter in real-time during clinical documentation. Here is the exact decision logic the Angina Linkage Engine applies to the scenario above:
Step 1 — Pattern Detection. As the clinician documents (via voice or typed note), Scribing.io's NLP layer detects the co-occurrence of "CAD" (mapped synonyms: coronary artery disease, coronary atherosclerosis, ASHD, ischemic heart disease) and "angina" (mapped synonyms: exertional chest pressure, anginal equivalent, chest tightness with exertion, substernal pressure on activity) within the HPI and Assessment sections. Detection occurs within 400 milliseconds of text finalization.
Step 2 — Problem-List Reconciliation. The system queries the patient's active problem list via EHR integration (FHIR R4 Condition resource or proprietary API). It identifies the mismatch: the problem list carries I25.10 ("without angina") but the current encounter documents angina. This reconciliation fires the Angina Linkage alert.
Step 3 — CCS Angina Class Prompt. Scribing.io surfaces a structured prompt to the clinician within the documentation workflow (not a separate window—embedded in the note-closure interface):
"Angina documented in this encounter. Based on the description (exertional chest pressure relieved by rest, occurring at ~2 blocks), this is consistent with CCS Class II angina (slight limitation of ordinary activity). Confirm class and angina type?"
The CCS classification system, per JACC consensus documents, grades angina severity from Class I (angina only with strenuous exertion) through Class IV (angina at rest). Capturing CCS class serves dual purposes: it enriches the clinical note for guideline-concordant documentation and provides the specificity substrate for future code refinement.
Step 4 — Code Upgrade. Upon clinician confirmation (single click or voice confirmation "correct"), the system upgrades the encounter diagnosis from I25.10 to I25.119 (atherosclerotic heart disease of native coronary artery with unspecified angina pectoris). If the clinician provides additional detail—documents "unstable" features, spasm, or an angina equivalent variant—the system selects the more specific I25.110, I25.111, or I25.118 as appropriate. The problem list is simultaneously updated to reflect the current clinical state.
Step 5 — Order Indication Synchronization. The corrected diagnosis (I25.119) is automatically pushed to the nuclear stress test order's indication field, ensuring the prior-authorization request carries a diagnosis that supports medical necessity. The system also populates the clinical rationale field with the CCS class and symptom description to preempt payer medical-necessity queries.
Result: Authorization approved on first submission. Clinical complexity accurately captured for risk adjustment. Revenue leak eliminated. Total additional clinician time: under 5 seconds for the single confirmation action.
Conversion Hook
See the Angina Linkage Engine live: FY2025 ICD-10-CM "with" rule prompts, CCS class capture, and encounter–problem reconciliation that auto-prevents I25.10 downcoding and cardiac imaging prior-auth denials in your EHR. Request a deployment assessment at Scribing.io.
What CMS's Cardiology Reference Missed — And Why It Still Matters in 2026
The CMS "ICD-10 Clinical Concepts for Cardiology" document, last substantively updated around the October 2015 ICD-10 transition, performs a necessary function: it lists codes and offers brief clinical scenarios. It remains the most-cited government resource for cardiology ICD-10 reference. However, it contains no guidance on four critical operational dimensions:
Gap in CMS Resource | Clinical/Operational Impact | How Scribing.io Addresses It |
|---|---|---|
No reference to Section I.A.15 "with" guideline | Coders and clinicians do not realize that co-documentation of CAD + angina mandates I25.11x selection without a separate causal statement | Angina Linkage Engine applies the "with" rule automatically at the NLP layer |
No discussion of problem-list hygiene | Practices lack awareness that persistent I25.10 on the problem list propagates to every future encounter claim | Real-time problem-list vs. encounter reconciliation with update prompts |
No connection between diagnosis specificity and prior-auth workflows | Cardiac imaging denials traced to I25.10 submission are handled as isolated appeal cases rather than systemic coding defects | Order indication synchronization pushes the encounter-level diagnosis to all associated orders |
No CCS angina class–to–code mapping | Standard clinical grading (CCS I–IV) is not linked to ICD-10-CM specificity options, leaving a documentation gap between clinical assessment and coding output | CCS class prompt enriches documentation and informs the stable/unstable/other determination for I25.11x subcode selection |
The CMS resource also predates the significant FY2023 and FY2024 ICD-10-CM updates that refined atherosclerosis code instructions and expanded guidance on combination codes. Practices relying solely on the 2015-era CMS document are operating with incomplete decision logic.
Implementation Workflow: Deploying the Angina Linkage Engine in Your Practice
Scribing.io deployment follows a structured four-phase protocol designed for cardiology groups with 3–50+ providers. The Angina Linkage Engine is one module within the broader ambient documentation platform, but it can be prioritized as a standalone activation for practices experiencing high I25.10 carryover rates or cardiac imaging prior-auth denial patterns.
Phase 1: Baseline Audit (Days 1–7)
Extract all encounters from the prior 90 days where I25.10 was the submitted diagnosis.
Cross-reference against note text for any documentation of angina, exertional chest symptoms, or anti-anginal medication management.
Identify the practice's I25.10-to-I25.11x "miss rate" — the percentage of encounters where angina was documented but I25.10 was submitted.
Quantify associated prior-auth denials for stress testing, CTA, and catheterization where I25.10 was the submitted indication.
Phase 2: EHR Integration (Days 8–21)
Deploy Scribing.io's FHIR R4 integration (or proprietary connector for Epic, Oracle Health/Cerner, athenahealth, or eClinicalWorks).
Configure the problem-list reconciliation module to monitor the I25.x code family specifically.
Map practice-specific synonyms (e.g., some clinicians dictate "ASHD with exertional symptoms" rather than "CAD with angina").
Set the CCS class prompt threshold — by default, it fires whenever angina-spectrum language is detected; practices can adjust sensitivity.
Phase 3: Clinician Onboarding (Days 14–28, overlapping Phase 2)
15-minute provider briefing: explain the "with" guideline, demonstrate the single-click confirmation workflow, and show the prior-auth synchronization benefit.
Shadow mode: run the engine in passive detection for 7 days, logging mismatches without interrupting workflow. Generate a report showing each provider their personal miss rate.
Go-live: activate the real-time prompt. Monitor acceptance rates (target: >90% confirmation when angina is detected).
Phase 4: Ongoing Monitoring (Continuous)
Weekly dashboard: I25.10 vs. I25.11x distribution, prior-auth first-pass approval rates for cardiac imaging, problem-list update compliance.
Quarterly compliance review: audit a random sample of upgraded codes to confirm documentation supports the assigned I25.11x code — ensures the system is facilitating accuracy, not overcoding.
Financial Impact Model: Quantifying the I25.10 Downcode Exposure
The financial impact of the I25.10 carryover problem operates across three revenue channels simultaneously:
Revenue Channel | Mechanism of Loss | Estimated Impact per Affected Encounter |
|---|---|---|
Risk Adjustment (MA/ACO) | I25.10 maps to HCC 88 (Angina Pectoris is not captured); I25.119 captures the angina condition for risk scoring | $800–$1,400/patient/year in risk-adjusted revenue (varies by model and patient comorbidity profile) |
Prior-Auth Denials | Nuclear stress test ($1,200–$2,800 reimbursement) denied or delayed; patient may not receive timely evaluation | $1,200–$2,800 per denied test + staff time for appeal ($45–$90/appeal in administrative cost) |
E/M Complexity | Under MDM guidelines (AMA 2021 E/M framework), the number and complexity of problems addressed contributes to level selection. An active angina diagnosis carries more weight than "CAD, stable" without angina specification | Potential one-level E/M upgrade ($40–$80 per encounter at Medicare rates) |
For a 5-provider cardiology group seeing 40 CAD follow-up encounters per week, with a 23% angina documentation/coding mismatch rate (consistent with pre-Scribing.io baseline data), the annualized exposure exceeds $180,000 in combined risk-adjustment, imaging reimbursement, and E/M revenue — without accounting for the patient care delays introduced by imaging denials.
Compliance Safeguards: Avoiding Upcoding Risk While Maximizing Specificity
Any system that upgrades diagnosis codes must incorporate safeguards against overcoding. Scribing.io's architecture addresses this directly:
Documentation-first logic. The engine never assigns a code that is not supported by text in the clinical note. If the note does not contain angina-spectrum language, no upgrade is suggested — regardless of what historical notes contain.
Clinician confirmation gate. Every code upgrade requires active clinician confirmation. The system cannot autonomously change a billing diagnosis.
Historical vs. active angina differentiation. If angina language appears only in Past Medical History or Historical context (e.g., "history of angina, now resolved post-PCI"), the engine does not prompt for upgrade. It distinguishes between active encounter symptoms and historical references using section-aware NLP.
Audit trail. Every prompt, confirmation, and code change is logged with timestamp, provider ID, and the specific note text that triggered the alert — creating a defensible record for any payer or OIG audit.
Quarterly reverse-audit. Scribing.io's compliance module samples upgraded encounters and flags any where the supporting documentation is marginal, surfacing them for physician medical director review.
The ICD-10-CM Official Guidelines Section I.A.15 "with" rule provides the regulatory foundation: when both conditions are documented, the combination code is the correct code. Assigning I25.10 in the presence of documented angina is not "conservative coding" — it is inaccurate coding. Specificity is a compliance obligation, not an optimization tactic.
Frequently Asked Questions
Does the "with" guideline require the clinician to state "angina due to CAD" explicitly?
No. Per Section I.A.15, the word "with" in the Tabular List is interpreted as "associated with" or "due to." The documentation need only establish the presence of both CAD and angina in the same patient. A separate causation statement is not required. This is directly supported by the Official Guidelines and by AHA Coding Clinic guidance.
What if the patient has angina but the coronary arteries are non-obstructive on catheterization?
If the clinician has documented atherosclerotic heart disease (even non-obstructive) AND angina, the I25.11x code is appropriate per the "with" guideline. If the clinician determines the angina is NOT related to atherosclerosis (e.g., purely microvascular disease without atherosclerosis), then a standalone angina code (I20.x) without the atherosclerosis combination would be used. Clinical judgment and explicit documentation govern the selection.
Can I25.119 ("unspecified angina") trigger a payer query or audit?
I25.119 is a valid code and is explicitly preferable to I25.10 when angina is documented but not further specified. However, best practice is to specify the angina type (unstable, spasm, other, or stable exertional) whenever clinically determinable. Scribing.io's CCS class prompt is designed to elicit this specificity, pushing toward I25.110, I25.111, or I25.118 when appropriate.
How does this apply to patients with prior CABG or stents?
Patients with bypass grafts use the I25.70x–I25.79x code family (atherosclerosis of coronary artery bypass graft with/without angina). Patients with native vessels containing stents typically still code to the native vessel family (I25.10/I25.11x) unless the atherosclerosis is specifically of the graft itself. Scribing.io differentiates based on surgical history in the patient record.
What EHR systems does Scribing.io integrate with?
Scribing.io maintains production integrations with Epic (via App Orchard/Open.Epic), Oracle Health (Cerner), athenahealth, eClinicalWorks, NextGen, and MEDITECH Expanse. The Angina Linkage Engine's problem-list reconciliation requires bidirectional API access to the Condition/Problem resource. FHIR R4 is the preferred standard; proprietary connectors are available where FHIR access is limited.
Is CCS angina class required for ICD-10 coding?
CCS class is not a requirement of ICD-10-CM code assignment. However, it serves two critical functions: (1) it provides the clinical substrate that distinguishes stable from unstable angina (CCS I–III is typically stable; CCS IV at rest may qualify as unstable), and (2) it satisfies ACC/AHA guideline-concordant documentation expectations for chronic coronary disease management. Capturing it improves both coding specificity and clinical documentation quality simultaneously.
Ready to eliminate the I25.10 carryover problem in your cardiology practice? Contact Scribing.io for a baseline audit of your current I25.10/I25.11x distribution and prior-auth denial rate. Deployment to first value takes under 30 days.
