An audit isn't an accusation. It's a sample, a review of claims against the documentation behind them, looking for what's being missed in both directions. Here are the signals that usually justify one.
1. Your visit-level distribution never changes
If nearly every office visit goes out at the same E/M level, that is a coding habit rather than a clinical reality. Consistent undercoding loses revenue on every visit and never generates a denial to flag it. Consistent overcoding creates a different and more serious problem.
2. The same denial code keeps appearing
One CO-97 is a bundling disagreement. The same CO-97 every month on the same procedure pair is a rule nobody has looked up.
3. Charges and claims don't reconcile
If the number of services documented in a period doesn't match the number billed, something is being dropped between the encounter and the claim. Unbilled charges are the quietest revenue loss there is, nothing denies, because nothing was ever submitted.
4. AR is aging but the total looks stable
A flat AR total can hide a worsening mix. If the 0–30 bucket is shrinking while 90+ grows, collections are being funded by new claims while old ones stall.
5. Nobody can explain a specific payment
Pick one paid claim and trace it: charge, allowable, adjustment, patient responsibility. If that takes more than a few minutes, underpayments are almost certainly being posted as contractual adjustments without anyone checking them against the contracted rate.
What an audit should produce
- A sample across providers, payers and code sets, not just the claims that already denied
- Findings in both directions: undercoding as well as overcoding
- A cause for each finding, and where in the cycle it originated
- A short list of changes, ranked by what they're worth