Insurance AI platform that automatically fights claim denials
This document scopes the MVP for both revenue models side-by-side. The core product (FHIR auth → denial detection → appeal generation → dashboard) is identical regardless of how UPHELD charges. The key differences are in payment infrastructure, outcome tracking, and legal risk profile. This document provides everything Gin needs to choose a revenue model and begin building.
What it does: Patient authorizes UPHELD to access their insurance data via SMART on FHIR OAuth 2.0
Tech required: OAuth 2.0 client implementation, FHIR server connection, patient identity matching
Data source: FHIR Authorization Server (payer-specific or Flexpa unified API)
What it does: Poll EOB endpoints, identify claims with status="denied", extract denial reason codes
Tech required: FHIR EOB resource parsing, denial reason code mapping, change detection / polling
Data source: FHIR ExplanationOfBenefit resource
What it does: Generate personalized appeal letter based on denial reason, policy language, medical necessity
Tech required: LLM integration (GPT-4 or Claude), prompt engineering with denial context, template library
Data source: FHIR EOB (denial details) + policy language database + medical necessity templates
What it does: Track appeal status from filing to resolution; update when EOB status changes
Tech required: Database to store appeal records, periodic EOB re-fetch to detect status changes
Data source: FHIR EOB (status field), user-reported outcomes
What it shows: List of denials found, appeal status for each, outcome history, summary metrics
Tech required: Frontend React/Next.js dashboard, API endpoints for denial/appeal data
Data source: Internal database + FHIR EOB
| Feature | Complexity | Estimated Effort |
|---|---|---|
| FHIR Auth Flow | Medium-High | 2–3 weeks |
| Denial Detection | Medium | 1–2 weeks |
| Appeal Generation | Medium | 2–3 weeks |
| Status Tracking | Low | 1 week |
| Dashboard | Low-Medium | 1–2 weeks |
| Total (Shared Core) | — | 7–12 weeks |
User's appeal succeeds → insurance pays/adjusts → UPHELD takes X% (typically 10-30%). Detection via FHIR EOB status change from "denied" to "paid".
| Component | Purpose | Complexity |
|---|---|---|
| Recovery detection | Monitor EOB for status change to "paid" | Medium |
| Amount calculation | Extract payment amount from EOB | Medium |
| Settlement tracking | Record each recovery, fee due, payment status | Medium |
| Payout mechanism | Stripe Connect or manual invoicing | Medium |
| Addition | Complexity | Effort |
|---|---|---|
| Recovery detection logic | Medium | 1–2 weeks |
| Fee calculation + payout | Medium | 1–2 weeks |
| UI for fee disclosure + settlement | Low-Medium | 1 week |
| Legal disclaimers + ToS | Low | 1 week |
| Total additional effort | — | 3–6 weeks |
Total MVP with Contingency: 10–18 weeks
User subscribes → monthly/annual charge via Stripe → UPHELD monitors + appeals. Suggested pricing: $9–29/month or $99–299/year.
| Risk | Level | Notes |
|---|---|---|
| UPL for generating appeals | Medium | Document prep defense |
| UPL for subscription fee | Low | Fee is for service, not outcome |
| Auto-submission | High | Still requires user review + submit |
| Addition | Complexity | Effort |
|---|---|---|
| Stripe Subscription integration | Medium | 1–2 weeks |
| Pricing page + plans UI | Low | 1 week |
| Subscription lifecycle | Low-Medium | 1 week |
| Free/paid tier gating | Low | 1 week |
| Total additional effort | — | 3–5 weeks |
Total MVP with Flat Fee: 10–17 weeks
| Factor | Contingency (Model A) | Flat Fee (Model B) | Winner |
|---|---|---|---|
| Revenue ceiling | High — $52K/1K users | Medium — $23K/1K users | Contingency |
| Legal risk | High | Medium | Flat Fee |
| Build complexity | +3–6 weeks | +3–5 weeks | Flat Fee |
| Time to first dollar | Longer — wait for wins | Faster — subscribe now | Flat Fee |
| Unit economics | High LTV, lumpy | Predictable MRR | Tie |
| Investor appeal | Higher ceiling, but legal red flags | Cleaner story, validated | Flat Fee |
| Competitive positioning | Unique — no competitor uses it | Normalized | Contingency |
| Operational burden | Higher — track outcomes | Lower — standard SaaS | Flat Fee |
Flat Fee (Model B) — Cleaner legal posture, faster to first dollar, all competitors use this model, investor-acceptable. Contingency is higher ceiling but introduces legal tail risk that could kill the company.
| Layer | Recommendation | Monthly Cost (MVP) |
|---|---|---|
| Frontend/Backend | Next.js on Vercel | $0–25/mo |
| Database | Supabase (PostgreSQL) | $0/mo |
| Auth | Clerk | $0–25/mo |
| FHIR | Flexpa Essential ($65K/yr) OR Direct (Humana) | $5,417/mo OR $0 |
| AI/LLM | OpenAI GPT-4o | $50–200/mo |
| Payment | Stripe | 2.9% + $0.30 |
| Total | — | $55–270/mo + fees |
Start with direct FHIR integration to Humana (free, best devx per research) to validate product, then upgrade to Flexpa ($65K/year) when revenue justifies it.
| Phase | Weeks | Tasks |
|---|---|---|
| Phase 1: Foundation | 1–4 | Project setup, FHIR OAuth, EOB pull, denial detection |
| Phase 2: Core Product | 5–8 | Appeal generation LLM, dashboard, user testing |
| Phase 3: Payment + Launch | 9–10 | Stripe integration, landing page, beta launch |
Total: 10–11 weeks (Flat Fee slightly faster)
Choose between Contingency Fee (Model A) or Flat Fee Subscription (Model B) based on tradeoffs in Section 4.
Flexpa Essential ($65K/yr) for 3 payers fast, OR Direct (Humana first) for free but slower. Recommend: Direct first, Flexpa later.
If Flat Fee, choose: $9/mo (budget), $19/mo (mid-tier), or $29/mo (premium). Recommend: $19/mo.
Offer free tier with limited features (denial detection + alerts) or paid only? Recommend: Free tier drives adoption.