Inspiration
Imagine you are a doctor with a full day of appointments. You have prescribed a medication for a patient, but their insurer requires prior authorization before they can move forward. Now you or your staff must get on the phone, explain the case, answer questions, and find out what else the insurer needs. Your next patient is waiting while you work through a decision you have already made.
A medical director at the University of Florida in Gainesville, told us he spends upwards of 10 hours a week talking to insurers and handling prior authorization. He estimated that he could see 25 to 30 more patients each week in that time. That is the impact for one doctor. Imagine what those hours could mean across the country.
We built ATP, Access to Prescription, to give doctors more of that time back. Our agent handles the routine insurance conversation and brings in the doctor when the call truly needs their clinical judgment.
What it does
ATP calls the insurer on behalf of a medical practice. It explains the prescription request using information supplied by the practice, answers factual questions, asks what is missing, and tracks the conversation.
When the insurer needs a prescriber’s input, ATP keeps the insurer on the line, sends the doctor a Slack briefing, and calls their regular phone. The doctor joins the same live conversation, addresses the issue, and presses # to hand the call back. ATP then continues with the context from what the doctor and insurer discussed.
ElevenLabs voice cloning makes that transition feel more natural. With a voice modeled on the doctor’s, the AI can maintain a familiar sound before and after the live handoff. The call still needs to make clear when the AI is speaking and when the doctor has joined: a matching voice must never turn an AI response into a claimed physician attestation.
At the end, ATP records the insurer’s decision, reference number, outstanding requirements, and next steps. It reports an approval only when the insurer explicitly confirms one.
Notability
The big pharma industry is wide and complex and Notability was really helpful in helping us learn about the different stakeholders and how Impiricus is involved in the web of HCPs. We watched a number of videos, read a number of articles and there's still so much to learn about the pharma industry and certainly some of our own opinions of why certain things are such ways. But Notability was really the tool that we used to get our ideas down on paper, draw out maps, understand how can our solution fit in based on what's already been done and we would have definitely not have been able to articulate our solution and find the problem that we felt was worth pursuing without notability
How we built it
ElevenLabs is central to ATP’s real-time voice experience. ElevenLabs Agents enables the live, responsive conversation rather than a sequence of prerecorded prompts. We use ElevenLabs speech recognition to follow what each person says, voice generation to let ATP respond naturally, and voice cloning to give the AI a voice modeled on the doctor’s. Fast turn taking and interruption handling are essential when an insurer pauses, changes direction, or asks a follow-up question.
The rest of the system keeps that voice experience connected to a real call. LiveKit maintains the shared audio room, and Plivo connects the insurer and doctor through ordinary phone calls. A Python and FastAPI service manages the case, call state, and handoffs. OpenAI helps ATP reason over the supplied case information, answer questions, identify facts, and decide when the doctor is needed.
We built a React workspace to start and monitor calls, inspect transcripts, and review outcomes. Slack delivers the doctor’s briefing and confirmed approval updates. Captured facts link back to the conversation turn that supports them, so the practice can inspect what the insurer or doctor actually said.
We used Notability as our digital whiteboard to sketch the call flow, map the AI-to-doctor handoff, and plan features before building them. Drawing the full conversation helped us spot practical cases—like voicemail, interruptions, and a doctor being unavailable—early in development.
Challenges we ran into
The hardest challenge was making the AI-to-doctor-to-AI transition work in one uninterrupted call. The insurer must stay connected while the doctor’s phone rings. ATP must stop speaking when the doctor joins, follow their exchange, and resume with the new context after the doctor leaves. Testing exposed handback delays and repeat escalations, which led us to strengthen our call state and recovery logic.
We also had to make the voice feel natural without letting it blur responsibility. Voice cloning improves continuity, but the insurer must know whether they are hearing ATP or the doctor. Clinical statements that require a prescriber have to come from the doctor, regardless of how the AI sounds.
Phone calls introduce their own problems: voicemail, unanswered calls, disconnections, and people pausing mid-sentence. We added a private press 1 confirmation before someone enters the authorization conversation and tuned speech timing so ATP is less likely to interrupt an unfinished thought.
Accomplishments that we’re proud of
We brought an insurer phone and a doctor phone into one live conversation. ATP handled the routine exchange, brought in the doctor for clinical input, stayed silent while the doctor spoke, and resumed when the doctor pressed #—without ending the insurer’s call.
We are also proud of how the pieces work together. ElevenLabs gives ATP a real-time voice that can carry a conversation, while the handoff lets a doctor contribute exactly where their expertise matters. Our rehearsals exercised routine questions, an insurer objection, clinical escalation, handback, and capture of the stated outcome.
What we learned
Saving a doctor time requires more than automating speech. ATP has to answer questions supported by the record, recognize when it needs the doctor, and give them enough context to help immediately. If the doctor has to start the conversation over, much of the benefit disappears.
We also learned that a seamless voice experience needs clear boundaries. The AI can sound familiar and keep the conversation moving, but the doctor remains responsible for their own clinical judgment. The insurer’s decision must be recorded as stated, not inferred from how the call sounded.
What’s next for ATP
We want ATP to fit into the systems practices already use, so a doctor or staff member can start a request from an existing case and receive the result in the same workflow. We also want to support more insurers, medications, staff roles, and cases that require follow-up across multiple calls.
Before working with real patient cases, ATP needs appropriate integrations, privacy safeguards, and testing with practices and insurers. Our measure of success is straightforward: fewer hours spent on routine prior authorization calls and more time available for patients.
Built With
- elevenlabs
- health
- impiricus
- openai


Log in or sign up for Devpost to join the conversation.