Your insurer’s doctor list is wrong. By law, someone has to phone every office to fix it.
Rollcall makes those calls. It phones every listing, asks five questions, corrects the directory, and keeps the receptionist’s own words behind every change.
The problem
US Senate Finance Committee staff called 120 mental-health listings across 12 Medicare Advantage plans. A third were wrong numbers, inaccurate or never answered, and they could book an appointment 18% of the time. Patients call the list, hear “he retired” or “we don’t take that plan,” and give up.
Source: Senate Finance Committee secret-shopper study, May 2023.
The 90-day rule
The No Surprises Act already requires plans to verify directory data every 90 days. The REAL Health Providers Act, signed in February 2026, makes Medicare Advantage plans re-verify every 90 days, remove departed providers within five business days and publish accuracy scores, from plan year 2028. And CMS requires every state to run annual secret-shopper surveys of Medicaid managed-care directories from July 2028. Today that work is a call centre asking the same five questions. One vendor in this market puts a manual verification call at “several dollars per interaction”; the recorded calls on the console cost about eight cents each.
How one call works
- 01
Listing
One row of the directory: provider, office, phone, two yes/no facts.
- 02
Key terms
The row’s own names and street become the recognizer’s key terms for that call.
- 03
Call
AssemblyAI’s Voice Agent API holds the conversation: speech in, speech out, turn-taking, barge-in.
- 04
Tool calls
Each clear answer is one JSON-schema tool call: confirm, correct, flag, or refuse to write.
- 05
Cell + clip
The value lands in the register with the audio span it came from.
- 06
Person
Hedged or conflicting answers go to a human. The agent never guesses.
What is measured, and what isn’t yet
- The sweep on the console is 40 calls on 6 lines: 8:26 of wall time, 1:02 per call, $0.08 per listing at AssemblyAI’s $0.075/min Voice Agent rate. Those numbers are computed from the calls themselves.
- Every office is simulated. No real clinic was called, and every phone number is in the 555-01xx range reserved for fiction.
- Scored against the offices’ hidden truth sheets over 40 recorded calls: 150 of 150 written fields correct, 0 false writes. The write gate refused 5 tool calls the model wanted to make. Reproduce it with
npm run eval. - A value reaches the directory only through a write gate in code: the office must have said it, numbers must have been heard, and a hedge (“I think so”) is refused and sent to a person.
npm run verifychecks this with no credentials.
Built for the AssemblyAI Voice Agent Hackathon on lablab.ai, September 2026. MIT licensed.