Cardiac Stress Test Billing: CPT 93015-93018 Done Right

Cardiac Stress Test Billing: CPT 93015-93018 Done Right

Cardiac Stress Test Billing: CPT 93015-93018 Done Right

Last updated: June 2026

Key Takeaways
– CPT 93015 is the all-inclusive code worth roughly $200–$230 (Medicare non-facility); split it only when the physician and the facility bill separately.
– CPT 93016 (physician supervision only), 93017 (tracing/technical only), and 93018 (physician interpretation only) are the three component codes that together equal one 93015.
– Mismatching component codes is one of the top reasons cardiology claims are denied — affecting an estimated 12–15% of stress test claims annually.
– A single unbundling or wrong-component error on a $200 stress test claim costs the practice the full allowed amount if denied and not corrected within the payer’s 90-day window.
– Practices that outsource cardiac stress test billing to specialty-trained billers recover an average of 6–8% more net revenue than those using generalist billing staff, per MGMA benchmarks.


Cardiac stress test billing requires selecting between one global code (CPT 93015) or a combination of three component codes (93016, 93017, 93018) based on who performs each part of the test — and choosing the wrong path costs the average cardiology practice $8,000–$15,000 per year in denied or underpaid claims. The professional component (physician supervision and interpretation) splits cleanly from the technical component (equipment, tracing, and staff), and billing them correctly hinges on a single question: does the same provider own both pieces, or are they split between a physician and a facility?

How Cardiac Stress Test CPT Codes Work: The Global vs. Component Framework

CPT 93015 is the global stress test code covering the entire exercise or pharmacologic cardiovascular stress test in a single line — supervision, tracing, and interpretation all in one claim. When one provider group owns all three elements of the service, 93015 is the correct and only code to submit. According to the American Medical Association (AMA), CPT codes 93016 through 93018 are explicitly designated as component codes that exist solely to split the work when ownership is divided, and they may not be billed in addition to 93015 for the same session.

The three component codes break down as follows:

  1. CPT 93016 — Physician supervision only. The physician is physically present to supervise the test but does not interpret the tracing. This code carries the lowest RVU weight of the three components and is rarely billed alone in practice.
  2. CPT 93017 — Tracing and technical component only. Covers the equipment operation, ECG recording, and technical staff time. This is the code a hospital outpatient department or independent diagnostic testing facility (IDTF) typically bills when a physician from an outside group reads the study.
  3. CPT 93018 — Physician interpretation and report only. Covers the physician’s written interpretation of the ECG tracing and the formal report. This is the code an independent cardiologist bills when they interpret a tracing recorded elsewhere.

Together, 93016 + 93017 + 93018 = one complete 93015. Submitting all three components alongside 93015 is a classic unbundling error that triggers automatic denial and, in audit contexts, can constitute an overpayment allegation under the False Claims Act.

Cardiologist reviewing cardiac stress test ECG tracing results, illustrating the professional component of cardiac stress test billing CPT 9
Photo by Los Muertos Crew on Pexels

When to Use 93015 vs. the Component Codes 93016, 93017, and 93018

The correct stress test CPT code selection depends entirely on the service delivery arrangement — not on the type of stress test performed.

Use CPT 93015 when: – A single physician group employs or owns both the clinical staff running the treadmill and the physician interpreting the tracing. – The test is performed in the practice’s own office with the practice’s own equipment. – The cardiologist supervises, the practice’s tech records the tracing, and the same cardiologist writes the interpretation.

Use the component codes (93016 / 93017 / 93018) when: – The test is performed in a hospital outpatient department: the hospital bills 93017 (technical), and the physician bills 93018 (interpretation) or 93016 + 93018 if they also supervise. – An IDTF owns the equipment and staff: the IDTF bills 93017; the referring or reading physician bills 93018. – A cardiologist is asked to interpret a tracing they did not supervise: 93018 only.

Here is the most common split-billing scenario laid out as a reference table:

SettingWho BillsCorrect Code
Physician-owned office, same groupPhysician group93015
Hospital outpatient (facility)Hospital93017
Hospital outpatient (physician)Cardiologist93016 + 93018 (or 93018 alone if no supervision role)
IDTFIDTF93017
Reading cardiologist (remote)Physician93018
Tele-cardiology supervision onlySupervising physician93016

One critical detail: CPT 93016 and 93018 may both be billed by the same physician in a hospital outpatient setting — 93016 for showing up and supervising, 93018 for the interpretation. This is correct and expected. What is never correct is billing 93015 and any component code together for the same date of service and same patient.

According to CMS.gov, the 2026 Medicare Physician Fee Schedule assigns CPT 93015 a national average non-facility payment of approximately $205–$230 depending on geographic locality, while 93017 (technical) averages $95–$115 and 93018 (interpretation) averages $60–$75 — numbers that illustrate exactly why correct code selection on every claim matters at volume.

For a broader view of how these coding decisions fit into a cardiology practice’s overall revenue cycle, see our guide to outsource medical billing for cardiology practices, which covers denial patterns, payer mix considerations, and the true cost of generalist billing staff handling specialty cardiology codes.

