River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Insurance Verification Form Template

Four documents and three sheets, with a dollar figure on every check so the skipped ones stop being invisible.

Free download  ·  No account needed

Verification Record

One row per encounter, one column per check

The encounter reference is the join key. Without it the record is a form, and a form cannot tell you what any of its fields is worth.

EncounterPayerPlanResponse dateVisit datePlanned code
      

The seven checks

 CheckDoneSkippedNot applicable
1Payer and plan captured from the response, not the card alone   
2Member id read back against the card, character by character   
3Plan effective and termination dates captured   
4Patient share and remaining deductible captured   
5Authorization requirement checked for the planned code   
6Other coverage asked about, in words   
7Referring provider identifiers captured, from the referral   

Three marks, and never a fourth

Done, skipped, or not applicable. Never blank. A blank cannot be told apart from not applicable, and the whole arithmetic downstream depends on the difference. Marking a check that did not apply as done inflates the denominator and makes it look safer than it is.

What this row is

A record of what a plan said on a date. It is not a coverage determination and not a prediction, and the script in the pack is written to keep it from becoming either one in front of a patient.

A verification form is easy to write and impossible to prioritize. Every field on it reads as equally mandatory, none of them carries a price, so the slow ones get skipped whenever the schedule is full. Four weeks later the denial report arrives with no way to connect the two halves. The plan's own answer is at least a defined artifact rather than whatever a portal chose to display. The eligibility inquiry and response pair is adopted in regulation, so what it said on the day is a recordable fact.

So this pack joins two records that never meet. One row per encounter says which of seven checks were performed. The remittance says which lines were denied and under which adjustment code. Joined on the encounter, they give dollars per skipped check, and that number is what reorders a front desk script. The ranking it produces is usually an inversion of the one a skip count produces.

At Alder Creek Pediatrics, 412 encounters carried 367 skipped checks and $27,480 of attributable denials. Asking about other coverage was skipped 147 times and cost $21.63 a skip. Checking the authorization requirement for the planned code was skipped 38 times and cost $332.63. The most-skipped item of all, remaining deductible at 88, caused no denials at all, because it never touches adjudication. It belongs with what the practice tells a patient about money, which is the financial policy pack, not with denial prevention.

147 skips at $21.63, and 38 skips at $332.63

Failure Log by Cause with both rankings, the claim-level attribution behind it, and the record the front desk actually fills in.

Failure Log by Cause

Illustrative rows for a fictional practice, Alder Creek Pediatrics. One month, 412 verified encounters, 367 skipped checks, 46 attributable denials worth $27,480.

 CheckSkipsSkip rateDenialsHit rateDenied chargePer skipBy skipsBy $/skip
C1Payer and plan from the response00.0%00.0%00.0076
C2Member id read back against the card92.2%555.6%1,510167.7862
C3Effective and termination dates6114.8%1423.0%8,210134.5933
C4Patient share and deductible left8821.4%00.0%00.0026
C5Authorization requirement for the code389.2%923.7%12,640332.6341
C6Other coverage asked about14735.7%117.5%3,18021.6315
C7Referring provider identifiers245.8%729.2%1,94080.8354
AllSeven checks367 46 27,480   

Read the last two columns against each other. C6 is first by skips and fifth by dollars per skip. C5 is fourth by skips and first by dollars, at fifteen times C6's cost per occurrence. A retraining session built from the skip counts spends its morning on the cheapest thing in the file. C4 is the other finding: 88 skips, the second-highest count, and no denials at all, because remaining deductible never touches adjudication. That does not make it worthless, it makes it a patient-financial step rather than a denial-prevention one, and it should stop being defended as the latter. C2 is the quiet one: nine skips, five denials, the highest hit rate in the file, on a check that takes five seconds.

Denial Attribution

The claim-level evidence under the log. Every row carries the alternative cause that was considered, so a weak attribution reads as weak instead of disappearing into a total.

EncounterPayerAdjustmentMeaningChargeCheckConfidenceAlternative considered
ENC-8823Summit AdvantageCO-197Authorization absent4,110C5HighNone
ENC-8808Ridgeline HealthCO-197Authorization absent3,640C5HighNone
ENC-8802Summit AdvantageCO-197Authorization absent2,180C5HighCategory-level response said no authorization needed, which is a payer quirk rather than a skip
ENC-8841Ridgeline HealthCO-197Authorization absent1,240C5MediumAuthorization obtained but expired before the service date
ENC-8817Cascade MutualCO-27Expenses after coverage terminated1,180C3HighNone
ENC-8826Ridgeline HealthCO-27Expenses after coverage terminated620C3HighNone
ENC-8809Horizon MedicaidCO-27Expenses after coverage terminated410C3HighManaged care reassignment rather than termination
ENC-8829Summit AdvantageCO-31Patient cannot be identified as our insured410C2HighNone
ENC-8803Cascade MutualCO-22May be covered by another payer380C6HighNone
ENC-8845Ridgeline HealthCO-16 N290Missing or invalid referring provider identifier240C7HighNone

