Valian

Cardiology CPT Codes: The List Your Billers Use

See the cardiology CPT codes for EKG, echo, stress tests, and catheterization, plus the modifiers and diagnosis pairs that get a claim paid.

Robert Del Grande
Robert Del GrandeFounder, Valian

November 10, 2026 · 7 min read

A cardiology claim lives or dies on its codes. The payer never sees the chart. It sees a CPT code, a diagnosis code, and sometimes a modifier, and it pays or denies based on how those three line up. Cardiology CPT codes cover work as different as a five-minute EKG and a four-hour catheterization, and the wrong code, or the right code missing its modifier, is one of the most common reasons a cardiology claim comes back unpaid. Here is the list we check against at the office level, and where each category tends to break.

What Are Cardiology CPT Codes?

Cardiology CPT codes are five-digit numbers from the American Medical Association's Current Procedural Terminology set that describe cardiology services on a claim. The codes a cardiology office bills most often fall into five groups: electrocardiogram codes (93000, 93005, 93010), echocardiogram codes (93306, 93307, 93308), stress test codes (93015, 93017, 93018), ambulatory monitoring codes (93224 through 93227), and catheterization codes (93451, 93452, 93458).

Each code pays for a different piece of work, and several of them split into three versions: the global code, which covers the test plus the read; the technical component, which covers running the test; and the professional component, which covers reading it and writing the report. A cardiology practice that runs a test and reads it bills the global code. A practice that only reads a test run somewhere else, a hospital EKG for example, bills the professional component alone, with modifier 26 attached.

A carrier check that used to take 20 minutes, run in secondsWatch a real verification run: carrier, member ID, full coverage breakdown. (6 min)

Common Cardiology CPT Code Categories

Electrocardiogram (EKG)

  • 93000: 12-lead EKG, tracing with interpretation and report
  • 93005: tracing only, no interpretation
  • 93010: interpretation and report only, no tracing

Echocardiogram

  • 93306: complete transthoracic echo with spectral and color Doppler
  • 93307: transthoracic echo without Doppler
  • 93308: follow-up or limited transthoracic echo

Stress testing

  • 93015: cardiovascular stress test, global (tracing, monitoring, interpretation)
  • 93017: tracing and monitoring only
  • 93018: interpretation and report only

Ambulatory monitoring

  • 93224: Holter monitor, up to 48 hours, global
  • 93225: recording only
  • 93226: scanning analysis with report
  • 93227: physician review and interpretation only

Cardiac catheterization

  • 93451: right heart catheterization
  • 93452: left heart catheterization with left ventriculography
  • 93458: left heart catheterization with coronary angiography

Office visits

  • 99202 through 99205: new patient evaluation and management
  • 99212 through 99215: established patient evaluation and management

Each code needs a diagnosis code that supports it. An EKG billed with no cardiac diagnosis on the claim, or a stress test billed on a patient whose chart does not show a reason for the test, is a denial waiting to happen.

// Tomorrow’s schedule6 patients · 5 verified
8:00 AMDelta Dental PPOVerified
8:40 AMCigna DHMOVerified
9:20 AMMetLife PDPNeeds a call
10:00 AMAetna DentalVerified
10:40 AMGuardianVerified
11:20 AMUnited ConcordiaVerified
// Tomorrow’s schedule, checked in one click, with one payer still needing a call

CPT 93000 vs 93005: What's the Difference

The difference is the professional component, the written interpretation. 93000 is the global code: the office runs the EKG and the same office's cardiologist reads it and documents a report. 93005 is tracing only, the technical component, with no read. An office bills 93005 when it runs the EKG but sends the strip somewhere else, another practice or a hospital cardiologist, to be read. That second group then bills 93010, the interpretation and report alone. Billing 93000 and 93010 on the same EKG, for the same visit, duplicates the read and gets denied by most payers as a service already paid.

Modifiers Cardiologists Use Most

  • Modifier 26: professional component only, the physician's read, no equipment.
  • Modifier TC: technical component only, the equipment and the tech, no read.
  • Modifier 25: a significant, separately identifiable office visit billed the same day as a procedure, like an EKG.
  • Modifier 59: a distinct procedural service, used when two codes that are normally bundled were performed at different sites or sessions and need to be paid separately.

A missing modifier 26 or TC on a split service is one of the most common reasons a cardiology claim pays zero on a line that should have paid.

Where Cardiology Coding Breaks Down

