CARDIOLOGY

CPT 93015: Treadmill stress test

What this code means, what it should cost, and how to dispute an overcharge.

Fair Price Reference

Medicare allowable
$119
Typical charge range
$200 – $700
Markup vs Medicare
1.7x – 5.9x

What is CPT 93015?

CPT 93015 (Treadmill stress test) is a cardiology billing code defined by the American Medical Association. It's used to bill your insurance or you directly for this service.

What CPT 93015 should cost

The Centers for Medicare & Medicaid Services (CMS) pays approximately $119 for CPT 93015 under the 2025 Physician Fee Schedule. This is what the federal government has determined is a reasonable payment for this service.

Private insurance typically pays 1.2–1.8x Medicare rates ($143–$214). Hospital chargemaster prices for CPT 93015 often range from $200 to $700 — a markup of 1.7x to 5.9x over Medicare.

Common overcharges on CPT 93015

Unbundling complete ECGs (93000) into separate tracing (93005) + interpretation (93010) charges. Charging for preventive services (like routine ECGs) that are covered at 100% under the ACA.

About Cardiology billing

Cardiology procedures are frequently overcharged through facility-fee stacking — where the same test at a hospital-owned imaging center costs 3–5x what it does at an independent cardiology practice.

Compare hospital charges against the Medicare Physician Fee Schedule and FAIR Health's regional benchmarks. Request site-of-service transparency.

How to dispute a CPT 93015 overcharge

  1. Request the itemized bill. You are entitled to a detailed line-by-line bill showing every CPT code billed. Ask in writing.
  2. Compare to Medicare allowable. If the charge exceeds 150% of Medicare ($179), you have grounds to dispute.
  3. Request documentation. For E&M codes, ask for the visit note. For procedures, ask for the operative report. The documentation must justify the code billed.
  4. Send a formal dispute letter. Cite the specific discrepancy between the documentation and the code. Reference Medicare rates and NCCI edits where applicable.
  5. Follow up in writing. Give the provider 30 days to respond. If they don't, escalate to the state attorney general and insurance commissioner.

Got CPT 93015 on your bill?

Upload your bill. We scan every line for overcharges, upcoding, and improper unbundling — then generate a dispute letter backed by federal law. Free for uninsured and veterans.

Analyze my bill →Free dispute letter template

Related Cardiology codes

CPT 93000
ECG with interpretation
CPT 93005
ECG tracing only
CPT 93010
ECG interpretation only
CPT 93017
Stress test, tracing only
CPT 93306
Echo, complete w/Doppler
CPT 93307
Echo, complete
CPT 93308
Echo, follow-up

Related guides

Disclaimer: This information is educational and not legal, medical, or financial advice. Medicare rates and typical charge ranges are approximate and vary by geography and year. CPT is a registered trademark of the American Medical Association. Always verify codes and rates against official sources including the CMS Physician Fee Schedule and FAIR Health Consumer.