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.
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.
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.
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.
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.