Skip to main content
← Back to Blog
icd-10codingcardiologychest-pain

ICD-10 Codes for Chest Pain Workup: A Complete Reference

August 7, 2026·10 min read·Krasyn

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:

R07 Chest Pain ICD-10 Codes
CodeDescriptionWhen to Use
R07.0Pain in throatThroat pain being evaluated; not a chest pain code per se
R07.1Chest pain on breathingPleuritic chest pain, pain with inspiration; PE or pleuritis workup
R07.2Precordial painSubsternal chest pain without confirmed etiology
R07.81PleurodynaEpidemic pleurodyna (Bornholm disease)
R07.82Intercostal painPain between ribs; musculoskeletal when specific cause not confirmed
R07.89Other chest painAtypical chest pain, chest wall pain NOS without confirmed etiology
R07.9Chest pain, unspecifiedDefault 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)

I20 Angina Pectoris Codes
CodeDescriptionNotes
I20.0Unstable anginaNew onset, crescendo, or rest angina—requires ER-level workup or urgent cardiology referral; also called ACS without MI
I20.1Angina pectoris with documented spasmPrinzmetal angina, vasospastic angina; confirmed by coronary angiography showing spasm
I20.8Other forms of angina pectorisAngina equivalent; stenocardia
I20.9Angina pectoris, unspecifiedStable 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

GI-Cause Chest Pain ICD-10 Codes
CodeDescription
K21.0GERD with esophagitis — most common GI cause of chest pain
K21.9GERD without esophagitis
K22.0Achalasia of cardia
K22.2Esophageal obstruction
K25.0Acute gastric ulcer with hemorrhage (epigastric pain sometimes presenting as chest discomfort)
K57.30Diverticulitis of large intestine without abscess (atypical presentations)

Musculoskeletal Causes

Musculoskeletal Chest Pain ICD-10 Codes
CodeDescription
M94.0Chondrocostal junction syndrome (costochondritis) — the most common MSK chest pain diagnosis in outpatient practice
M54.6Pain in thoracic spine
M79.3Panniculitis (subcutaneous inflammation presenting as chest wall tenderness)
S20.01xAContusion of chest wall, initial encounter (trauma-related)
T14.90xAInjury, unspecified — use when traumatic rib injury is suspected but no fracture confirmed
S22.3xxAFracture of rib, initial encounter

Pulmonary Causes

Pulmonary Chest Pain ICD-10 Codes
CodeDescription
J18.9Pneumonia, unspecified organism — pleuritic chest pain + fever + cough
J90Pleural effusion (not elsewhere classified)
J93.11Primary spontaneous pneumothorax
J93.81Chronic pneumothorax
I26.09Other pulmonary embolism without acute cor pulmonale — pleuritic chest pain, dyspnea, tachycardia
I26.99Other 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.