cardiac stress test billing — supporting illustration for a US medical practice
Photo by www.kaboompics.com on Pexels

ICD-10 Diagnosis Codes and Medical Necessity for Stress Test Claims

Selecting the right CPT code is only half the equation — the claim must also carry a diagnosis code that establishes medical necessity, or the payer will deny it on that basis regardless of how well the CPT was chosen.

The most common ICD-10 codes paired with cardiac stress test billing include:

  • Z13.6 — Encounter for screening for cardiovascular disorders (used for screening in appropriate populations)
  • I25.10 — Atherosclerotic heart disease of native coronary artery without angina pectoris
  • R00.0 — Tachycardia, unspecified
  • R07.9 — Chest pain, unspecified
  • Z82.49 — Family history of ischemic heart disease and other diseases of the circulatory system
  • I10 — Essential (primary) hypertension (often secondary, supporting medical necessity)

According to CMS.gov Local Coverage Determinations (LCDs), Medicare requires that stress testing be medically reasonable and necessary for the specific diagnosis submitted. Submitting Z13.6 for a symptomatic patient with documented chest pain is a documentation mismatch that will draw ADR (Additional Documentation Request) letters or outright denial.

HFMA data from its 2025 Revenue Cycle Benchmarking Survey found that diagnosis-to-procedure mismatches account for approximately 18% of all outpatient cardiology claim denials — making it the second most common denial reason after eligibility issues. For context on how cardiology denials cluster and what drives them, our post on top cardiology claim denials and how to stop them breaks down the full list with fix rates.

Modifiers That Affect Cardiac Stress Test Billing

Several modifiers can legally change — or protect — your reimbursement on stress test claims, and omitting them when they apply is a silent revenue leak.

Modifier 26 — Professional Component: When a physician only interprets the tracing and does not own the technical equipment, appending modifier 26 to 93015 is an alternative approach some practices use instead of switching to 93018. However, per AAPC guidance, the component codes (93016/93017/93018) are preferred over modifier 26 on 93015 when a true split exists — because 93015 with modifier 26 may not be recognized by all payers the same way 93018 is.

Modifier TC — Technical Component: Similarly, 93015-TC can be used by a facility billing only the technical side, but again, 93017 is the cleaner and more universally accepted approach.

Modifier 59 — Distinct Procedural Service: If a stress test is performed on the same day as another cardiovascular procedure (e.g., an echocardiogram), modifier 59 or an X-modifier (XE, XS, XP, XU) may be required to prevent an NCCI (National Correct Coding Initiative) edit from bundling the claims incorrectly.

Modifier 52 — Reduced Services: If a stress test is terminated early due to patient intolerance before a diagnostic endpoint is reached, modifier 52 documents that the service was not fully completed. Failing to append this modifier when the note documents early termination creates a documentation-to-claim mismatch that auditors flag.

According to AAPC‘s 2025 Cardiology Coding Update, modifier-related errors account for an estimated 9% of cardiology procedure denials — a number that sounds small until you multiply it across a year’s volume of stress test claims.

For practices that also perform nuclear stress testing (myocardial perfusion imaging), the modifier landscape gets significantly more complex. Our guide on myocardial perfusion imaging modifiers covers that layer in full detail.

cardiac stress test billing — Billing specialist entering cardiac stress test CPT codes 93015 and 93017 into medical billing software to pre
Photo by Tara Winstead on Pexels

The 5 Most Common Cardiac Stress Test Billing Errors — and Their Dollar Cost

Small errors in cardiac stress test billing compound quickly at practice scale. Here are the five mistakes that generate the highest denial volume:


  1. Billing 93015 when the service was split between a facility and a physician. Result: the facility’s 93017 and the physician’s 93015 hit the payer simultaneously, triggering a duplicate claim edit. Average denied amount: $200–$230 per occurrence.



  2. Billing all three component codes (93016 + 93017 + 93018) plus 93015 on the same claim. Classic unbundling. Payers auto-deny and flag the account for post-payment audit.



  3. Using a screening diagnosis (Z13.6) for a symptomatic patient. Medical necessity fails. The fix requires an amended claim with the correct symptomatic ICD-10 — but if the 90-day timely filing window has passed, the revenue is gone.



  4. Missing modifier 59 on same-day cardiovascular procedures. NCCI edits bundle the stress test into the other procedure and reduce total reimbursement by $60–$150 per claim.



  5. Failing to document a formal written interpretation for 93018 or 93015. CMS requires a signed, dated interpretation report in the medical record. Without it, the claim is technically unsupported and vulnerable on audit.


According to Becker’s Hospital Review, cardiology practices lose an average of $47,000–$75,000 annually to preventable billing errors — with stress testing codes in the top five highest-error procedure categories.

If your practice also performs cardiac catheterization, the documentation and component-code logic has significant parallels. Our detailed guide to cardiac catheterization billing walks through the same framework for that procedure family.

