Create Jira Ticket
This idea cannot be sent to Jira.
Waypoint Ledger
Waypoint Ledger is a working web app at https://waypointledger.org that makes the cost of a long search for a diagnosis visible. No account or download is needed.
A person types what happened the way they'd tell a friend, or brings in a bill or their Medicare record. Each visit and test becomes a ledger line, priced only from published federal tables (CMS, AHRQ's MEPS and HCUP, BLS), with its source file, row and arithmetic one tap away. No AI model produces a dollar figure. The ledger also counts the care people went without, prints a sheet for the next appointment and a packet for leave, disability or an appeal, and shows every count it collects on a public register.
Team: Precision Federal, a technology firm in Ames, Iowa, led by Bo Peng, built and runs Waypoint Ledger. Lived experience shaped it through 108 survey answers and 14 written interviews, and each change it led to is on a public change log.
Solution Overview (MVP Demonstration):
User-Facing Application
Live demo, prototype, or working product
Access instructions (if needed)
No account, sign-in or download is needed. It works on a phone or a laptop.
1. Open https://waypointledger.org and press "See it done with an example". A priced ledger opens.
2. Click a line's name, such as the echocardiogram. It opens to the federal file, the row, the arithmetic, whom the figure does and doesn't describe, and the negotiated rates named hospitals publish for that service.
3. Under "Care you went without", press "Show the places": the NIH-funded Undiagnosed Diseases Network, GARD and health centers, each in its own published words. On the same ledger, "Make my packet" builds papers for leave, disability or an appeal.
4. Click "The register" (on a phone, it is in the menu) to see every public count with its N and dates, and the change log of what people asked us to change.
5. On the ledger, press "Try it with a CMS synthetic Medicare beneficiary". The ten example claims CMS publishes with its Blue Button 2.0 API become ledger lines. "Sign in at Medicare", under "On Medicare? Bring in your record", is connected to CMS's sandbox: choose "Medicare.gov", then CMS's public test patient BBUser00001, password PW00001!. It ran end to end on 13 October (CMS's test patient: 52 claims read, 8 matched a published price row; screenshot on /developers); since that evening, CMS's own test log-in has answered "We can't process your request at this time" for every CMS test patient we tried (BBUser00000, BBUser00001 and BBUser10000 on 15 October).
To try your own words, paste this into the box on the home page and press "Add these 6":
saw my regular doctor three times, then a cardiologist, the heart ultrasound thing, then they put electrodes on my legs and shocked the nerves, then the ER once when my heart was racing
One phrase stays blank on purpose: Medicare prices a nerve test by how many nerves were tested, and the line asks you to say how many.
Have a bill or a Medicare Summary Notice? Open https://waypointledger.org/journey#read-bill and press "Load a sample bill (made up)". The codes and dates are read in your browser, and the bill never leaves the device. On the ledger, open the coverage and place settings and type a ZIP code to price at that ZIP's exact Medicare locality, from CMS's own ZIP file.
Please press Right, Wrong or a survey button only for a real answer: each one adds to the public count and can't be removed.
For agencies: https://waypointledger.org/policy
The API, no key: https://waypointledger.org/developers
Run it yourself: https://waypointledger.org/adopt
Product walkthrough, with captions: https://waypointledger.org/walkthrough
Results for the American People
Waypoint Ledger is for a person searching months or years for a diagnosis of an invisible illness, the parent or partner beside them, and the clinician they see next.
They type the search the way they'd tell a friend. Each step becomes a line, priced only where a federal figure is published, with its source and whom it describes; the ledger shows their Original Medicare share. Codes print on a sheet, a disability timeline and an appeal letter.
Lived experience shaped it, in public. 108 answers ranked five costs of the search (103 through a paid panel of U.S. adults with long-term health conditions), plus 14 written interviews. Each change is on a public change log:
- Care gone without ranked heaviest, first in 43 of 106 answers, and 32 of 106 said no one had ever asked them about it. The ledger counts it, never prices it, and names places to ask about diagnosis and care, from the NIH-funded Undiagnosed Diseases Network to health centers with sliding fees.
- Five years of prescriptions showed nothing for one participant; naming a medicine, like prednisone, now adds a prescriptions line.
- An advocate who fell ill as a child said our questions assumed a working adult, so a parent can answer for a child.
- An advocate in their fourteenth year of ME/CFS described advice that left them sicker. The tool now counts care that made you worse.
Every count shows its true size; our own tests are marked.
Data, Tech & Evidence Driven Approach
Waypoint Ledger connects the dots between fragmented sources never built to be read together, and it uses AI responsibly: no model produces a dollar figure.
The U.S. open data is 274 published figures from 19 source files, each hashed: 257 from CMS, mostly its 2026 physician, laboratory and hospital outpatient fee schedules; 14 from AHRQ's MEPS and HCUP, two via a peer-reviewed MEPS analysis; 2 from BLS wage series for missed work and unpaid care; and 1 GSA mileage rate. A public script re-derives all 274 from their files, plus 5,668 prices across Medicare payment localities, to the cent.
Every line is labeled with its basis (Medicare allowed amount, survey spending, facility cost, wage), machine-readable rules say which figures may be added, and nothing is summed across bases. We weight nothing; people's own ranking is published with its N. As an NIH health economist asked, every line opens to its file, row, arithmetic, and whom it describes; a Medicare rate does not describe Medicaid, which usually pays less. With no federal figure, a line stays blank, by name.
For the privately insured, 98 ledger lines show the negotiated rates 7 hospitals in 4 states publish under the federal price-transparency rule (45 CFR 180), beside the Medicare figure, never added.
AI does one job: reading. Rules read the sentence first. A language model is asked only about the phrases the rules left blank, may answer only with an item already in the federal table, and never sees or returns a price. Every line it read carries an "AI read" mark.
On 209 test sentences our team wrote the way patients talk (scored 30 September; shown on /method), F1 rose from 88.8% with rules alone to 98.4%, with 0 wrong items added.
Execution, Efficiency & Delivery
Waypoint Ledger is a working MVP, deployable immediately without further research: it has run in public since September 9 at waypointledger.org, free, no account, on a phone or laptop, pricing offline once loaded, and any agency can run its own copy in four commands.
For a patient, the value is a number they never had. One sentence becomes an itemized, cited ledger in seconds, ready to print as an appointment sheet or a disability and appeal packet, or download as CSV, JSON or an HL7 FHIR R4 Bundle. A bill or Medicare Summary Notice can be read in the browser, a ZIP prices at that ZIP's Medicare locality, and anyone too unwell to type or read can speak the story and press Listen.
For a clinician, a scattered history arrives on one page, in CPT and HCPCS codes, with three questions about next steps.
For government, it is the return channel the sprint's federal lead asked for. Each "Wrong" flag is bound to the exact federal row and agency it questions. Each burden ranking and each report of care that never happened is counted with its N and dates. A policy brief sets those counts beside each agency's files.
It is efficient: no model training, no proprietary data, no licensed price lists. It runs on one Cloudflare account, and the only metered call, the AI reader, is capped and cached. Every deploy must pass type checks, unit and end-to-end tests before upload, and live checks after.
Scalability, Reuse & Societal Impact:
Waypoint Ledger's logic is easily adapted to other chronic conditions: a condition is one entry in a data file, not code. 72 are listed, 17 with a published burden figure. The rest, with no verified figure yet, still price visits and tests line by line.
It aligns with federal interoperability standards. Every ledger exports an HL7 FHIR R4 Bundle with four USCDI data classes, CPT and HCPCS codes, and its sources as Provenance; our sample Bundle passes HL7's validator with 0 errors. The API is described in OpenAPI 3.1 and the data in DCAT-US.
Our Blue Button 2.0 import is connected to the CMS sandbox: a person signs in at CMS, consents, and their claims become ledger lines. Anyone can watch CMS's ten published example claims become priced lines in one click; real records follow CMS production approval.
The path to national policy change is built in. Every correction names the agency, file and row it disputes, so it can go straight to the office that publishes that file. The policy brief maps the counts to five federal levers, from the No Surprises Act to NIH RECOVER.
Any agency can reuse it with one download and four commands: code under Apache 2.0, data under CC0.
Key assumptions: CMS, AHRQ and BLS keep publishing at stable addresses, and people flag a wrong figure when it takes two clicks. Next: deliver the first real corrections to those offices, and grow the count through patient groups.
Hello Bo, here is a cost pattern your ledger is built to make visible: in a claims study of Lyme disease, the average direct medical cost per episode was $695 for localized disease and $6,833 for disseminated disease, in 2022 dollars (chart attached). The paper also cites about 476,000 Lyme cases a year in the U.S. It’s an association in claims data, so it doesn’t prove that delay causes the higher cost, but it shows how much a long search for a diagnosis can matter for the bill.
It comes from simulator 2 in my entry (Yu et al., JAMA Netw Open 2026), where each value is labeled as observed, assumed or projected. When a figure needs to be compared across years, code restates it, for example $2,227 per episode in 2022 dollars becomes about $2,450 in 2025 dollars using the consumer price index, labeled as general inflation and not medical-care inflation. That is close to your rule that nothing is summed across bases and that every line says what it does and doesn’t describe. My entry is here if you’d like to look: https://invisibleillness.crowdicity.com/post/896844
I’d also be glad to hear the views of Trisha, whose Health Worth explores the cost of delaying care, and Israel, whose SignalBridge is careful about what can and can’t be added together.
Congratulations on the public register and the change log. Showing what people asked you to change is rare.
Users tagged:
Reply 0
Bo, really impressive work on Waypoint Ledger! I especially like your decision to use AI to interpret patient descriptions while keeping the actual pricing calculations tied to verified federal data. That separation makes a lot of sense, particularly when financial accuracy and transparency are so important.
I also appreciate that you're tracking care people couldn't receive, not just what they paid for. That's an important part of the financial burden of illness that often gets overlooked.
One thing I'm curious about: when a patient describes a procedure vaguely and several medical codes could potentially match, how does your system handle that uncertainty without assigning an incorrect cost? I think getting that right will be especially important as you scale.
Great work, Bo. You've clearly put a lot of thought into both the technical details and the people this is meant to help....
Users tagged:
Reply 0
Hi, I appreciated Waypoint Ledger's emphasis on transparency and its recognition that some of the most difficult experiences during a diagnostic journey cannot easily be assigned a dollar amount. How do you see those unpriced experiences informing future research or policy decisions?
Reply 0
The part about delivering the first real corrections stuck with me, because that is where Waypoint Ledger stops being a clever ledger and starts testing whether anyone on the other end actually listens. A Wrong flag already names the agency, the file, and the exact row, so the machinery for a correction is there.
What I would want to see in the next few months is not more counts, but a closed loop. Did the flag reach the right office, did someone acknowledge it, and did the packet actually get handed over in a real visit or appeal? If that loop works even once, cleanly, that tells me more than another hundred ledgers would.
Reply 0
Hi Bo, thanks for sharing your project. I'm curious: what's one thing you wish you'd known when you started, or something you'd have built in earlier if you could go back?
Reply 0
Hi Bo, pricing someone's story line by line from CMS and MEPS files, with every figure cited, is a really clear approach. When a person types something vague like "the ER, twice", how does Waypoint pick the visit level, and can they easily change it if the match doesn't fit what happened?
Reply 0
Hi Bo, your page on care people needed and never got counts something federal cost files miss, and your rule that no AI model produces a dollar figure is one we follow too. Would you be open to us pointing people to Waypoint Ledger? Our My cost page could get a link for anyone who wants to price their own visits. A link back to our condition pages is welcome if useful, but not expected. Let us know how you feel about it.
Reply 0
From the 108 survey answers, what was the change people asked for most?
Reply 0
Adding a line for care that made someone worse, after an advocate described advice that left them sicker, is a rare and useful detail. On the printed appointment sheet, giving that line its own short section, separate from ordinary visits and tests, would help a clinician see what not to repeat.
Reply 0