-
-
RxPulse dashboard -3 payers tracked, 3 policies ingested, 28 unique drugs covered.
-
Coverage Pathway for Bevacizumab under Blue Cross NC — 4 required criteria extracted from policy
-
Coverage Matrix -8 drugs × 3 payers at a glance. 33% covered, 56% restricted.
-
Medical Policy Search for Rituximab
-
Bevacizumab (Q5126) policy search
-
AI Policy Assistant - ask anything about medical benefit drug coverage. Every answer is sourced from real ingested policy documents.
Inspiration
Every quarter, analysts at firms like Anton RX manually open dozens of 50–100 page insurance policy PDFs, highlight clinical criteria, copy data into spreadsheets, and repeat this for every payer. It is slow, expensive, and error-prone. We asked: what if an AI could do this automatically and make the results searchable, comparable, and queryable in plain English?
That question became RxPulse.
What it does
RxPulse is a medical benefit drug policy intelligence platform that:
- Ingests medical policy PDFs from major health plans (UHC, Cigna, Blue Cross NC)
- Extracts structured clinical criteria using Gemini Vision AI prior auth requirements, step therapy chains, covered indications, J-codes, quantity limits, and site-of-care restrictions
- Normalizes everything across payers so apples-to-apples comparison is possible
- Compares policies side by side via a Coverage Matrix (8 drugs × 3 payers) with covered, restricted, and not-covered status at a glance
- Maps coverage pathways step by step showing every required criterion a drug must clear before treatment is approved
- Answers questions in natural language via the AI Policy Assistant, with every answer sourced from real ingested policy documents
How we built it
Backend: Python + FastAPI + Supabase (PostgreSQL + pgvector)
AI pipeline:
- Gemini 2.5 Flash for PDF criteria extraction using a structured JSON prompt tuned to real medical policy document formats
- Claude (claude-sonnet-4-20250514) for natural language Q&A and quarterly diff summaries
- Sentence Transformers (all-MiniLM-L6-v2) for local embeddings stored in pgvector
- A custom HCPCS/J-code normalizer that maps billing codes like Q5126 to canonical drug names and biosimilar variants across payers
- We used RAG for chunking the data.
Frontend: React + Vite + Tailwind CSS + Recharts
The core extraction schema captures 15+ structured fields per policy including step therapy chains, covered indications, lab requirements, prescriber specialty requirements, and site-of-care exclusions enabling programmatic cross-payer comparison that flat text search cannot support.
Challenges we ran into
- Medical policy PDFs have no standard format. Blue Cross NC, Cigna, and UHC all publish policies in completely different structures. Getting Gemini to extract consistently structured JSON across all formats required significant prompt engineering and iteration.
- J-code and HCPCS code normalization was harder than expected. The same drug appears as a generic name, a brand name, a biosimilar suffix variant, or a billing code depending on the payer and year the policy was written.
- Building an AI assistant that never hallucinates coverage details required strict grounding. RxPulse returns "I do not have that information" rather than inferring from model memory. Health decisions depend on accuracy.
Accomplishments that we're proud of
- A live ingestion pipeline that processes medical policy PDFs and returns fully structured criteria JSON with 28 unique drugs tracked across 3 payers at demo time
- A Coverage Matrix showing drug-vs-payer status at a glance with color-coded covered, restricted, and not-covered indicators
- A Coverage Pathway view that maps every required approval criterion step by step including indications, prior auth, step therapy, and quantity limits
- A Medical Policy Search that surfaces structured clinical criteria, biosimilar brand lists, and restriction badges for any drug across all ingested payers
- An AI Policy Assistant that answers plain-English questions about coverage with citations back to the exact source document
What we learned
- The medical benefit drug space is dramatically less standardized than the pharmacy benefit. This is exactly why the problem is so hard and so valuable to solve.
- Gemini Vision's multimodal capabilities are well-suited to clinical document parsing, but the extraction prompt design is the real differentiator
- RAG pipelines in high-stakes domains like healthcare require explicit grounding. Helpfulness must never come at the cost of accuracy.
What's next for RxPulse
- An autonomous monitoring agent that detects when payers publish policy updates and re-runs the extraction pipeline automatically with zero manual effort
- Expansion to all major commercial payers nationally
- Quarterly diff reports surfacing what changed across payer policies each quarter
- A programmatic API for pharmaceutical market access teams and health plan consultants to query policy data at scale
Built With
- fastapi
- gemini
- javascript
- python
- react
- tailwind
Log in or sign up for Devpost to join the conversation.