Cardiology Coding Errors That Cost Practices Thousands Per Month
Ever notice how you practice tracking denial rates obsessively? It’s like staring at a single shadow and pretending you know what’s behind it. That shadow belongs to two different problems, and when you lump them together you’ll keep finding the same denials on your desk month after month.
- Hard denials. These are unappealable. The claim was built wrong at the code level, usually because of an NCCI bundling rule with no override modifier. No amount of documentation fixes this after submission. The only fix is upstream, before the claim goes out.
- Soft denials. These are fixable with better documentation or a correct modifier, and they can be appealed successfully if caught quickly.
- Silent underpayments. No denial letter at all. The claim gets paid, just less than it should have. Missing vessel modifiers and downcoded E&M visits both live here, and they are the hardest leak to notice because nothing in your system flags them.
Cardiology practices lose 5 to 8 percent of revenue every year to denials and coding errors, and the MGMA benchmark sets 8 percent as the acceptable ceiling, with top performers staying under 5 percent.
That gap between average and top performing rarely closes by working denials harder. It closes by sorting errors into the three buckets above and fixing each one at the point where it originates, whether that’s the front desk, the coding desk, the clinician’s note, or the billing submission step.
Here is that same breakdown, organized by bucket, by who owns the fix, and by the exact denial code you’re probably seeing.
Hard denials: fix before submission or don’t bother appealing
#1. Billing an EKG that was part of the procedure
- What happens: billing CPT 93458 with CPT 93000 on the same date is an automatic, unappealable denial, since a pre-procedural EKG in the cath lab is legally part of the surgical package
- Denial code: CO-18 or CO-97, duplicate or already bundled
- Why appeals don’t work: this code pair carries a modifier indicator of 0, meaning no modifier can ever separate them
- Who owns the fix: the coding desk, not the billing team. This has to be caught before the claim leaves the building.
The fix: run claims through NCCI edit logic before submission, updated on the same quarterly schedule CMS uses.
#2. Double billing Doppler already inside the echo code
- What happens: CPT 93306 already includes spectral Doppler in its description, so billing 93320 alongside it is a double bill with a modifier indicator of 0
- Denial code: CO-4 or CO-236
- Who owns the fix: the coder, at the point of code selection, not the appeals desk after the fact
The fix: build this pairing directly into your claim scrubber so it’s blocked before submission, not caught after denial
Soft denials: fixable, but only if the note supports it
#3. The stress test global versus split billing mistake
- What happens: CPT 93015 is the global stress test package, and billing it globally inside a hospital setting gets rejected since the hospital already owns the equipment
- Denial code: CO-4 or CO-236
- Who owns the fix: front desk or scheduling, because the fix depends on knowing the place of service before the claim is even generated
The fix: inside a facility, split the components. Bill CPT 93016 for supervision and CPT 93018 for interpretation, and let the facility bill the technical component. Set your charge capture system to switch automatically based on place of service.
#4. The incomplete echo report
- What happens: a complete transthoracic echo needs three documented elements, 2D imaging, M-mode, and spectral or color Doppler. Miss one and the whole code gets denied as unsupported.
- Denial code: CO-16 or CO-50
- Who owns the fix: the clinician writing the report, not the coder. A coder cannot invent documentation that isn’t there.
The fix: if all three elements weren’t fully documented, bill the limited echo code, CPT 93307, instead of forcing the complete code. This is a lower payment that clears, versus a higher payment that gets denied and then reworked at a cost that often exceeds the difference.
#5. Unspecified diagnosis codes on high value procedures
- What happens: linking a procedure to an unspecified code like I50.9 or I48.91 triggers automated medical necessity denials
- Denial code: CO-50
- Who owns the fix: shared between the clinician and the coder. The chart has to support the specific code, and the coder has to know to ask for it instead of defaulting to the umbrella code.
The fix: flag any unspecified code attached to a procedure above a set dollar threshold for a second review before it goes out. Also watch the combination code trap: hypertension and chronic systolic heart failure should be combined under one hypertensive heart disease code, not listed as two separate diagnoses.
#6. Remote device monitoring billed outside the window
- What happens: monitoring is a top denial category because payers enforce strict 30 or 90 day intervals depending on the device, and Medicare Advantage plans often run different cycles
- What has to be on file: transmission logs and a documented interpretation
- Who owns the fix: whoever manages the device monitoring calendar, usually a clinical staff member, not billing
The fix: track monitoring cycles by device type on a dedicated schedule, not a shared calendar. A pacemaker and an implantable cardiac monitor do not run on the same clock.
Silent underpayments: the leak nobody flags
This is the category most practices never audit, because there is no denial letter telling them to look.
#7. Missing vessel modifiers on PCI claims
- What happens: missing modifiers like LD, RC, or LC on PCI claims are among the most frequent cardiology mistakes, and the professional/technical split plus vessel modifiers LD, LC, RC, LM, and RI are the most error prone modifier sets in the specialty
- Why it’s invisible: the claim still pays. It just pays less than it should, and nothing in a standard denial report catches that.
- Who owns the fix: the coder at charge entry, backed by a system default
The fix: build a default modifier into your charge master for every PCI code based on the vessel typically treated, with a forced confirmation step for any deviation
#8. Downcoded E&M visits
Cardiology patients are usually complicated, multiple diagnoses, ongoing medication management, device follow up. That complexity should justify a higher E&M level.
If the note doesn’t show the real decision making behind the visit, the payer pays less, and there’s no denial telling anyone it happened.
- What the note needs to show:
- The number and complexity of problems addressed
- The data reviewed, labs, imaging, prior notes
- The risk involved in managing the condition and treatment
- Who owns the fix: the clinician, entirely. A template can prompt for it, but only the clinician can write it.
Putting a dollar number on one error
You don’t need a full audit to know if an error is worth fixing this month. You need one number.
Monthly cost of one recurring error = number of affected claims per month × average payment difference per claim
An example using the vessel modifier issue: if your practice submits 40 PCI claims a month and a missing vessel modifier causes a $150 underpayment on each one, that’s $6,000 a month,, with no denial letter and no line item that says ‘vessel modifier.’ Run that same math on your echo downgrade rate, your stress test split errors, or your E&M downcoding, and you’ll usually find one or two categories responsible for most of the leak. That’s where to spend your fixing time first, not on the category that generates the most denial letters, but on the one with the highest dollar volume times frequency.
The 2026 code changes creating a new wave of hard denials
- The entire lower extremity revascularization series, CPT 37220 to 37235, was eliminated in 2026 and replaced by 46 new bundled codes, 37254 to 37299, with no appeal path for the old series
- Several PCI add-on codes were also deleted this year, and using one, like 92921 or 92929, is now the leading PCI denial trigger
Who owns the fix: whoever maintains your charge master, on a quarterly schedule, not an annual one
The fix: every quarter, pull your top 10 highest volume CPT codes and confirm none were deleted, renumbered, or redefined before the quarter’s first claim goes out.
Wrapping It Up: A monthly routine built around the three buckets
The same seven or so patterns tend to account for over 80 percent of denied dollars in a typical cardiology practice. The fix isn’t working denials harder. It’s sorting them by bucket and routing each one to the person who owns the fix.
- Hard denials: review NCCI edit logic quarterly, and treat any hard denial as a scrubber gap, not a one-off mistake
- Soft denials: track by CPT code and flag anything repeating three or more times for the same reason
- Silent underpayments: pick one high volume code category each month and manually check ten claims for missing modifiers or downcoding, since these never show up in denial reports on their own
- Dollar triage: before fixing anything, run the simple formula above on your top three suspected leaks, and start with whichever one has the highest number
None of this needs new software or a bigger team. It needs a monthly hour spent sorting errors by which bucket they fall into and which person in the workflow has the power to fix them. That’s usually where the thousands of dollars a month are hiding, and it’s why the same generic advice to ‘improve documentation’ never closes the gap on its own.

Find the Coding Errors Costing You Most
OmniMD helps cardiology practices identify recurring coding issues before they impact revenue.
Dr. Giriraj Tosh Purohit is an experienced Product Manager and Security officer with a strong background in healthcare technology and management consulting. With expertise spanning clinical workflows, EHR, RCM, Digital Health, and AI-driven products, he has been instrumental in shaping innovative healthcare solutions.
