Two codes describe the same thing: time you spent on an office visit beyond what the primary E/M code covers. Bill the wrong one to the wrong payer and it denies every time.
99417 is the CPT code. Most commercial payers want it.
G2212 is the HCPCS code Medicare created because CMS disagreed with how CPT defined the time threshold. Medicare wants this one.
They are not interchangeable, and neither payer will tell you that you used the other one’s code. The claim simply comes back denied.
The threshold difference that costs the most
This is the part that catches experienced coders.
CPT lets you count prolonged time once you pass the minimum time of the primary code. CMS does not. Medicare requires you to exceed the maximum time of the primary code before a single minute of prolonged service counts.
The practical effect: a visit that legitimately qualifies for 99417 under CPT rules may not qualify for G2212 under Medicare rules at all. Same visit, same documentation, same clock. Different answer.
A practice that learns this the hard way usually over-corrects and stops billing prolonged services to Medicare entirely — including the visits that did qualify.
Why the loss never shows up in a denial report
Prolonged services denials are demoralising in a specific way. The physician knows they spent the time. The documentation supports it. The claim still bounces.
So the behaviour changes. Coders stop appending the prolonged code. Long, complex visits get billed at the base E/M level and nobody submits the add-on again.
From that point the revenue is invisible. It is not a denial, not a write-off, not a variance. It is a claim line that stopped being created. No report you run will show it, because there is nothing to show.
Run this on your own remits
Three checks. Under an hour with a report writer.
1. Count prolonged services claims by payer type, per provider, over 24 months. Look for a provider whose Medicare prolonged billing drops to near zero while their commercial prolonged billing continues. That gap is the behaviour change, and it is measurable in dollars.
2. Pull every denied 99417 and check the payer. If Medicare is in that list, the code is simply wrong for that payer — those are correctable claims, not lost ones, and many may still be inside the timely filing window.
3. Sample ten long visits with documented total time and no prolonged code at all. These are the ones nobody even attempted. Compare the documented time against the threshold for that payer. If it clears, you found unbilled revenue that never entered any system.
Find something and want the fix? Reply and say so. Find nothing? That is a good outcome, and worth knowing for certain.
When the code isn’t the real problem
Before changing any code, check that total time is actually documented as a number. Prolonged services are time-based, and “extended visit” in a note is not a defensible quantity. If your physicians are not recording total time on the date of service, no prolonged code will survive an audit — and fixing the code choice first just accelerates a problem you have not solved yet.