DK

Case study — health benefits

Making a prescription's real price legible before you get to the counter

A mobile tool that turns "what will this cost me" into an answer with three parts: your price, a cheaper alternative worth asking your doctor about, and the nearest pharmacy that actually has it at that price.

Role
Product & systems design
Deliverables
System design doc, interactive mobile prototype
Surface
Mobile, 390×844
Key constraints
HIPAA, real-time benefit pricing, clinical guardrails

The problem

The sticker price and your price are rarely the same number

A member searching for a drug's price usually finds a list price that has nothing to do with what they'll pay — their real cost depends on formulary tier, deductible progress, and which pharmacy they walk into. Tools modeled on general drug-price lookups answer the wrong question.

This is a personal project: search a drug, see cost-sensible alternatives with generic and brand clearly separated, configure the exact strength and form, then find where nearby to actually fill it — with price attached to the pharmacy, not buried in a table underneath it.

The hardest part isn't showing a price. It's showing a cheaper drug without sounding like it's making a medical decision for someone.

Approach

Five screens, one decision at a time

Each step in the flow asks the member for exactly one new piece of information — the drug, then which version, then the dose and form, then where — so the price at the end reflects a fully specified choice rather than an average.

01
Search
Typeahead across brand, generic and misspellings
02
Alternatives
Lower- and higher-cost options, generic vs. brand marked
03
Configure
Strength, form and supply length
04
Location
Detect or type an address
05
Pharmacy list & map
Price and distance on every pin

Prototype

Click through the flow

Fully interactive — same file that ships alongside this page. The map view uses an illustrated basemap standing in for the Google Maps SDK; the price behavior on the pins is real.

Not rendering? Open the prototype directly.

System design

What has to be true for the AI panel to be trustworthy

The riskiest part of this product is the alternatives panel — it has to suggest cheaper drugs without ever making a clinical call. The design splits that into a deterministic retrieval step and a model that can only rank and explain, never invent.

Mobile client search · map · configurator BFF field redaction, one call per screen Candidate generation RxNorm · Orange Book formulary rules — no LLM LLM ranking ranks + explains candidates schema-validated, sees no PHI Pricing service real-time benefit check falls back to labeled estimate Pharmacy + Google Maps address only, no PHI Guardrail Everything the model can suggest is a real, dispensable, on-formulary product from our own data — the model narrows and explains a set it did not create, and out-of-set responses fall back to rules.
01

Two-stage alternatives, not one model call

Retrieval is deterministic and auditable; the LLM only reorders and explains. If it returns a drug outside the candidate set, or fails schema validation, the response is discarded and the panel falls back to cost-ascending order with no generated text.

02

Class-level suppression for high-risk drugs

Narrow-therapeutic-index drugs, biologics, and controlled substances only ever show a generic-equivalent alternative — never a different drug in the same class. That suppression list needs pharmacist sign-off, reviewed quarterly.

03

Google Maps never sees a drug name

Drug + member + location together is PHI. The BFF enforces an outbound allowlist so only an address or coordinate pair ever reaches Google — no medication, no identifier, no price.

04

Prices are labeled by how sure we are

A real-time benefit check, a plan-design estimate, and a cash price are three different numbers and the interface never blurs them together — the estimate chip is not decorative, it's a claim about confidence.

Still open

What I'd test before building further

Two dropdowns for strength and form can produce combinations that don't exist as a real product — is a flat list of dispensable products actually clearer?

Should a cash price that beats the plan price be shown, given it helps the member today but doesn't count toward their deductible?

Does letting a member send the alternatives list to their prescriber in-app change the clinical liability picture?