Chest Pain ICD-10 Codes: Complete Coding Guide for Cardiology Practices (2026)
Chest pain is one of the most frequently reported diagnoses in cardiology, and one of the most frequently miscoded. Most coders reach for R07.9 out of habit. The FY 2026 ICD-10-CM code set actually offers several distinct chest pain codes, and the Alphabetic Index routes common terms like chest pressure, chest tightness, atypical chest pain, and substernal pain to different codes than the one most people default to.
That distinction matters more in cardiology than almost anywhere else. A chest pain code is often the diagnosis that has to support an EKG, an echocardiogram, a stress test, or a new consultation. When the code doesn't match the documentation, or doesn't match the payer's coverage policy for the service billed, the claim comes back.
This guide covers the verified R07 codes for the current code set, how documentation drives the choice among them, where symptom coding stops being appropriate, and how these decisions show up later in denials and accounts receivable.
What Is the ICD-10-CM Code for Chest Pain?
The ICD-10-CM code for chest pain, unspecified is R07.9. It's the correct code when the provider documents chest pain with no further detail about location, character, or trigger, and no definitive cause has been established. But R07.9 is only one of several codes in category R07, Pain in throat and chest, and it is not the right answer whenever the record contains more detail.
Three points that shape everything below:
- R07 itself is not billable. It's a category header. Claims need a valid code from beneath it, such as R07.1, R07.2, R07.89, or R07.9. The same is true of R07.8, which is a subcategory header that requires a fifth character.
- These are diagnosis codes, not procedure codes. ICD-10-CM explains why the patient was seen. CPT and HCPCS represent what was done. An EKG is never reported with R07.9; the EKG has its own CPT code, and R07.9 may serve as the diagnosis that supports it.
- The R07 codes are symptom codes. They belong to Chapter 18 of ICD-10-CM, which classifies signs, symptoms, and ill-defined conditions where no more specific diagnosis has been recorded.
Chest Pain ICD-10 Codes at a Glance (FY 2026)
Descriptions below are the official FY 2026 ICD-10-CM titles, effective October 1, 2025 through September 30, 2026, per the CMS ICD-10 code files.
| Code | ICD-10-CM Description | When It May Apply | Documentation Consideration |
|---|---|---|---|
| R07.0 | Pain in throat | Documented throat or pharyngeal pain | Not a chest pain code; listed here because it sits in the same category and gets pulled by mistake |
| R07.1 | Chest pain on breathing | Chest pain the provider ties to respiration | Applicable to painful respiration; the record should connect the pain to breathing |
| R07.2 | Precordial pain | Pain documented as precordial, substernal, retrosternal, or sternal | Requires anatomic wording in the note, not a coder's inference from the chief complaint |
| R07.8 | Other chest pain | Not billable | Subcategory header only; code to R07.81, R07.82, or R07.89 |
| R07.81 | Pleurodynia | Documented pleurodynia | Excludes epidemic myalgia (B33.0) per the Excludes1 note at R07 |
| R07.82 | Intercostal pain | Documented intercostal pain | Distinct from generic chest wall pain |
| R07.89 | Other chest pain | Specified chest pain that doesn't fit the codes above | Applicable to anterior chest-wall pain NOS; captures many common descriptors |
| R07.9 | Chest pain, unspecified | Chest pain with no further qualifier documented | The Index lists chest pain (central) here; appropriate only when nothing more specific is in the record |
Two Excludes notes sit at the category level and apply across R07: an Excludes1 for epidemic myalgia (B33.0), and Excludes2 notes for jaw pain (R68.84) and pain in breast (N64.4). Excludes2 means the patient may have both, and both may be reported when documented.
The Index Mapping Most Coders Get Wrong
This is where generic code-lookup pages fall short. The Alphabetic Index routes several everyday clinical terms away from R07.9:
| Documented Term | ICD-10-CM Index Direction |
|---|---|
| Chest discomfort | R07.89 |
| Chest pressure | R07.89 |
| Chest tightness | R07.89 |
| Atypical chest pain | R07.89 |
| Non-cardiac chest pain | R07.89 |
| Musculoskeletal chest pain | R07.89 |
| Anterior chest wall pain / rib pain | R07.89 |
| Substernal or retrosternal pain | R07.2 |
| Precordial pain | R07.2 |
| Painful respiration / costochondral pain | R07.1 |
| Chest pain, central | R07.9 |
Always verify the Index entry in the Tabular List before assigning. The Index points you to a code; the Tabular confirms it and shows the instructional notes that govern it.
R07.9: Chest Pain, Unspecified
R07.9 is a valid, billable code, and there are encounters where it is genuinely the most accurate representation of what the provider documented. A patient reports chest pain, the workup is underway, no cause is established, and the note says nothing more.
The problem is that R07.9 gets used as a shortcut. A cardiology note that describes substernal pressure with exertion, then carries R07.9 forward from the scheduling reason, is under-coded relative to its own documentation. Outpatient coding requires coding to the highest level of specificity the record supports.
Practically, over-reliance on R07.9 creates three exposures: coverage policies for some cardiac diagnostic services list more specific codes; audits flag unspecified coding patterns that contradict the narrative in the chart; and the practice loses the clinical picture in its own data.
R07.9 also should not be selected because it appears easier to get paid. Code selection follows documentation and official coding conventions, not reimbursement expectations.
R07.89: Other Chest Pain
R07.89 is the other specified option. It applies when the provider has described the chest pain in a way that doesn't fit R07.1, R07.2, R07.81, or R07.82, but is clearly more than "chest pain." The Tabular entry is applicable to anterior chest-wall pain NOS.
The difference between R07.89 and R07.9 is specificity, not severity. R07.9 means nothing further was documented. R07.89 means something further was documented and it doesn't map elsewhere in the category.
For cardiology practices this is the highest-yield correction available. Chart notes routinely say chest tightness, chest pressure, atypical chest pain, or chest wall pain, and all of those terms index to R07.89. Practices that default the whole population to R07.9 are misrepresenting a large share of their encounters, and the fix is a documentation-reading habit rather than a template change.
One caution: "non-cardiac chest pain" indexes to R07.89, but a coder cannot decide that pain is non-cardiac. That characterization has to come from the provider.
R07.2: Precordial Pain
Precordial refers to the region of the chest wall overlying the heart. R07.2 is the code for precordial pain, and the Index also directs substernal, retrosternal, and sternal pain here.
The documentation requirement is straightforward: the anatomic term needs to be in the record. A note that says "chest pain, worse with exertion" does not support R07.2 no matter how strongly the clinical picture suggests a precordial location. If the location is clinically meaningful and the note is silent, that's a documentation clarification opportunity, not a coding decision.
Practices with a high volume of angina evaluations tend to see R07.2 more often than the average clinic, because substernal and retrosternal language is common in cardiology dictation. It's worth auditing whether those notes are being coded to R07.2 or collapsed into R07.9.
R07.1: Chest Pain on Breathing
R07.1 covers chest pain that the provider documents in relation to respiration. The Tabular entry is applicable to painful respiration, and the Index also routes costochondral pain and diaphragm pain here.
The documentation link matters. R07.1 requires the record to connect the pain to breathing. "Chest pain and shortness of breath" describes two symptoms; it does not establish that the pain occurs on breathing.
One detail with real billing consequences: R07.1 does not group with the other chest pain codes. Under the MS-DRG v43.0 logic used for FY 2026, R07.2, R07.89, and R07.9 group to MS-DRG 313 (Chest Pain), while R07.1 groups to MS-DRG 204 (Respiratory Signs and Symptoms). That distinction is invisible in a physician office but affects facility reporting, and it's a reminder that these codes are not interchangeable.
Left-Sided, Right-Sided, and Radiating Chest Pain
There is no laterality in category R07. ICD-10-CM does not provide separate codes for left-sided or right-sided chest pain, and there is no code that means "chest pain radiating to the left arm."
When a note documents left-sided chest pain, the coder still has to determine which R07 code the described pain fits, based on the other qualifiers present. Laterality alone does not add specificity here the way it does in musculoskeletal or ophthalmic coding. Radiation to the arm, jaw, or back is clinically significant, and it may prompt a more specific provider diagnosis, but it does not by itself change the symptom code.
Chest Pain vs Angina: Why the Distinction Matters
Angina is a diagnosis. Chest pain is a symptom. They are not interchangeable, and a coder cannot convert one into the other.
Once the provider documents angina, the encounter is coded to the angina classification rather than R07:
| Code | Description |
|---|---|
| I20.0 | Unstable angina |
| I20.1 | Angina pectoris with documented spasm |
| I20.2 | Refractory angina pectoris |
| I20.81 | Angina pectoris with coronary microvascular dysfunction |
| I20.89 | Other forms of angina pectoris |
| I20.9 | Angina pectoris, unspecified |
I20.9 is applicable to angina NOS, anginal syndrome, cardiac angina, and ischemic chest pain. That last synonym is worth knowing, because a provider who writes "ischemic chest pain" has documented something well beyond R07.
Category I20 also carries Excludes1 notes for angina pectoris with atherosclerotic heart disease of native coronary arteries (I25.1-), atherosclerosis of coronary artery bypass grafts and coronary arteries of transplanted hearts with angina (I25.7-), and postinfarction angina (I23.7). When a patient has documented coronary artery disease and angina, ICD-10-CM expects the combination code from I25.1- rather than separate CAD and angina codes. Missing that convention is a recurring finding in cardiology coding audits.
The rule underneath all of it: a coder reads what the provider documented. Test results, prior problem-list entries, and clinical intuition do not establish a diagnosis. If the chart supports something more specific than the provider stated, the path forward is a documentation clarification query, not an assumption.
Symptom Code or Confirmed Diagnosis?
The FY 2026 ICD-10-CM Official Guidelines for Coding and Reporting address this directly. Section I.B.4 and Section IV.D establish that symptom and sign codes are acceptable when a related definitive diagnosis has not been established by the provider. Section I.B.5 adds that symptoms routinely associated with a disease process should not be reported additionally once that disease is coded, unless the classification instructs otherwise.
Two outpatient guidelines do most of the work in cardiology:
Section IV.H, uncertain diagnosis. In the outpatient setting, conditions documented as probable, suspected, questionable, rule out, compatible with, consistent with, or working diagnosis are not coded. The encounter is coded to the highest degree of certainty, which usually means the symptom. "Chest pain, rule out ACS" is coded to the chest pain.
Section IV.K, patients receiving diagnostic services only. When a diagnostic test has been interpreted by a physician and the final report is available at the time of coding, any confirmed or definitive diagnosis documented in that interpretation is coded, and related signs and symptoms are not reported additionally. This is the guideline that governs a stress test or echo where the interpreting cardiologist documents a definitive finding.
| Situation | Coding Focus | Common Risk |
|---|---|---|
| Chest pain, workup pending, no cause documented | Symptom code from R07 | Defaulting to R07.9 when the note supports R07.2 or R07.89 |
| Provider documents angina | Angina classification (I20.-) or the applicable I25.1- combination code | Continuing to report R07.9 alongside the confirmed diagnosis |
| Test interpreted, definitive diagnosis in the final report | The confirmed diagnosis | Reporting the symptom in addition to the confirmed condition |
| Documentation says "possible unstable angina" | Symptom code, per Section IV.H | Coding the suspected condition as if confirmed |
| Symptom persists and is separately evaluated after a diagnosis is established | Depends on the record and instructional notes | Assuming the symptom is always integral, or always separately reportable |
How Clinical Documentation Supports Chest Pain Coding
Better notes don't create diagnoses. They let the coder assign the code that already fits.
| Documentation Element | Why It Matters |
|---|---|
| Location | Separates R07.2 (precordial, substernal, retrosternal) from generalized chest pain |
| Character | Terms like pressure, tightness, or discomfort index to R07.89 |
| Relationship to breathing | The specific trigger for R07.1 |
| Onset and duration | Supports the acuity picture and the level of evaluation performed |
| Provoking and relieving factors | Exertional and rest-relief patterns often drive the provider toward an angina diagnosis |
| Associated symptoms | Coded separately when documented and not integral to a coded condition |
| Assessment and final impression | The single most important element; this is what the coder codes from |
| Confirmed diagnosis when established | Moves the encounter out of R07 entirely |
Adding descriptive detail does not permit a coder to assign a diagnosis the provider never made. Detail supports the symptom code that best matches; only the provider's stated assessment supports a disease code.
Common Documentation Problems
- Chief complaint coded instead of assessment. The scheduling reason says "chest pain," the assessment says "atypical chest pain, likely musculoskeletal." Coding the front of the note misses R07.89.
- Terminology drift within one note. HPI says substernal pressure, assessment says chest pain. The coder needs the assessment, but the inconsistency invites payer questions on review.
- No final impression. The plan orders a stress test with no assessment line, leaving nothing to code from.
- Contradiction across the record. The problem list carries angina, the current note documents only chest pain, and neither is reconciled.
- Specificity that isn't supported. A code implying precordial location when the note never says it.
- Symptom and disease codes stacked without explanation. Chest pain reported alongside a confirmed cardiac diagnosis with no indication of why both apply.
Common Chest Pain Coding Errors
| Mistake | Why It Happens | Potential Consequence | Prevention |
|---|---|---|---|
| Defaulting everything to R07.9 | EHR favorites and habit | Under-specified claims, coverage mismatches, audit findings | Read the assessment; check the Index for the documented term |
| Coding from the test result | Abnormal echo or EKG findings look conclusive | Unsupported diagnosis on the claim | Code from provider documentation and the interpreted final report |
| Reporting the symptom after the diagnosis is confirmed | Carried-forward diagnoses in templates | Contradictory claim, denial, or audit exposure | Reconcile the encounter diagnosis at coding |
| Treating chest pain and angina as equivalent | Clinical shorthand in dictation | Misrepresents the condition, affects quality and risk data | Angina requires provider documentation of angina |
| Reporting CAD and angina separately | Not checking the Excludes1 at I20 | Incorrect code combination | Use the applicable I25.1- combination code |
| Submitting R07 or R07.8 | Header codes appear in lookups | Claim rejection at the front end | Code to the full number of required characters |
| Using an outdated code list | Stale superbills and pick lists | Invalid code denials after a code set update | Refresh pick lists each October |
| Ignoring payer-specific policy | Assuming one rule fits all payers | Medical necessity denials | Check the applicable coverage policy for the billed service |
Chest Pain and Medical Necessity in Cardiology
Diagnosis coding is how a claim communicates the reason a service was performed. For Medicare, coverage rests on Section 1862(a)(1)(A) of the Social Security Act, which limits payment to services that are reasonable and necessary. 42 CFR 410.32 requires diagnostic tests to be ordered by the treating physician, who uses the results in managing the patient's specific problem, and the order needs to carry the signs, symptoms, or reason for the test.
In practice, a chest pain code frequently serves as that reason for an EKG, a transthoracic echocardiogram, an exercise or pharmacologic stress test, ambulatory monitoring, or a cardiology consultation. Whether it supports the service depends on the service billed, the documented condition, the applicable coverage policy, and the completeness of the record. No single ICD-10-CM code guarantees payment.
The failure mode worth watching in cardiology is the order that says only "chest pain" for a study whose coverage policy expects more specificity. If the note supports R07.2 or R07.89 and the order carries R07.9, the claim goes out weaker than the documentation actually is. Our cardiology medical coding team reviews diagnosis-to-service alignment before submission for exactly this reason.
Chest Pain ICD-10 Codes and CPT Billing
These are two separate code sets doing two separate jobs.
ICD-10-CM reports the diagnosis, symptom, or reason for the encounter. CPT reports the physician or facility service performed. HCPCS Level II covers supplies, drugs, and certain services outside CPT.
A cardiology encounter for chest pain might involve an office or outpatient E/M service, a resting 12-lead EKG reported globally with CPT 93000 or split into technical (93005) and professional (93010) components, a transthoracic echocardiogram, or a cardiovascular stress test reported with 93015 or its component codes 93016, 93017, and 93018. In every case the chest pain code sits in the diagnosis field and the CPT code sits in the procedure field. A chest pain ICD-10 code is never itself a procedure code.
Component splits matter here. Practices billing globally for a study performed at a facility, or billing a component code when they performed the whole service, generate denials that have nothing to do with the diagnosis at all. That interaction between diagnosis coding and component billing is a recurring theme in non-invasive cardiology billing and cardiac imaging claims.
Medicare Considerations
Medicare Administrative Contractors publish Local Coverage Determinations and associated Billing and Coding Articles that often list the ICD-10-CM codes supporting medical necessity for specific cardiac services. These vary by contractor and change over time, so the current version in the Medicare Coverage Database is the only reliable reference. National Coverage Determinations apply nationwide where they exist.
A few practical points:
- Coverage rules attach to the service, not to the chest pain code in isolation. The same diagnosis may support one study and not another.
- National Correct Coding Initiative edits and medically unlikely edits operate on procedure codes and can deny a claim regardless of how well the diagnosis is coded.
- The order and the note need to agree with the claim. Where the record was reviewed and the documentation didn't support the billed service, a correct diagnosis code won't rescue it.
- Blanket statements about "what Medicare requires" rarely survive contact with a specific contractor's policy. Check the policy that applies to your jurisdiction and the service you're billing.
Commercial Insurance Considerations
Commercial payers publish their own medical policies, and they diverge from Medicare and from each other. Expect variation in:
- Which diagnoses a plan considers appropriate for advanced cardiac imaging
- Prior authorization requirements, which are common for stress imaging, cardiac CT, and cardiac MRI and often administered through a radiology benefit manager
- Frequency limitations on repeat testing
- Documentation the plan will request before paying, and the format it wants
- Claim edits applied before a human ever reviews the file
A practice billing a mixed payer panel needs the policy check built into the workflow rather than performed after a denial arrives. Coordinated claims submission and tracking catches payer-specific mismatches at the front end, where correction costs a few minutes instead of a full appeal cycle.
Five Cardiology Coding Scenarios
These illustrate coding reasoning. They are not medical advice, and actual code selection always depends on the complete record and applicable guidance.
1. New patient, chest pain, workup pending
Situation: A 58-year-old is referred for evaluation of intermittent chest discomfort. Documentation: HPI describes chest tightness with exertion. Assessment reads "chest tightness, etiology undetermined; stress test ordered." Potential approach: The Index directs chest tightness to R07.89. Why it matters: Defaulting to R07.9 discards documented specificity that already exists in the note. Billing consideration: The order for the stress test should carry the same diagnosis the note supports.
2. Substernal pain in an established patient
Situation: Follow-up for a patient with known risk factors. Documentation: "Substernal chest pain, non-exertional. No definitive cardiac etiology established today." Potential approach: The Index routes substernal pain to R07.2. Why it matters: Anatomic wording is present, so the more specific code is available. Billing consideration: Coding this to R07.9 weakens the medical necessity picture for any study ordered from the visit.
3. Angina documented at the same visit
Situation: Cardiology consultation for exertional chest pain. Documentation: Assessment states "stable angina pectoris." Potential approach: The angina classification applies. If the record also documents atherosclerotic heart disease of native coronary arteries, the Excludes1 note at I20 directs the coder to the applicable I25.1- combination code. Why it matters: A confirmed diagnosis replaces the symptom code. Billing consideration: Leaving R07.9 on the claim alongside angina creates an internal contradiction a reviewer will notice.
4. Definitive finding in the interpreted study
Situation: Echocardiogram performed for chest pain. Documentation: The final report, signed and available at coding, documents a definitive cardiac finding. Potential approach: Under Section IV.K, code the confirmed diagnosis from the interpretation and do not report the related symptom additionally. Why it matters: Outpatient rules for interpreted diagnostic tests differ from inpatient practice. Billing consideration: Timing matters. If the final report isn't available at coding, the symptom code is what the record supports.
5. Vague documentation and a payer request
Situation: A stress test claim is denied and the payer requests records. Documentation: The note says only "chest pain" with no character, location, or trigger. Potential approach: R07.9 is what the record supports. It cannot be upgraded after the fact. Why it matters: The record cannot be retroactively altered, and coders cannot supply detail the provider didn't document. Billing consideration: The durable fix is prospective. Template and query changes prevent the next twenty denials; they can't fix this one.
Why Chest Pain Claims Get Denied
- Diagnosis-to-service mismatch. The billed study isn't supported by the reported diagnosis under the payer's policy.
- Specificity gaps. An unspecified code where the policy or the documentation calls for more.
- Documentation that doesn't support the code. Common when diagnoses are carried forward from prior encounters.
- Missing or incomplete order. No documented reason for the test, or an order that doesn't match the claim.
- Symptom reported after a definitive diagnosis was established, contrary to the applicable guideline.
- Header codes or invalid characters rejected before adjudication.
- Payer edits and prior authorization failures unrelated to diagnosis accuracy.
- Records not submitted, or submitted incompletely, after a documentation request.
Denials that repeat share a root cause. Tracing that cause rather than reworking claims one at a time is the core of effective denial management.
How to Prevent Chest Pain Coding Denials
Providers: Document the assessment, not just the complaint. Include location, character, and any relationship to exertion or breathing when clinically relevant. State the diagnosis when one is established, and don't leave a confirmed condition sitting only in the plan.
Coders: Start in the Alphabetic Index with the term the provider used, verify in the Tabular List, and read the instructional notes. Query when the record is internally inconsistent rather than choosing between contradictory entries.
Billers: Confirm the diagnosis on the order matches the claim. Check the applicable coverage policy for the specific service before submission. Track denial reason codes by service line.
Practice managers: Refresh superbills and EHR pick lists each October. Audit a sample of chest pain encounters quarterly against the documentation. Review whether the R07.9 share of your chest pain volume actually matches how your physicians document.
Modifier Considerations
Modifiers apply to CPT and HCPCS reporting. ICD-10-CM diagnosis codes do not take CPT modifiers. Any workflow that appends a modifier to a diagnosis code is broken.
Within CPT reporting, the modifiers most relevant to a chest pain encounter are Modifier 25, for a significant and separately identifiable E/M service furnished on the same day as another procedure or service, and the professional and technical component modifiers used when a diagnostic study is split between entities. Modifier 59 marks a distinct procedural service and is scrutinized closely; it should be applied only when documentation genuinely supports separate services. None of these substitute for accurate diagnosis coding, and none of them repair a medical necessity problem.
Chest Pain Coding Audit Checklist
- The assigned ICD-10-CM code is valid in the code set effective for the date of service
- The code reflects the highest specificity the documentation supports
- The code was located through the Alphabetic Index and verified in the Tabular List
- Instructional notes, including Excludes1 and Excludes2 at R07, were reviewed
- A symptom code was used only where no related definitive diagnosis was documented
- Confirmed diagnoses replaced symptom codes where the guidelines direct
- Uncertain diagnoses were not coded as established
- The diagnosis on the order, the note, and the claim agree
- The billed CPT or HCPCS code matches the service actually performed and documented
- Component versus global billing is correct for the setting
- Applicable payer coverage policy and prior authorization requirements were checked
- Supporting records are retrievable if requested
- Pick lists and superbills reflect the current annual code set
Where Specialized Cardiology Billing Support Fits
Most chest pain denials aren't coding puzzles. They're process gaps: an order that didn't carry the documented specificity, a policy nobody checked, a denial reworked without anyone asking why it happened.
A cardiology-focused billing team addresses that chain rather than the individual claim. That includes reviewing diagnosis selection against documentation, checking diagnosis-to-service alignment before submission, tracing denial patterns to a root cause, managing payer follow-up on aging claims, and keeping code sets current at the annual cutover. Cardiology Billing Services works only in cardiovascular billing, which means coders aren't switching between cardiac imaging rules and unrelated specialties between claims.
If chest pain denials or aging accounts receivable are a recurring problem in your practice, the connected view offered by cardiology revenue cycle management usually surfaces the pattern faster than reviewing claims individually.
Verifying the 2026 Code Set, and What Changes on October 1, 2026
Coding articles go stale. Verify against the source before you rely on anything.
Current set. FY 2026 ICD-10-CM applies to encounters from October 1, 2025 through September 30, 2026. The R07 chest pain codes have carried no code-level changes across every fiscal year since ICD-10-CM took effect in 2015, including FY 2026.
The April 2026 update. CMS and NCHS now release a mid-year update. For April 1, 2026, there were no ICD-10-CM code additions, deletions, or revisions, and the Official Guidelines were unchanged. The update did revise instructional notes across the Tabular List, including several Excludes1 notes converted to Excludes2, which changes what may be reported together. Note changes are easy to miss precisely because the code numbers look the same.
FY 2027, effective October 1, 2026. The next annual update is imminent and it hits cardiology. Per the CMS FY 2027 files, dilated cardiomyopathy I42.0 becomes a non-billable header, replaced by I42.00, I42.01, and I42.09; I42.8 splits into I42.81 and I42.89; and new arrhythmia codes are added, including I47.22, I49.81, and I49.82. Codes that stop being billable are the ones most likely to slip through on a saved favorite or a carried-forward problem list. The chest pain codes in R07 are not among the FY 2027 additions, but confirm against the CMS files before the cutover.
Authoritative sources: the CMS ICD-10 page, the NCHS ICD-10-CM resources at the CDC, and the Official Guidelines published each year by the Cooperating Parties. For cardiology-specific companion guides, see our breakdowns of heart failure ICD-10 codes, atrial fibrillation ICD-10 codes, and hypertension ICD-10 codes.
Frequently Asked Questions
Key Takeaways
- R07.9 is the answer for undocumented specificity, not the answer for every chest pain encounter.
- Chest pressure, tightness, discomfort, and atypical chest pain index to R07.89; substernal and precordial pain index to R07.2.
- R07 and R07.8 are headers and cannot be submitted on a claim.
- Angina and chest pain are different things, and a coder cannot convert one to the other.
- Once a definitive diagnosis is documented, the symptom code generally steps aside.
- Suspected and rule-out diagnoses are not coded in the outpatient setting.
- Diagnosis coding supports medical necessity but never guarantees payment.
- Modifiers belong to CPT and HCPCS, never to ICD-10-CM.
- Verify codes annually, and watch the October 1, 2026 cardiovascular changes.
Conclusion
Chest pain coding looks simple and rarely is. The gap between what a cardiologist documented and what ends up on the claim is where specificity gets lost, where medical necessity gets weakened, and where denials originate. Closing that gap is mostly a matter of reading the assessment carefully, following the Index into the Tabular List, and keeping the order, the note, and the claim telling the same story.
If your practice is seeing repeat denials on chest pain claims or cardiac diagnostic studies, or your accounts receivable is aging in ways nobody has traced to a cause, our team is happy to take a look. Request a cardiology billing consultation and we'll review where the pattern starts.