Per the CDC, heart disease affects approximately 1 in 5 Americans — meaning cardiac stress testing volume at primary care and cardiology practices is substantial, and even a 2% error rate across hundreds of annual tests creates a meaningful, compounding revenue gap.

What to Look For in a Billing Partner for Cardiac Stress Test Claims

Cardiology billing — and stress test coding specifically — requires a biller who actually understands what happens clinically during a stress test: who is in the room, what their role is, and how that maps to the CPT code family. Generalist billing staff who learned codes from a manual, without clinical context, consistently miss the supervision vs. interpretation distinction that drives the 93016/93017/93018 split.

When evaluating a billing partner for cardiac stress test claims, ask these five questions:

  1. Can they explain the difference between 93016 and 93018 without looking it up?
  2. How do they handle same-day stress test and echo claims to avoid NCCI edit denials?
  3. What is their first-pass clean claim rate on cardiology claims specifically (benchmark: ≥95%)?
  4. Do they track denial reason codes at the CPT-code level or only at the aggregate practice level?
  5. How quickly do they rework denied cardiology claims (benchmark: within 10 business days)?

Per MGMA‘s 2025 Cost Survey, practices with specialty-focused billing support report a median net collection rate of 97.2% vs. 93.1% for practices using generalist billing — a 4.1-percentage-point gap that translates to tens of thousands of dollars annually on stress test volume alone.

Coding details like CPT 93016 vs. 93018 are exactly where cardiology revenue quietly leaks — one wrong code on a split-service claim means a denied $200 stress test that may never get worked. Rapid Growth Trend’s MD-trained billers — real physicians who transitioned into billing and coding — review these component-code decisions with clinical judgment, not just a code lookup. They’ll analyze your last 30 days of cardiology claim denials for free and show you the exact dollar amount slipping through. Get your free claim denial audit →

Frequently Asked Questions

Q: What is the difference between CPT 93015 and CPT 93018 for stress test billing? A: CPT 93015 is the global code covering the entire cardiac stress test — supervision, tracing, and interpretation — billed by one provider group that owns all components. CPT 93018 covers only the physician’s interpretation and written report, used when the physician reads a tracing recorded by a separate facility or IDTF. Billing both for the same session is an unbundling error.

Q: Can a physician bill both CPT 93016 and 93018 for the same stress test? A: Yes. When a physician supervises the test at a hospital or IDTF (billing 93016) and also writes the formal interpretation (billing 93018), both codes are appropriate and expected. Together they represent the physician’s complete professional service when the technical component (93017) is billed separately by the facility.

Q: Does CPT 93015 require a modifier when billed in a hospital outpatient setting? A: In most cases, a physician should not bill 93015 in a hospital outpatient setting at all — they should bill the component codes (93016 and/or 93018) because the hospital owns the technical piece (93017). Using 93015 in that setting without modifier 26 will result in a payer conflict with the hospital’s 93017 claim and likely a duplicate-claim denial.

Q: What ICD-10 codes support medical necessity for a cardiac stress test under Medicare? A: Common supporting diagnoses include R07.9 (chest pain, unspecified), I25.10 (coronary artery disease without angina), Z82.49 (family history of cardiovascular disease), and I10 (hypertension) when combined with symptoms. CMS Local Coverage Determinations specify covered indications by MAC jurisdiction — always verify the applicable LCD for your geographic area before submitting.

Q: How long does a practice have to rework a denied cardiac stress test claim? A: Timely filing limits vary by payer. Medicare allows 1 calendar year from the date of service for initial claims and 120 days from the denial date for appeals. Most commercial payers allow 90–180 days for appeals. Denials not reworked within these windows result in permanent write-offs — which is why same-week denial identification and rework processes are critical for stress test billing accuracy.

Q: Is a pharmacologic stress test billed with the same CPT codes as an exercise stress test? A: Yes. CPT 93015, 93016, 93017, and 93018 apply to both exercise and pharmacologic (e.g., adenosine, regadenoson) cardiovascular stress testing. The pharmacologic agent is billed separately using the appropriate drug administration codes; the stress test supervision and interpretation use the same 93015 family regardless of the stressor method.

Q: What is the 2026 Medicare reimbursement rate for CPT 93015? A: The 2026 Medicare Physician Fee Schedule sets the national non-facility payment for CPT 93015 at approximately $205–$230 depending on geographic locality and applicable conversion factor adjustments. The facility rate is lower (roughly $85–$105) because the facility separately bills the technical component. Always verify the exact rate using the CMS Medicare Physician Fee Schedule Look-Up Tool for your specific MAC locality.


About the author: This guide was written by the Rapid Growth Trend revenue cycle team — a physician-led billing group where every coder and biller is a trained medical doctor who transitioned into the billing and coding side. Combining clinical medical knowledge with deep RCM expertise lets us catch coding errors and denial patterns most non-clinical billing companies miss. Our MD-trained billers maintain active AAPC certifications (CPC, CPMA) and average 9+ years of specialty-focused revenue cycle experience, with a documented first-pass clean claim rate of 97.4% across cardiology accounts.

Share your love