Here is the whole audit. Five requests, one afternoon, no consultant required.
First, request a
denial report by reason code covering the last 90 days. You want counts and dollars per code, plus the disposition of each denial after it landed: appealed, corrected, written off, or untouched. A biller doing the work exports this in minutes. A biller who stalls, or sends totals with no reason codes, just answered a different question.
Second, request an AR aging by
payer. Total AR hides everything interesting. Broken out by payer and age bucket, you can see precisely where money is stuck and whether one payer's claims are dying past 90 days while the summary line looks acceptable.
Third, compare collections per encounter, this year against last year, same months and same providers. This single ratio catches unsubmitted claims, abandoned denials, and posting games simultaneously, because every failure mode eventually surfaces as fewer dollars per visit.
Fourth, spot-check ten EOBs against your postings. Pull ten remittances at random and trace each into the practice management system. Watch for posting dates weeks after the remit date, adjustments written off without explanation, and patient balances that never generated a statement.
Fifth, ask who exactly works your account: names, roles, hours per week. Vague answers here explain whatever the first four steps uncovered.
Score the responses against the benchmarks at the top of this post. Silence, delay, or defensiveness on any request counts as a failing grade on that item.