ICD-10 Codes for Chest Pain Workup: A Complete Reference
Chest pain is one of the most coding-intensive chief complaints in outpatient medicine. This reference covers the ICD-10 codes for chest pain presentations, cardiac workup findings, and final diagnoses—with payer-specific documentation tips.
Why Chest Pain Coding Is Complex
Chest pain is the second most common emergency department chief complaint and a frequent outpatient presentation. The coding challenge is that "chest pain" itself is a symptom code used only when a definitive diagnosis has not been established. Once a diagnosis is determined—angina, GERD, costochondritis, pericarditis—the symptom code gives way to the diagnosis code. Understanding when to use symptom codes vs. definitive diagnosis codes, and which modifiers or additional codes to stack, is essential for both accurate billing and accurate clinical documentation.
R07 Codes: Chest Pain Symptom Codes
ICD-10-CM category R07 covers chest pain as a symptom—use these when the cause has not been established at the time of the encounter:
| Code | Description | When to Use |
|---|---|---|
| R07.0 | Pain in throat | Throat pain being evaluated; not a chest pain code per se |
| R07.1 | Chest pain on breathing | Pleuritic chest pain, pain with inspiration; PE or pleuritis workup |
| R07.2 | Precordial pain | Substernal chest pain without confirmed etiology |
| R07.81 | Pleurodyna | Epidemic pleurodyna (Bornholm disease) |
| R07.82 | Intercostal pain | Pain between ribs; musculoskeletal when specific cause not confirmed |
| R07.89 | Other chest pain | Atypical chest pain, chest wall pain NOS without confirmed etiology |
| R07.9 | Chest pain, unspecified | Default when no further specification is available; avoid if R07.1, R07.2, or R07.82 applies |
Cardiac Cause Confirmed: Ischemic Heart Disease Codes
Once cardiac ischemia is established, move from symptom codes to definitive diagnosis codes:
Angina Pectoris (I20)
| Code | Description | Notes |
|---|---|---|
| I20.0 | Unstable angina | New onset, crescendo, or rest angina—requires ER-level workup or urgent cardiology referral; also called ACS without MI |
| I20.1 | Angina pectoris with documented spasm | Prinzmetal angina, vasospastic angina; confirmed by coronary angiography showing spasm |
| I20.8 | Other forms of angina pectoris | Angina equivalent; stenocardia |
| I20.9 | Angina pectoris, unspecified | Stable angina when type not further specified; avoid if I20.0 is appropriate |
Acute Myocardial Infarction (I21)
If the patient has had a confirmed MI, use I21 codes for the acute event and I25.2 for old (healed) MI:
- I21.0x: ST elevation MI (STEMI) involving anterior wall (I21.01 = LAD, I21.02 = left anterior descending, I21.09 = other anterior)
- I21.1x: STEMI involving inferior wall
- I21.2x: STEMI of other sites
- I21.3: STEMI of unspecified site
- I21.4: Non-ST elevation (NSTEMI)
- I21.9: Acute MI, unspecified (used when type unknown—document further if possible)
- I25.2: Old myocardial infarction (use for subsequent encounters when the acute phase has resolved)
Non-Cardiac Causes: Codes by System
Gastrointestinal Causes
| Code | Description |
|---|---|
| K21.0 | GERD with esophagitis — most common GI cause of chest pain |
| K21.9 | GERD without esophagitis |
| K22.0 | Achalasia of cardia |
| K22.2 | Esophageal obstruction |
| K25.0 | Acute gastric ulcer with hemorrhage (epigastric pain sometimes presenting as chest discomfort) |
| K57.30 | Diverticulitis of large intestine without abscess (atypical presentations) |
Musculoskeletal Causes
| Code | Description |
|---|---|
| M94.0 | Chondrocostal junction syndrome (costochondritis) — the most common MSK chest pain diagnosis in outpatient practice |
| M54.6 | Pain in thoracic spine |
| M79.3 | Panniculitis (subcutaneous inflammation presenting as chest wall tenderness) |
| S20.01xA | Contusion of chest wall, initial encounter (trauma-related) |
| T14.90xA | Injury, unspecified — use when traumatic rib injury is suspected but no fracture confirmed |
| S22.3xxA | Fracture of rib, initial encounter |
Pulmonary Causes
| Code | Description |
|---|---|
| J18.9 | Pneumonia, unspecified organism — pleuritic chest pain + fever + cough |
| J90 | Pleural effusion (not elsewhere classified) |
| J93.11 | Primary spontaneous pneumothorax |
| J93.81 | Chronic pneumothorax |
| I26.09 | Other pulmonary embolism without acute cor pulmonale — pleuritic chest pain, dyspnea, tachycardia |
| I26.99 | Other pulmonary embolism with acute cor pulmonale |
Pericardial and Structural Cardiac Causes
- I30.0: Acute nonspecific idiopathic pericarditis
- I30.1: Infective pericarditis
- I30.9: Acute pericarditis, unspecified
- I31.3: Pericardial effusion (non-inflammatory)
- I34.1: Mitral valve prolapse — can cause atypical chest pain in young patients
- I42.0: Dilated cardiomyopathy
Chest Pain Workup Encounter Flow: Coding Each Visit
Initial Evaluation Visit (Etiology Unknown)
Use the symptom code as the primary diagnosis. Add secondary codes for contributing conditions:
- Primary: R07.9 (chest pain, unspecified) or R07.2 (precordial pain) or R07.1 (pleuritic)
- Secondary: Any comorbidities relevant to the differential (e.g., I10 hypertension, E11.9 type 2 diabetes, F17.210 nicotine dependence)
- Secondary: Z82.49 (family history of ischemic heart disease) if applicable
Follow-Up Visit After Workup (Diagnosis Established)
Replace the symptom code with the confirmed diagnosis:
- Primary: Confirmed diagnosis (e.g., I20.9 stable angina, K21.0 GERD with esophagitis, M94.0 costochondritis)
- Secondary: All relevant comorbidities
- Secondary: Z-codes for relevant history (Z82.49 family history cardiac, Z87.891 personal history of nicotine dependence)
When Workup Is Negative
If the full cardiac workup (EKG, troponins, stress test, possibly coronary CTA) is negative and no other cause is identified, you may continue using R07.9 or document "noncardiac chest pain" using R07.89 (other chest pain). Do NOT fabricate a diagnosis to avoid using a symptom code—that is fraudulent coding.
Payer Documentation Requirements
Medicare and most commercial payers require that diagnosis codes assigned at the time of service reflect the highest level of certainty available. Using R07.9 when you have already confirmed GERD through upper endoscopy is incorrect coding. Conversely, coding I20.0 (unstable angina) for stable exertional angina is upcoding.
For cardiac workup visits, payers often want to see:
- Documentation of the clinical decision making behind ordering EKG, troponin, stress test, or coronary CTA
- Clinical risk stratification language (HEART score, TIMI score, or equivalent) in the note for high-risk presentations
- Clear documentation of test results reviewed and their impact on the differential diagnosis
Using AI to Improve Chest Pain Coding Accuracy
Chest pain visits generate high documentation complexity: multiple diagnoses on the differential, serial lab results reviewed, referrals placed, and risk stratification documented. An AI-native EMR can analyze the visit note and suggest the appropriate primary and secondary ICD-10 codes based on the documented clinical content—flagging, for example, when a confirmed GERD diagnosis should replace an R07.9 code, or when a documented positive stress test should trigger an I20.x code rather than a symptom code.
Krasyn's coding assistance surfaces ICD-10 suggestions in the billing review panel, with citations to the specific note content supporting each suggestion. See it in action or review pricing.
Krasyn: Built for Independent Physicians
AI ambient documentation, real-time billing review, and clinical coding support—all in one platform.