Attribution is deliberately narrow. A denial counts against a check only when the [adjustment code](https://x12.org/codes/claim-adjustment-reason-codes) is one that check can cause and that check was marked skipped on that encounter. ENC-8841's authorization expired rather than went unchecked, so it sits at medium confidence and the alternative is written on the row. Most denials in any month are not verification failures at all, and a register that claimed otherwise would be worthless.

Verification Record

Twelve encounters from the same month, as the front desk left them. The notes column is where the payer quirks were first noticed.

EncounterPayerCodeC1C2C3C4C5C6C7Note
ENC-8801Ridgeline99213donedonedonedonedonedonen/aSelf referred
ENC-8802Summit20610donedonedoneskipskipskipdoneCategory said no authorization, the code needed one
ENC-8803Cascade99204donedoneskipskipdoneskipdone 
ENC-8806Cascade99213doneskipskipskipdoneskipn/aFront desk covering two rooms
ENC-8808Ridgeline64483donedonedonedoneskipdonedoneAuthorization lookup deferred and never done
ENC-8809Horizon99213donedoneskipn/adoneskipn/aManaged care assignment changed in January
ENC-8810Cascade99205donedonedoneskipdonedonedoneDeductible figure five weeks stale
ENC-8812Ridgeline99212donedoneskipskipdoneskipn/aSame day add on

Three of Alder Creek's four payers cannot answer C5 from the electronic response, and one of them answers it per category rather than per code, which is close enough to be dangerous. That is why C5 is the most expensive skip in the file: it is the only check that structurally needs a second system, so it is the first thing dropped when the schedule is full. The fix is not asking the desk to try harder. It is moving C5 into a batch run the day before, where the time cost lands on somebody who has time.

What's in the pack

01

How the Failure Log Closes the Loop

The method: the join key, the code-to-check mapping written out, the conservative attribution rule, and both ratios with what each one answers.

02

Verification Record

One row per encounter, a column per check, three permitted marks and never a blank, because blank and not applicable cannot be told apart downstream.

03

Failure Log by Cause

Skips, skip rate, attributed denials, hit rate, denied charge and dollars per skip, ranked twice so the disagreement between the two rankings is on the page.

04

Denial Attribution

The claim-level evidence, each row carrying the alternative cause that was considered and a confidence mark, so a thin attribution stays visibly thin.

05

Verification Procedure

The seven checks in call order, when each visit type gets verified, and the re-run on the morning of the visit that catches a plan terminated since booking.

06

Patient Communication Script

Exact words, built around not turning the plan's statement into the practice's promise, plus what is never said at the desk and why.

07

Payer Response Quirks

Per payer: what the response omits, how termination is expressed, how stale the deductible figure is, and the honest residue that still needs a portal.

08

Where the loop continues

An authorization requirement that turns out to exist is a job for the prior authorization pack, and the denials this log cannot attribute get ranked by remittance and denial triage. A verification that comes back out of network goes to the single case agreement pack before the visit is booked.

How to use it

  1. 1

    Open in River, or download it

    Open the pack in River and let the agent build the join from your own data, or download the blank Word and CSV files instantly and run the seven checks by hand.

  2. 2

    Send the checklist and the remittance

    Your current form maps onto the seven checks. A month or a quarter of remittance with adjustment codes is the half that puts a dollar figure on each one.

  3. 3

    Join them on the encounter

    The mapping from adjustment code to check gets written down first, then attribution runs narrow, and every row records the alternative cause considered.

  4. 4

    Rewrite the script by dollars, not by skips

    Checks that need a second system move off the desk into a batch run. Checks that feel intrusive get exact words. Nothing gets added without something coming out.

Frequently asked questions

Is this template free?

Yes. The four documents and three sheets download as Word and CSV files with no signup and no card. "Edit with AI" is the optional path for practices that want the join run against their own encounters and remittance. The rest is in the template library.

What format are the downloaded files?

Word documents for the procedure, the patient script, the payer quirk note and the method note, plus CSV for the record, the failure log and the attribution sheet, zipped together. They open in Word, Pages, Google Docs, Excel, Numbers and Sheets.

Why seven checks and not the ninety-six fields on a typical form?

Because a row has to be fillable during the call, and because a check nobody completes is worse than one nobody wrote down. Seven is enough to be honest about the work and few enough that the skip marks mean something when they appear.

Does this tell us whether a service is covered?

No, and it is built to avoid implying it. An eligibility response is a statement a plan made on a date, recorded as exactly that. Plans do adjudicate against their own prior responses, so the script deliberately attributes every figure to the plan rather than to the practice.

How do you avoid blaming the front desk for payer behaviour?

The attribution rule. A denial counts against a check only when the adjustment code is one that check can cause and the check was marked skipped. An authorization that expired is not an unchecked authorization, and it sits at medium confidence with the alternative written on the row.

What if the most-skipped check turns out to cause nothing?

That is a finding, not an error, and it happened in the worked example. Remaining deductible was the second most-skipped item and produced no denials, because it never touches adjudication. It moves out of the denial-prevention section into the patient-financial one.

Do we need the remittance data to use this?

The record, the procedure and the script work without it. The dollar figure on each check does not, because it comes from joining the two. Without remittance you have a better form, which is genuinely useful and is not the reason this pack exists.

Find out what each verification step is worth

Send your current form and a quarter of remittance with the adjustment codes. The first thing back is dollars per skipped check, ranked against the skip counts.

Edit with AI