Inspiration
Medical billing is one of the few places where people are expected to trust a number they don’t understand. Most patients receive a bill, assume that it must be corrected, and pay it.
However, billing errors are extremely common. Studies estimate that nearly 80% of hospital bills contain mistakes, from duplicate charges to incorrect insurance adjustments.
We surveyed 405 people and found that 63.5% had received a bill they believed contained incorrect charges, yet most never disputed it because they didn’t know how to. A healthcare provider in NYC we spoke with confirmed that many patients assume the bill is always right.
Medical billing shouldn't require legal knowledge or hours on hold with a hospital billing department, so we built Veritas.
What it does
Veritas reviews patient medical bills, finds billing errors, and helps patients dispute them.
First, users upload their medical bill and insurance explanation of benefits (EOB). Veritas analyzes every line item, detects billing errors such as duplicate charges, CPT mismatches, and insurance miscalculations, and explains the issues in a simple manner for patients.
Once any errors are identified, Veritas can take action through our 3 specialized agents.
Email Agent - Generates and sends a formal dispute email to the healthcare provider with structured arguments and supporting documentation.
Legal Research Agent - Searches healthcare regulations and billing protections to find relevant legal language supporting the dispute.
Voice Agent - Using ElevenLabs and Twilio via Lava, Veritas can call healthcare providers directly, speak with billing representatives, dispute the charge, and handle follow-up calls on behalf of the patient.
In our demo, we uploaded a sample hospital bill containing a duplicate CPT charge. Veritas flagged the issue and explained the problem to the patient. Based on patient feedback, it generated a dispute email referencing local billing regulations, and initiated a phone call to the provider’s billing department. The user then received a transcript and summary of the interaction.
Instead of spending months navigating this confusing billing system, the patients get clear explanations and automated help disputing incorrect charges.
How we built it
Veritas is a Next.js web app built in TypeScript and hosted on Vercel, with Auth0 handling user authentication and Supabase powering our backend for storing bills, dispute records, and case history.
When a user uploads a medical bill or EOB, we parse the raw document and use GPT 4.0 mini through Lava to extract structured data, pulling out line items, CPT codes, provider details, and insurance payments. The extracted data is then analyzed by our reasoning pipeline to detect non-obvious errors like improper bundling, duplicate charges, and out-of-network misclassifications.
Veritas uses Perplexity Sonar to retrieve relevant healthcare legislation and regulatory clauses related to the identified billing issues. This information helps support the dispute by providing legally grounded reasoning.
Once the case is built, GPT drafts a dispute email and a call script. A Gmail agent sends emails directly to providers and a voice agent powered by ElevenLabs (called via Lava) then calls the healthcare provider directly to dispute the charges and handles follow-up callbacks on the patient's behalf.
We use Lava as the orchestration layer connecting all of these services together. It coordinates document extraction, analysis, legal retrieval, and communication so the dispute workflow runs as a single system.
Challenges we ran into
One of our biggest challenges was API usage costs and latency issues. To begin with, Perplexity Sonar used nearly $25 of our Lava credits and often gave 20 page legal analysis as the legal research agent. One solution we came up with was splitting the research between ChatGPT and Perplexity Sonar. OpenAI GPT would find a list of legal documents relevant to this patient’s specific disputes, and Perplexity Sonar gets more in depth, legal clause specific language about these justifications. This significantly reduced our Lava credit usage.
We also ran into issues integrating our ElevenLabs voice agent with Twilio under a trial account. Because Twilio inserts a trial warning at the start of calls, our agent was initially unable to respond correctly. We solved this by introducing a small delay that allowed the “watermark” to finish before the agent began interacting with the provider, which enabled real-time conversation with billing representatives.
Accomplishments that we're proud of
The feature we are most proud of is Veritas’s automated dispute voice agent.
Instead of forcing patients to spend hours on hold with billing departments, Veritas can call providers directly, explain the dispute, respond to questions, and advocate for the patient in real time. After the call, the patient gets a full transcript, a simple summary, and automatic follow-up calls to ensure the dispute keeps moving forward.
But the voice agent is only part of the system. Before any outreach happens, Veritas builds a structured case for the dispute. The legal research agent retrieves relevant healthcare billing regulations and protections, while the document analysis and drafting agents use that information to generate a clear dispute explanation supported by those references.
We’re proud of this because Veritas helps patients actually resolve disputes effectively. Instead of navigating a complicated dispute process alone, patients have a system that can help explain the problem, prepare the dispute, and initiate communication with the provider.
What we learned
One of the biggest things we learned while building Veritas is how inconsistent and difficult medical billing data can be to work with. Medical bills and insurance EOBs come in many different formats, which makes extracting reliable structured data far more challenging than simply summarizing a document. Building a system that can consistently identify line items, CPT codes, and insurance adjustments required careful parsing and validation before any analysis could happen.
We also learned how important it is to keep our legal retrieval information brief. Early versions of our legal research agent returned very long papers that were difficult to use in a dispute due to the sheer amount of information. By narrowing the retrieval process and focusing on the most relevant billing regulations, we were able to produce clearer and more actionable dispute arguments that we could present in an email.
What's next for Veritas
To deploy Veritas in the real world, HIPAA compliance is our first priority. We plan to locally host our large language models, implement end-to-end encryption across our database, and use medical encoding techniques to strip PII from records before any data reaches an LLM for analysis.
We also had the opportunity to speak with Mitchell Jones of Lava about how to take Veritas further. He offered valuable guidance on finding product-market fit in the healthcare space and the direction we should pursue if we continue building this into a startup. That conversation reinforced our belief that this isn't just a hackathon project. Medical billing errors affect nearly every American at some point in their lives, and the tools to fight back shouldn't require a law degree or hours on hold. We want to make Veritas that tool.
Built With
- agent
- elevenlabs
- gemini
- lava
- openai
- react
- supabase
- twilio
- typescript


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