Inspiration

The idea started from a simple, uncomfortable fact: a cash price can look like the better deal and still be the worse one. If you're going to hit your deductible anyway, every dollar paid in-network chips away at it. A cash payment doesn't. Two prices that look like a clear win on the receipt can flip entirely once you account for what happens for the rest of the year.

Federal transparency rules now force every payer and hospital in the country to publish their negotiated rates. That data exists. Almost nobody can use it: it's hundreds of gigabytes of malformed JSON per payer, built for auditors and regulators, not patients. We wanted to find out whether that data could actually be turned into an answer a person could read in ten seconds before an appointment.

What it does

Preclear tells patients, before an elective MRI or CT, which route to that scan actually costs them the least this year, not just today. It compares in-network and cash pricing across real facilities, flags when an order is missing something a payer requires, and runs the math that most price-comparison tools skip entirely.

A user enters their procedure and payer, moves a slider for deductible remaining and expected care for the rest of the year, and gets four ranked routes: the baseline in-network option, a cheaper in-network site offering the same coverage, a flagged order with a checklist for the physician's office if it's missing a documented requirement, and a cash option when that actually makes sense. Every dollar figure is labeled an estimate, because that's what it is.

How we built it

The pipeline has three parts: a streaming parser for insurer Transparency in Coverage files, a parser for hospital price transparency files, and a costing engine that does the actual deductible math.

The costing logic is the part that doesn't exist anywhere else: Expected_OOP takes a negotiated rate or cash price, deductible remaining, coinsurance, and out-of-pocket max, and, critically, whether the payment counts toward the deductible at all. Setting "other care expected this year" to zero isn't a neutral default; it's the assumption that nothing else happens for the rest of the year, and changing that one number is enough to flip the ranking between cash and in-network on the exact same scan.

On top of that, we built a requirements checker that pulls real payer medical policy documents (Carelon, eviCore, Aetna) into structured rule objects, so an order can be checked against a payer's own published criteria, never a prediction of what will get approved, just what's documented and what isn't.

The mobile app is Expo/React Native with the RevenueCat SDK gating the full comparison behind a paywall; the UI recomputes live as a user moves the sliders, so the ranking visibly flips in front of them instead of being asserted.

Challenges we ran into

The biggest one nearly sank the whole data strategy. We built a working streaming parser for insurer MRFs that could pull hundreds of gigabytes of compressed JSON at real speed without ever landing it on disk. Then we ran it against real Indianapolis data and got back 532,725 price rows, 100% professional, 0% institutional. Every row was the radiologist's read, not the facility's charge. The half of the price that actually varies by site of service wasn't in the file at all. Hours of parser work had produced data that couldn't answer the question the product exists to answer.

That forced a pivot to hospital-published price transparency files instead: smaller, messier, and inconsistent in format, but they actually carry both the negotiated rate and the cash price per facility. Even there, two of the metro's largest hospital systems turned out to publish only internal billing codes with zero usable CPT-level prices, which became a real product constraint, not a bug to fix: a patient routed to one of those facilities simply gets no comparison, and we had to decide to say that honestly rather than hide the gap.

Smaller landmines kept surfacing the same lesson: trust nothing on the first pass. A payer string field had 46 distinct values in one file, with out-of-state Blue Cross plans priced identically to the real in-state rate. One hospital filed every Anthem-adjacent rate under the parent company name "Elevance Health," which silently dropped the metro's largest system from every comparison until we caught the alias. A Medicaid-replacement plan at another hospital was filed under a commercial Anthem payer string, which would have shown a commercial patient a MRI price they could never actually be charged.

Accomplishments that we're proud of

Both data gates passed on real, named facilities rather than synthetic examples: 5,380 price rows across 10 Indianapolis-metro hospitals with both negotiated and cash prices for CPT 73721 and 70450, plus 8 citable payer requirement rules across 3 payers (Anthem via Carelon, UnitedHealthcare and Cigna via eviCore, Aetna), each one traceable to a document title, section ID, version, and effective date.

The core thesis isn't a simulation. On real published Franciscan Health Carmel pricing, the same scan for the same patient flips from cash being the better choice to in-network being better by over $450, purely because of how much other care they expect for the rest of the year. That's the whole product demonstrated on one real row of data.

We're also proud of catching our own dead end early rather than building past it. When the insurer MRF parser came back 100% professional-rate data with nothing usable for a facility comparison, we didn't force the original data source to work. We changed sources, which turned out to be the better long-term plan anyway.

What we learned

Mandated transparency and usable transparency are not the same thing. A file can be fully compliant with federal law and still be functionally useless for the one question a patient actually has. The real engineering problem was never parsing JSON. It was earning the right to trust any individual number in it before putting it in front of someone making a financial decision about their own health.

What's next for Preclear

The nearest expansion is procedures, not geography: ultrasound and mammography score almost as well as MRI and CT against the criteria that make a procedure worth routing (schedulable, meaningful price variance, deterministic prior-auth logic), and each one needs its own requirements-extraction work before it's trustworthy.

The unit of expansion after that is metro times payer, not metro alone. Indianapolis isn't done until both Anthem and UnitedHealthcare are fully saturated there, since a user holding a plan we haven't covered gets nothing, which is worse than not serving that market at all.

Further out: replacing the user-reported deductible slider with a real eligibility check, and collecting cash prices directly from freestanding imaging centers rather than relying only on hospital-published rates, since that's where a lot of the real price variance in this market actually lives.

Built With

Share this project:

Updates

Submission history