Three patterns show up again and again in cardiology claims:

  • Code pairs that do not belong together. Some CPT code combinations are bundled by the payer's claim edits and need a modifier, or they are not billable together at all on the same date of service.
  • A missing modifier on a split service. Billing the global code and the component code for the same test, or leaving modifier 26 off an interpretation-only claim.
  • A diagnosis code that does not support the procedure. A stress test or echo billed without a cardiac diagnosis on the claim that matches the reason for the test.

This is the part a biller catches by comparing the codes on the claim against each other, and against the diagnosis, before the claim goes out the door, not after the denial comes back weeks later.

How Cardiology Coding Works in Valian

In a cardiology practice using Valian, the doctor still picks the code. That does not change. What changes is the check that happens before the claim leaves the office: Valian looks at the code pairs on a claim and flags codes that do not belong together, and flags a missing modifier, before the claim goes to the payer. The doctor sees the flag and fixes it or confirms it, and the claim goes out clean the first time.

Cardiology bills on the CMS-1500 claim form, the same form chiropractic uses. Those claims are built in the Valian dashboard and sent electronically, and Valian reviews every claim before it goes. Once the payer answers, what it paid and what the patient owes is posted to the claim. Valian follows up on every open claim with the payer, and shows what each claim still needs. The front desk can sign in and check a patient's eligibility in one click, in seconds, before the visit, so the office knows what the plan covers before the cardiologist walks in the room.

If you want to see how this works for a cardiology practice specifically, our cardiology billing services page walks through the claim, the coding check, and the follow-up step by step. For the coding check on its own, across specialties, see our medical coding services page. And if you want the full view of how a claim moves from the visit to payment, our medical billing services page covers the whole cycle.

If your practice also sees chiropractic patients, the same CMS-1500 logic applies: our guide to chiropractic CPT codes and modifiers covers that code set the same way. And if a Medicare Administrative Contractor sets your cardiology rates, our guide to the Novitas fee schedule shows how to look up what a code actually pays in your area. For the broader list of codes a practice might bill outside cardiology, our procedure code guide covers both CPT and HCPCS codes.

Your billing, streamlined in our software. Keep managing it yourself, or have us take it over.

Book a free billing review to see how the coding check works on your own claims.

// Verification result
Jordan M.Delta Dental PPO
ActiveMaximum $1,500 · $900 leftDeductible metBitewings: 1 of 1 used
Remaining maximum$900 of $1,500
// The verification result the front desk sees before the visit

FAQ

What are the CPT codes for cardiology?

Cardiology CPT codes span EKG (93000, 93005, 93010), echocardiogram (93306, 93307, 93308), stress testing (93015, 93017, 93018), ambulatory monitoring (93224 through 93227), catheterization (93451, 93452, 93458), and office visit codes (99202 through 99215). Which codes a practice bills most depends on whether it runs diagnostic testing in house or sends patients out for it.

What are 5 common CPT codes?

Five codes a general cardiology office bills nearly every week are 93000 (EKG with interpretation), 93306 (complete echocardiogram), 93015 (stress test, global), 93224 (Holter monitor, global), and 99214 (established patient office visit, moderate complexity). Each one needs a supporting diagnosis code on the same claim.

What is the difference between CPT code 93000 and 93005?

93000 is the global EKG code: the tracing plus the physician's interpretation and report. 93005 is the tracing only, with no interpretation, billed when the office runs the EKG but someone else reads it. The read, billed separately, goes under 93010.

What are the changes in CPT codes for cardiology in 2026?

The American Medical Association updates the CPT code set every year, usually effective January 1, and cardiology codes get revised as often as any other specialty. Check the current year's CPT code book, or your Medicare Administrative Contractor's bulletin, for the codes that changed this year before you bill them, since a retired or revised code denies the same way a wrong code does.

Robert Del Grande
// Written byRobert Del GrandeFounder, Valian
Connect on LinkedIn
// Follow on Google

Get these guides in your Google results

Add Valian as a preferred source. Our guides then show up more often in your Top Stories, AI Mode, and AI Overviews. Takes one click, and you can undo it any time.

Add as preferred source
// Keep reading

Related posts

All posts

Get paid for the work you already did

Valian verifies insurance in real time today, the first step of every claim. Claims and collections are next, and we are now taking our first offices.

// VALIAN · MEDICAL REVENUE OPERATING SYSTEM

Valian