PURLPal — RAG Chatbot Over Medicare Advantage Plans

Cadocary designed and implemented an end-to-end RAG-enabled chatbot for PURLPal that answers questions over Medicare Advantage plan data, kept current by a webscraping pipeline that ingests plan details as they change.

Client: PURLPal

Problem

Medicare Advantage is a maze: thousands of plans, each with its own premiums, networks, drug formularies, and benefit rules, all changing from year to year. Answering a plain-language question like "which plan covers my medication in my area?" means reconciling a vast, constantly shifting body of plan data.

A general chatbot can't be trusted here — it either doesn't know the specifics or invents them. The answers have to be grounded in the actual, current plan details.

Approach

Cadocary designed a retrieval-augmented generation (RAG) pipeline: rather than letting a model answer from memory, the assistant retrieves the relevant Medicare Advantage plan data first and generates its answer strictly from that grounded context.

Because plan data is only useful if it's current, we paired the RAG system with a webscraping and ingestion pipeline that continuously gathers plan information and keeps the knowledge base fresh.

What was built

We built and implemented the full PURLPal assistant end to end — both the conversational layer and the data pipeline that feeds it.

  • A webscraping pipeline that collects and normalizes Medicare Advantage plan data
  • An ingestion and indexing layer that turns that data into a retrievable knowledge base
  • A RAG-enabled chatbot that retrieves relevant plan details and answers questions grounded in them
  • A refresh cycle that keeps answers aligned with current plan information

Outcome

PURLPal launched as a working assistant that answers Medicare Advantage questions in plain language, grounded in retrieved plan data rather than guesswork.

Because the scraping pipeline keeps the underlying knowledge base current, the chatbot's answers reflect the plan landscape as it actually is, not a stale snapshot.

Back to all work