Waypoint Ledger

How this number is made

Every figure, and the file it was read from

Nothing here is modelled, averaged or estimated. Every figure was read out of a published federal file.

On this page — 10 sections

The audit

A figure is either a row of a federal file or the product of figures on that file with the formula printed. Below: the formulas, the audit that re-derives every figure from scratch, and the files themselves.

274 rows · 274 reproduce · 80 CY2024 companion figures · 134 hospital-setting figures · 5,668 locality figures · audited 2026-09-09

274 of 274 rows reproduce from their source file 0 disagree, 0 could not be checked in that run. Table Table version 2026-09-09.1, generated by this audit and printed under every total in the ledger, on the appointment sheet, in the API and on every CSV — one string, not four.

It is one command, and it does not trust this repository: it downloads each cited file from its published URL, hashes it, and recomputes every figure.

python3 data/verify_price_table.py

A row passes only when the number AND the sentence that names it are found in the source. UNVERIFIED means the source could not be fetched or parsed in that run — it is never a quiet pass. The script exits non-zero on a single disagreement, and it has been proven to: planting eight wrong values produced eight failures.

80 of 80 CY2024 companion figures reproduce — the average submitted charge and the average allowed amount that ride beside a fee-schedule figure. Each is read out of one named row of MUP_PHY_R26_P05_V10_D24_Geo.csv — geography level, HCPCS code and place of service — and the audit fails the row if the file it cites hashes to anything but the file that was read. A figure on the screen is audited whether or not it is the figure the row is named for.

5,668 of 5,668 locality figures reproduce — every code priced for every Medicare locality, re-derived here from PPRRVU2026_Jul_nonQPP.csv and GPCI2026.csv, both hashed below. The published table used to carry a verdict its own generator had written about its own output; this is a second run, from the files.

How each class of figure is made

How the figure is producedRowsReproduceAgency
PFS re-derivation, non-facility setting168168CMS, Centers for Medicare & Medicaid Services
CLFS lookup8181CMS, Centers for Medicare & Medicaid Services
read in the cited report1212AHRQ MEPS, AHRQ HCUP, CMS, BLS, GSA
read in the cited table33AHRQ MEPS
OPPS Addendum B lookup22CMS
PFS status indicator, read in the file22CMS
two published figures added, both re-read11CMS
PFS re-derivation, facility setting11CMS
read in the cited MEPS 2022 analysis11AHRQ MEPS
read in the cited MEPS 2022 analysis (a null result)11AHRQ MEPS
all-payer ED cost-to-charge ratio, 202111AHRQ HCUP
$17.21 median hourly, Home Health and Personal Care Aides (31-1120)11BLS

The physician fee schedule publishes no dollar column. It publishes Relative Value Units and one conversion factor — $33.4009 for CY2026 — and defines the payment as their product. That multiplication is ours, which is why those rows are marked DERIVED rather than VERIFIED, and why the RVUs are quoted inside the row so you can redo it. The laboratory rows need no arithmetic at all: the rate is a column on the file.

The files, and what they hash to

Published fileRowsSHA256Retrieved
CMS CY2026 National Physician Fee Schedule Relative Value File (RVU26C, July release)b7d197e73211ef6854c213c267d5fa9dec8df995db8e1ee7d44c0556ad7cee212026-09-09
CMS Clinical Laboratory Fee Schedule, CY2026 Q3 public use filef5a090789c40fe791b478a735c7cf5399e86726adc788f11829435cb0ca4d7d52026-09-09
CMS January 2026 Hospital Outpatient PPS Addendum B1f34d9770231f66b877fc84ce2bd08dceb562309729dfb597e1ff8dafcfc90062026-09-09
CMS CY2026 Geographic Practice Cost Indices, Addendum E (RVU26C, July release)7850e2987d12e46930e49033f96829b5ae11f60dd1f19965329b38cf08b052642026-09-09
CMS, Medicare Physician & Other Practitioners — by Geography and Service, calendar year 2024c26956788333d03c0080017121c19e8e4d9990e9fa8ff385d7e1a2849c45074a2026-09-09
Long COVID Is Associated with Excess Direct Healthcare Expenditures Among Adults in the United States (MEPS 2022), PubMed Central23bc6a22cc2522257691b939ee0a671bfb615e597272c080a2617f0301fb938302026-09-09
AHRQ MEPS Statistical Brief #53217594854b7202c1d89276df52b13f661473ba8bf6ec117ebb831e40f0f47d031a2026-09-09
AHRQ MEPS HC Summary Table 1, 2014361222b6f8aa81d5a1ace2655816978b17c81eb9096893e5baac25811516f465f2026-09-09
AHRQ MEPS Statistical Brief #48435a8ce1d026fcc4a716ff254951123101c83ef1e65f3a654f92478022a658c7b32026-09-09
AHRQ HCUP Statistical Brief #31119e9de553a0cb598d19b280e96a197910acf9e68bbf698a38a3d163960bcafbb72026-09-09
AHRQ HCUP ED cost-to-charge ratio summary statistics, 202116149dfbc874ba9d34be3314814aa461a9ee833120c603feba4dab6608e6917832026-09-09
AHRQ MEPS Statistical Brief #562148a3f6e69893647bc5a7cc2121894a11d387ac973fba0bf4e517b610f12a42c12026-09-09
AHRQ MEPS Statistical Brief #568178f76227dd8e0884b1bcecb5e18f2324f1dd23a6720f6b24b5b63278f7716f052026-09-09
AHRQ MEPS Statistical Brief #56018cfa01585457046cb81ef7c3eb0e75f79cdf9ef4d91f6bff4fa93a597c2456472026-09-09
CMS fact sheet, 2026 Medicare Parts A and B premiums and deductibles1a0726e0c8b05ad9f167120808648b55c6c85395f9cd42ec28ab74356658b28922026-09-09
CMS Final CY2026 Part D Redesign Program Instructions1e48ad7fee52468385cbb0ca9f82a578f58a435a96bb57f247252fe4f2a79723a2026-09-09
BLS Usual Weekly Earnings of Wage and Salary Workers, second quarter 20261d382be171d6b19c8b0d94c48e9d811dea3dd1df51e8ff26aa0398c33c6cb43bd2026-09-09
BLS Occupational Employment and Wage Statistics, May 2025 national estimates1852250997ceff9b721ff68f63e877d818f9c1ec8b1b69dd367958faedd5282b22026-09-09
GSA privately owned vehicle mileage reimbursement rates1bc35942eae02d670c33392fa815619de621b98acc8cc21650e2be1e5bcb200032026-09-09

Where you live

Medicare does not pay one national price. It multiplies each half of the payment by a geographic practice cost index published for that locality, so the same code is a different allowed amount in 109 Medicare localities. 52 of our rows carry a locality figure.

(work_rvu*pw_gpci + pe_nonfacility_rvu*pe_gpci + mp_rvu*mp_gpci) * 33.4009

Worked, for IOWA and CPT 99213: work 1.30 × 1 + practice expense 1.46 × 0.915 + malpractice 0.09 × 0.397, all times $33.4009 = $89.23. The national figure, with every index set to 1.000, is $95.19.

Inputs: RVU26C.zip: PPRRVU2026_Jul_nonQPP.csv (released 06/30/2026) · RVU26C.zip: GPCI2026.csv (Addendum E, final CY2026 GPCIs). Rebuild with python3 data/build_state_prices.py. Every one of these figures is re-derived from the two CMS files by python3 data/verify_price_table.py — 5,668 of 5,668 at the cent, 0 off; the per-row build log is data/STATE-PRICES-AUDIT.txt.

Which condition, and its code

The year-ahead figure is not one number written into the page. You choose the condition; the panel renders whatever the row for that condition says, with its year, its population and the kind of figure it is. Adding a tenth condition is one object in data/conditions.json — and it may only be added once its figure exists as an audited row in the price table.

3 of the 9 conditions have a published annual figure. 6 do not, and for those the panel says so and offers to count the absence, because a missing federal figure is a finding about the data, not a blank to fill with the nearest number to hand.

ConditionICD-10-CMYear-ahead figure
Long COVIDU09.9 Post COVID-19 condition, unspecifiedpublished — excess
Heart diseasenone, on purposepublished — condition-attributed
Diabetesnone, on purposepublished — condition-attributed
ME/CFS (chronic fatigue syndrome)G93.32 Myalgic encephalomyelitis/chronic fatigue syndromenone published
POTS and dysautonomiaG90.A Postural orthostatic tachycardia syndrome [POTS]none published
FibromyalgiaM79.7 Fibromyalgianone published
EndometriosisN80 Endometriosis (category heading)none published
Sickle cell diseaseD57 Sickle-cell disorders (category heading)none published
Still looking for a diagnosisnone, on purposenone published

3 of the 9 rows carry no ICD-10-CM code. Some rows here carry no ICD-10-CM code on purpose, and the count is printed from the data rather than written into the prose. AHRQ MEPS prices a CLINICAL CATEGORY ("adults treated for heart disease", "adults treated for diabetes"), which spans dozens of codes; picking one code to stand for it would misdescribe the population the figure came from. And there is no code for not yet having a diagnosis. A blank we can explain beats a code we cannot defend.

Every code was re-read in the code-description file CDC/NCHS publishes for FY2026 and FY2027 — the long description, character for character, and the flag that says whether the code may go on a claim. The FY2027 code set takes effect on 1 October 2026. Every code here is present, billable-or-heading identical, and titled identically in both files, so nothing on this page changes when the code set turns over.

46 checks: 46 pass, 0 fail, 0 unverified, run 2026-09-10. It re-reads every code in the CDC files and every priced figure in the paper or brief the row cites, and it fails if a condition with no figure has a dollar amount anywhere in its record. Run it: python3 data/verify_conditions.py; the result is data/CONDITIONS-AUDIT.json.

CDC ICD-10-CM browser

How the AI reads a story

A person types what happened in her own words. The deterministic rules in this codebase read the story first and map every phrase they recognise to a unit of care. Each phrase the rules leave blank is then shown to a language model together with the catalog of units, as ids and labels only. The model may answer with one of those ids, or with nothing.

The model never sees a price and never returns one. The published federal table prices the unit it named, exactly as it prices a unit the rules matched. Care that was never received and any span of time are decided by the rules and are never sent to the model, so nothing that did not happen can be priced by a guess. A chip the model named carries the mark AI read and the person can change it like any other line.

The reader is POST /api/map. The model in production is OpenAI gpt-5.4-nano, which answers in about a second; gpt-5-mini stands behind it, and Cloudflare Workers AI behind that. The reply names the model that read the story, or reports the rules alone when none was reachable, so the tool never waits on one. Run without it by deleting the key: the product is the same, minus the filled blanks.

Sex differences

The Federal Sprint Lead for the Invisible Illness track asked every team, on 26 August 2026, to be intentional about sex differences where relevant. This is the answer, and it is held to the same standard as every dollar on this site: a named federal file, the URL the row itself publishes, re-read by a script anyone can run — or the row says plainly that the file is silent.

What we ask

One optional question on the burden survey: Sex, with Female, Male, Intersex, Prefer not to say. It is asked as sex, not gender, because sex is the variable the federal prevalence files below are published by. The framing is NIH’s own: NIH NOT-OD-15-102, Consideration of Sex as a Biological Variable in NIH-funded Research, 9 June 2015 states the expectation that researchers “account for the possible role of sex as a biological variable”, in data collection, analysis and reporting alike. Nothing is pre-selected, nothing is filled in for you, and “Prefer not to say” is recorded as the stated answer it is — distinct from leaving the question alone, which is published as “not stated”.

What we publish

Two things, and they are not the same thing. Who answered, on the register, under the same rule as the state: any answer holding fewer than 11 responses is withheld, and the number of withheld cells and the responses they hold are published, so the table still adds up. And how each sex ranked the five burdens — the reason the question exists, since a ranking that cannot be read by sex cannot answer the ask. That one is a cross-tabulation, so it is suppressed on the server before it is served rather than hidden in the page: narrowing a group twice makes a small cell small twice. Each group is the same count of the same answers as the total above it, computed by the same function. No weighting, no imputation, no extrapolation.

The survey holds no name, no account and no identifier, so a sex answer joins to nothing. It is a column in an anonymous count, and that is the whole of it.

What the federal files do and do not split by sex

None of the price rows. The CMS physician fee schedule, the clinical laboratory fee schedule and the hospital outpatient file price a code, not a person: they carry no sex field, so no figure on this site is adjusted by sex and none of them can be read by it. Where sex appears in the federal record for these conditions, it appears in prevalence — how many people have the thing — and never in what a year of it costs.

4 of the 9 conditions carry a federal sentence about sex. 5 do not, and each of those says which page was read and where it stops, because a silence in the federal data is a finding about the data.

ConditionWhat a federal file says by sexThe file
Long COVIDCDC/NCHS Household Pulse Survey, 20 August to 16 September 2024: 6.8 percent of women (95% CI 6.2-7.4) and 3.7 percent of men (3.3-4.3) said they were currently experiencing long COVID. Prevalence, not cost — the figure this panel prints is not published by sex.CDC/NCHS, Household Pulse Survey — Post-COVID Conditions, national estimates by sex, survey period 72 (20 Aug – 16 Sep 2024)
Heart diseaseCDC's Heart Disease Facts publishes the share of all deaths caused by heart disease by race and ethnicity, not by sex, and says only that heart disease is the leading cause of death for men and women. Read 9 September 2026 at https://www.cdc.gov/heart-disease/data-research/facts-stats/index.html. No federal split by sex, so none is claimed.none found
DiabetesCDC's National Diabetes Statistics Report page publishes national totals and no split by sex. Read 9 September 2026 at https://www.cdc.gov/diabetes/php/data-research/index.html. No federal split by sex was read, so none is claimed.none found
ME/CFS (chronic fatigue syndrome)CDC/NCHS, National Health Interview Survey 2021-2022: 1.7 percent of women and 0.9 percent of men had ME/CFS at the time of interview, against 1.3 percent of all adults. Prevalence, not cost.NCHS Data Brief No. 488, Myalgic Encephalomyelitis/Chronic Fatigue Syndrome in Adults: United States, 2021–2022, December 2023
POTS and dysautonomiaWe have found no federal publication giving POTS prevalence by sex. That is a statement about what we could find, not a claim that none exists — if you know of one, say so and we will read it and cite it.none found
FibromyalgiaNIH NIAMS says plainly: “Anyone can get fibromyalgia, but more women get it than men.” It publishes a direction and no figure, so this row carries a direction and no figure.NIH National Institute of Arthritis and Musculoskeletal and Skin Diseases, Fibromyalgia, read 9 September 2026
EndometriosisHHS Office on Women's Health: “Researchers think that at least 11% of women, or more than 6 ½ million women in the United States, have endometriosis.” Prevalence, not cost: we have found no published federal annual figure for endometriosis, by sex or otherwise.HHS Office on Women's Health, Endometriosis, read 9 September 2026
Sickle cell diseaseCDC's Data and Statistics on Sickle Cell Disease publishes counts and birth prevalence by race and ethnicity, and no split by sex. Read 9 September 2026 at https://www.cdc.gov/sickle-cell/data/index.html.none found
Still looking for a diagnosisNot a diagnosis, so there is no published prevalence to split by sex. The only thing this row can be read by sex on is what the register's own respondents say, which is published there as a count with its N.none found

Each condition carries what a federal source we opened and read says about sex, with the URL and the date it was read, or a written reason for the blank. Every one of these is PREVALENCE, never a dollar: none of the fee schedules we price from carries a sex field — the CMS physician fee schedule, the clinical laboratory fee schedule and the hospital outpatient file price a code, not a person — and no figure in this file is ever adjusted by sex. Where a federal file is silent, the blank says which file was read and where it stops, because a silence in the federal data is a finding about the data. data/verify_conditions.py re-reads every sex_note in its own source and fails if the source no longer says it.

Every sentence in that table is re-read in its own source by python3 data/verify_conditions.py, which fails if the file no longer says it, if a note carries a dollar amount, or if any priced row grows a field naming sex. Last run 2026-09-10: 46 pass, 0 fail, 0 unverified across the whole condition file.

Take the data

The whole table is published as open data, versioned, with every field described and the audit verdict carried on each row. The federal figures are U.S. Government works in the public domain; our labels, synonyms, coverage statements and combination rules are dedicated to the public domain under CC0 1.0. No attribution required.

Price table (CSV) Price table (JSON) Data dictionary

The combination rules travel with it: summable, mutually_exclusive_with and bundles_ancillaries say which figures may be added to which. A rule written only in prose is a wish; these are fields.

What the public sends back — corrections, gaps, rankings — is published too, and every row is hash-chained. How that chain works, and what it does not prove.

The method, written out in full

Displayed verbatim in the app. Nothing here is marketing copy — every claim in it is checkable against prices.json.


The one rule

We never invent a dollar figure. Every number in this ledger is one you can look up yourself. Each line carries its source document and a link to it. If we could not find a real published figure for something, the line is blank and named rather than filled with a plausible guess — those blanks are listed in GAPS.md and shown to you on the page, because a missing number is honest and a fabricated one destroys the only claim this tool makes.

That rule has a cost, and we pay it in public. There are things on the list below that we simply cannot price.


Where the prices come from

The itemized ledger is priced at the 2026 Medicare fee schedules — the Physician Fee Schedule for visits, imaging and testing; the Clinical Laboratory Fee Schedule for blood work; the Hospital Outpatient system for the fees a hospital bills on its own behalf. These are allowed amounts: the approved price for a service, counting both what the program pays and what the patient owes.

We chose that basis for three reasons, and we will say the fourth thing about it too.

  1. It is current. These are 2026 rates.
  2. It can price one test. The household survey that measures what Americans actually pay cannot: it folds

blood work and imaging invisibly into the visit that ordered them and never itemizes.

  1. It adds up honestly. Under Medicare rules a lab and a scan are separately billed, so adding them to a

visit is correct rather than double counting.

  1. And it describes the wrong people. Medicare covers people 65 and older, plus people under 65 who

qualified through 24 or more months of disability benefits or who have end-stage kidney disease. Long COVID falls hardest on working-age adults — on employer coverage, a Marketplace plan, Medicaid, or uninsured. Read the Medicare total as a price floor, not as your bill. Commercial insurance normally pays above Medicare. Every line therefore also carries the average charge providers actually submitted in 2024, which is roughly what an uninsured person is billed against, so you can see both ends of the range.


Charges, allowed amounts, payments — and three more

A dollar figure about health care is meaningless until you know which kind it is. Six different kinds appear in this tool, and every figure is tagged with its own.

BasisWhat it meansWhere it comes from
allowed amountThe approved price: program payment plus your shareCMS fee schedules
paymentWhat every payer actually paid, combinedMEPS household survey
out-of-pocketWhat you personally paidMEPS
chargeWhat the provider billed. Almost never what an insured person pays; it is what an uninsured person is billed againstCMS claims file
facility costWhat it cost the hospital to produce the service — wages, supplies, utilitiesAHRQ's HCUP reports
wageEarnings. An input to a lost-time calculation, never a priceBLS

The sixth one deserves a note. The common shorthand is that HCUP reports charges. That is half wrong in the half that matters: HCUP's databases hold charges, but its published reports convert them to hospital production cost — a number that is none of the other five. We gave it its own label rather than force it into one that would misdescribe it.

Never sum across bases. Never average across them. One emergency room visit appears in this tool as $544.54 (Medicare allowed), $1,048 (what payers actually paid, 2014) and $750 (what it cost the hospital, 2021). Those are three correct answers to three different questions, not three estimates of one.


Excess, not gross — and where each belongs

The honest way to state the cost of a condition is the excess: how much more a person with it spends than a comparable person without it. The gross figure counts care they would have needed anyway.

For long COVID, the numbers make the point better than the argument does. Adults reporting long COVID spent about $11,305 on health care in a year, and comparable adults who never had COVID spent about $7,162. Those are raw averages, and the two groups differ in age, income, insurance and other conditions, so the difference between them is not the answer: adjusted for all of that, the same study puts the two groups at $11,641 and $7,543 — an excess of $4,098 a year, in a range from $1,619 to $6,578. About 63% of what an adult with long COVID spends is care a comparable adult needed anyway.

So the tool shows both, and keeps them apart:

  • The headline is the excess — $4,098 a year, shown as a range because the range is the honest answer.
  • The itemized ledger is gross — the price of care that actually happened. A fee schedule prices units; it

cannot by itself produce an excess-over-a-comparable-person figure. That takes a matched study.

The two can never be added. The annual excess figure already contains every visit, test and scan in the ledger beneath it. Putting both in one sum counts the same care twice. The app enforces this in code, not in a footnote: every figure carries a summable flag and a list of the figures it is mutually exclusive with, and a whole-year total is marked exclusive with the entire per-event stack.

One more rule that has to live in code rather than prose, because it is not intuitive: whether a lab can be added to a visit depends on the source. Under Medicare, labs are separately billed and can be added. Under the household survey and the hospital-cost reports, they are already inside the visit's total and adding them double counts. There is no single global rule, so each figure carries its own bundles_ancillaries flag.


What the AI does, and what it is not allowed to do

The model maps your words to a service. Deterministic code does the pricing. The model never emits a number.

When you write "they scanned my heart" or "I had bloodwork done", a language model's only job is to decide which unit of care you are describing — an echocardiogram, a complete blood count. That is a matching problem, and it is what a language model is genuinely good at.

The moment the unit is identified, the model is out of the loop. A lookup in prices.json returns the published figure, its source, its year and its coverage statement. Ordinary arithmetic adds the lines. No model, average, heuristic or interpolation anywhere in this app produces a dollar figure.

This is a structural guarantee, not a policy. The two live in separate modules for exactly this reason, and the consequence is deliberate: if a unit of care is not in the table, the line comes back UNPRICED and is shown to you as unpriced. The tool would rather show you a blank it can explain than a number it cannot.

Two smaller commitments follow from the same principle:

  • We do not adjust old figures for inflation. The moment we inflate a number it becomes ours instead of

the government's. Where a figure is stale we print the year on its face and say so.

  • We record the derivations we refuse to make. Some tempting arithmetic is invalid in ways that are not

obvious — dividing an average hospital cost by an average cost-to-charge ratio does not give you an average charge, because the mean of ratios is not the ratio of means. Those prohibitions are written into the data file so that a later pass cannot rediscover them innocently.


Every figure tells you who it does not cover

Dr. John Phillips of the NIH Office of the Director told this cohort that transparency means conveying not just the source but "who is and isn't covered in that data", and whether a finding is broadly or narrowly applicable. We took that literally.

Every figure in this tool carries a coverage statement in plain English — required, non-empty, and checked before the app will render the number. Each one says: who this number describes, who it does not, what year, what geography, what population, and what would make it wrong for you specifically.

Not "Medicare FFS only." That is jargon, and jargon is not a coverage statement. The actual sentence.


What this data does not cover

Stated plainly, because these are the limits you would otherwise have to discover for yourself.

Whose money it is. Almost every figure describes what care cost, not what you paid. The one clean national estimate of the extra out-of-pocket burden of long COVID could not be distinguished from zero — see below.

Working-age people on commercial insurance. The itemized prices are Medicare's. CMS publishes no commercial-market data at all. This is the single largest limitation of the ledger and the reason we show the charge figures beside every line.

The uninsured paying cash. Survey expenditures are negotiated payments. Cash and list prices are systematically higher and appear in no figure here except the charge comparison.

Anywhere below the national level. Every figure is national. Hospital payments in particular are adjusted by each hospital's local wage index, which moves them by more than 30% in some markets.

Anyone institutionalized. The household survey excludes people in nursing homes, in prison, and on active military duty. It also follows survivors, so the sickest are underrepresented.

How many visits an odyssey actually takes. The prices are real; the counts in the example journey are ours. No federal source publishes a per-patient trajectory. The hospital databases record visits with no patient identifier, so they can never follow one person across visits — not with more effort, not with a data-use agreement, not in principle. We built the sequence from published referral rates and labelled it as our construction.

Long COVID broken out by service type. No source anywhere decomposes long COVID spending into visits versus imaging versus prescriptions. There is no pie chart to draw.

Anything that never generates a claim — over-the-counter medicine, cash-pay therapy, care someone went without because they could not face another appointment. Invisible to every claims-based source, and real money all the same.

Time. Costs widen rather than resolve. A one-year snapshot understates a lifetime.


The finding we lead with rather than bury

The best nationally representative U.S. evidence found no statistically significant difference in out-of-pocket spending between adults with and without long COVID. The point estimate was $236 a year, but its interval runs from minus $95 to plus $566 — it crosses zero, at p = 0.162.

We carry no number in that field. A number in a value field gets rendered, and rendering $236 would assert something the source explicitly declines to assert.

What the data does show is where the money went: of the $4,098 excess, about $3,705 landed on insurers. For the average insured adult, long COVID drives large excess spending that insurance absorbs.

That is uncomfortable for a tool built to show a person what their illness cost them, and it is exactly why it belongs at the top. The patient-visible cost systematically understates the illness. An average also hides its tail — this estimate does not separate people with high deductibles or no insurance, who are precisely the people for whom the null result is least likely to hold.

A ledger that headlined a large personal out-of-pocket figure would be more persuasive and less true. Saying so is the strongest evidence we can offer that this tool reports what the data says.


One thing worth knowing about the data itself

AHRQ stopped publishing its static per-visit expenditure tables after 2014. We checked: the 2015 and 2016 files return 404, and the data moved into an interactive dashboard whose settings cannot be reached from a fixed web address. The newest per-visit table a stranger can open at a stable link is from 2014 — about a decade of medical price growth ago.

That is not a defect in the research. It is a fact about the federal evidence base, and a tool built on public data should say it out loud rather than paper over it with an inflation adjustment.


Provenance labels

LabelMeaning
VERIFIEDRead directly in the cited source document.
DERIVEDComputed from figures read in the source, using the source's own formula, with the inputs printed on the face of the number so you can redo the arithmetic. CMS publishes relative value units and a conversion factor rather than a dollar column, so every physician fee schedule figure is necessarily derived — calling it "verified" would be a small lie, and small lies are what this tool exists to avoid.
REPORTEDRead in a secondary source citing the primary. No figure in this tool carries this label. Figures we could not open at their primary source were dropped rather than shipped.

What we could not price, and why

This is a feature of the tool, not a backlog behind it. The app shows these on the page, in the ledger, beside the priced lines.

A tool whose whole claim is "no estimate we cannot show you" has to be willing to show you a blank. Every item below is a real cost of a diagnostic odyssey that we deliberately left unpriced, because no defensible published figure exists. Each one names what is missing, why, and what would fix it.

Dr. John Phillips of the NIH Office of the Director named lost productivity and caregiver time as "really important... but they're also ones that are difficult to capture and difficult to measure," and then asked teams to name the source. For the hardest one, the honest answer turned out to be that the federal government publishes the inputs and explicitly declines to publish the answer. That finding is worth more than a number would have been.


The four that cost a person real money

1. The work you missed

Status: unpriced. The tool asks for your own pay rather than guessing it.

Half of this exists and is good. Adults with long COVID missed 2.54 more workdays per year than adults without it — adjusted, nationally representative, p < 0.01. Use the excess 2.54, never the gross 8 days, because 4 of those 8 would have been missed anyway.

What is missing is your wage. Applying a national median to a specific person is a guess about that person's pay. Worse, the median is drawn from people still working full time — it excludes part-time workers, the self-employed, and anyone who cut their hours or stopped working because of the illness. The sickest people leave the denominator, so any lost-work figure built on it is biased downward as a measure of illness burden, and no other series patches that.

What would fix it: ask for your own hourly or weekly pay and multiply. That is arithmetic on a figure

you supplied, not an estimate we invented. It is the honest way to price this line and it is how the tool

does it.

Two wage figures that circulate widely — $279 a day and $1,106 a week — were dropped. Both were read inside research papers rather than at the Bureau of Labor Statistics, and the daily one is irreconcilable with the BLS median we did retrieve directly. We would rather use a figure we opened ourselves.


2. Time someone spent caring for you

Status: unpriced. No federal dollar figure exists, and that is the finding.

This is the one Phillips flagged as hardest, and the data confirms he was right.

  • BLS publishes the hours — 0.89 hours a day among people who cared for a household adult, from its

time-use survey.

  • BLS publishes the wage — $17.21 an hour for a home health aide, from its occupational survey.
  • BLS has never published their product, and states in its own Monthly Labor Review that putting a

monetary value on unpaid household work is outside the scope of its work.

  • The health-care agencies cannot help either. Unpaid time given by a spouse, parent or adult child is

never billed on a claim, so it can never appear in any CMS dataset. The household survey does not collect it in any form.

  • The only per-person long COVID caregiving valuation anywhere is British, in pounds (£8,726 per patient).

Converting it would manufacture a number no source published.

And even with both inputs in hand, the answer depends on a choice nobody has made for us. The defensible replacement wage spans $17.21 to $46.90 an hour — a factor of 2.7 — depending on whether the task is custodial, clinical, or genuinely nursing-level. A different method entirely, valuing what the caregiver gave up by not working, gives $24.51 and answers a different question, 42% away. Choosing one silently would be choosing the answer.

What would fix it: state the method and let the reader pick it, showing both numbers side by side with

the multiplication visible — and labelled as our arithmetic over two cited federal inputs, never as a federal

statistic.

One category error to avoid. The widely quoted BLS eldercare figure of 3.9 hours a day requires the person receiving care to be 65 or older with an aging-related condition. Long COVID is predominantly a working-age illness. Applying eldercare hours to a 38-year-old is not an approximation, it is the wrong series.

And a proxy that looks reasonable and is not. Medicare publishes rates for paid home health care. Substituting a paid aide's rate for a family member's unpaid hours is a category error, not a shortcut — one is purchased care, the other is not. Note too that the aide's wage is not the price a family pays: an agency's billed rate is materially higher because it carries overhead, supervision, insurance and margin, and BLS does not publish that rate.


3. Travel to appointments

Status: unpriced. Needs your actual distance.

The IRS publishes a medical mileage rate, so the price half exists. The distance half does not: it is specific to a person and their geography, and rural patients routinely travel an order of magnitude further than urban ones. A national average here would be most wrong for exactly the people it matters most to. Travel, lodging and the time cost of reaching a specialty center sit outside every federal health dataset.

What would fix it: ask for the round-trip distance and apply the published IRS rate. Real input,

published rate, honest arithmetic.


4. What the delay itself cost you

Status: unpriced. This is a causal claim, not a price.

Whether being diagnosed fourteen months late produced worse outcomes and higher costs than being diagnosed early needs a design that separates the effect of the delay from the effect of being sicker to begin with. Without one, any number here is a correlation dressed as a cost.

What would fix it: a study design. Until there is one this line is named on the page and left blank,

because the cost is real even though the figure is not.


The gaps in the money data itself

5. What YOU paid, as opposed to what your insurer paid

Status: no statistically significant figure exists — and that is a finding, not a hole.

The best national estimate of the extra out-of-pocket burden of long COVID was $236 a year with a 95% interval running from minus $95 to plus $566. It crosses zero, at p = 0.162. We carry no number in that field, because a number in a value field gets rendered and rendering $236 would assert what the source declines to assert.

The excess landed on payers — about $3,705 of the $4,098 — not visibly on the patient's wallet.

This does not mean individuals are not hit hard. Averages hide tails, and this estimate does not separate people with high deductibles or no insurance, who are exactly the people for whom the null result is least likely to hold.

Separately: the AHRQ report on 2020 COVID care publishes total payments per event with no out-of-pocket column at all, so even for acute COVID the patient's share is unavailable there.


6. Anything a commercially insured or uninsured person actually paid

Status: not published by CMS at all.

Every itemized price in this tool is Medicare's. CMS publishes no commercial-market or uninsured out-of-pocket data of any kind. This is the largest single limitation of the ledger, and it is why the tool shows the average submitted charge beside every line — that is the number an uninsured person is billed against, and it runs 2.9 to 8.3 times the Medicare rate depending on the service.


7. Any per-visit figure newer than 2014

Status: structurally unavailable at a citable link.

AHRQ stopped publishing static per-visit expenditure tables after 2014. We probed 2008 through 2016: 2008–2014 return normally, 2015 and 2016 return 404. The data moved into an interactive dashboard whose settings cannot be driven from a web address, so no per-visit view can be cited at a stable link. The newest per-visit table a stranger can open is from 2014. About a decade of medical price growth sits between it and today, and we do not inflate it forward, because the moment we adjust a figure it becomes ours rather than the government's.


8. Long COVID spending broken out by service type

Status: nobody publishes it.

Neither AHRQ nor the peer-reviewed analyses decompose long COVID spending into visits versus imaging versus prescriptions. AHRQ's long COVID report is prevalence only — 13.7% of adults who ever had COVID reported ever having long COVID — with zero dollar figures in it. There is no pie chart to draw. The all-cause service split may be substituted only if clearly labelled all-cause, which would make it a different fact.


9. How many visits, tests and specialists an odyssey actually takes

Status: no federal source publishes a per-patient trajectory.

This is the other half of every dollar figure, and it is the reason the example journey's counts are ours while its prices are not. CMS prices units and does not count them per patient. The national hospital databases record visits with no patient identifier, so they can never follow one person across visits — not with more effort, not with a data-use agreement, not in principle. A study of 984 patients at three academic post-COVID clinics gives referral probabilities (64.3% referred to a subspecialty; pulmonology 25.0%, cardiology 22.4%, neurology 9.0%) but counts only care delivered inside those three clinics.

What would fix it: a longitudinal individual-burden study. The 2025 review of this literature names its

absence as an open gap in the field.


10. Time from first symptom to diagnosis, in the United States

Status: no population-based figure.

The closest proxies are a median of 98 days from infection to a first post-COVID clinic visit — which measures when someone reached a specialized clinic, not when anyone named their condition, and describes only people who successfully got there — and a survey finding that fewer than half of people had a formal diagnosis on their record at a median of 19.8 months, which was 83% British and recruited through support groups. Neither is a U.S. time-to-diagnosis.


11. Long COVID cost by severity or symptom pattern

Status: an open gap in the field, named as such by a 2025 peer-reviewed review.

Every figure available is a population mean over an extremely heterogeneous group with a heavily skewed cost distribution. There is no published estimate for a mild case versus a severe one.


12. Costs for anyone this data does not follow

  • Children. Every U.S. long COVID cost analysis covers adults 18+. The only per-patient pediatric figure

is French, in euros.

  • The self-employed. BLS excludes them from every earnings series used here — roughly one worker in ten,

unpriceable for lost work.

  • Part-time and gig workers. The lost-work studies restrict to full-time workers averaging 35–100 hours a

week, excluding the people least protected by paid sick leave.

  • Anyone in a nursing home, in prison, or on active military duty. Excluded by survey design.
  • People who died. The survey follows survivors, so the sickest are underrepresented in every figure here.
  • People on Medicare Advantage. Roughly half of Medicare beneficiaries. Their negotiated rates appear in

none of these fee schedules.


13. Everything below the national level

Every figure in this tool is national. Hospital payments in particular are adjusted by each hospital's local wage index, which moves them by more than 30% in some markets. Occupational wages vary substantially by state. Where regional cells existed in a source, we dropped them: the agency's own text said the regional differences were not statistically distinguishable, and presenting them anyway would have been the tool manufacturing precision the source disclaims.


Figures we found and deliberately did not ship

Honesty runs in both directions. These are real published numbers that we located, checked, and left out.

DroppedWhy
A $3,571 "average ER charge"Would have been the tool's most attractive headline. It is arithmetically invalid — the mean of hospital-level cost-to-charge ratios is not the ratio of national means — and no source publishes it. The prohibition is recorded in the data file so a later pass cannot rediscover it innocently.
A $2,678 person-year COVID total, sitting in the same summable list as its own componentsIt already contained the visits beneath it. Run against the app's own code, four ordinary phrases produced a total of $4,314 when the truthful answer was $2,678 or $1,636, with no warning shown. The figure is gone and the app now enforces mutual exclusion in code rather than in prose.
The entire 2020 acute-COVID price tableWrong condition and the least representative year available: 2020 was when most insurers waived COVID cost-sharing, so the patient-visible share was atypically low. It was also six years stale.
Regional and metro-area breakdownsThe agency's own report states the regional differences were not statistically different, and the metro difference was significant only at the 0.10 level, against the report's own 0.05 convention.
An "uninsured" cell of $1,124Carried the agency's own flag for an unreliable estimate, which had been stripped. It also read lower than the insured figure — because uninsured people go without care, not because care is cheaper for them.
A $236 excess out-of-pocket point estimateInterval crosses zero. Kept as prose; removed from every numeric field.
A $9,000 per-person and $3.7 trillion national cost estimateThe source document could not be opened — it returns an access error. Both are model constructs, and roughly 59% of the $3.7 trillion is quality-of-life loss valued in dollars, which is not money anyone paid. A tool claiming "no estimate we cannot show you" cannot ship a figure whose source it could not read.
A pooled "all other specialty" average used as a pulmonology priceIt blends about 25 specialties. Using it as a pulmonology figure means averaging a rheumatology consult with an oncology consult and calling the result pulmonology. Replaced with the specialty consult code, with the basis switch disclosed.
A $3.43 monthly "cardiology" costA per-month population average across everyone with COVID, most of whom never saw a cardiologist. Reads as a unit price and understates one by roughly two orders of magnitude.
National aggregates of $168 billion and $6.4 billion in lost earningsThey measure different phenomena — leaving the workforce versus missing days while still employed — and neither can be divided by a patient count to price one person.
A five-year cumulative excess of $7,124The most odyssey-sounding label in the literature attached to a figure that excludes physician fees, laboratory tests, imaging interpretation and pharmacy — which is most of an odyssey. Single health system, and not peer-reviewed.
Household annual spending totalsNested three levels deep, so summing across them double counts, and roughly two-thirds of the healthcare total is insurance premiums — money paid whether or not anyone is sick.
Two hospital inpatient means computed by divisionReal inputs, but the quotient is not published by the agency and would be read as a quotation. The COVID one is also acute COVID, which most long COVID patients never experience.

Total dropped: 33 figures and figure-groups. Every one of them was a number we could have shown.


Why this page exists

The blanks above are the part of this tool that is hardest to fake. Anyone can produce a total. Producing a total and an honest list of what is missing from it — including the numbers you chose not to use, and the one finding that makes your own headline smaller — is the only way a stranger can tell whether the total in front of them was reasoned or assembled.

If you have a figure for any line above, or you think one of the numbers we did ship is wrong for someone like you, tell us. That is the point of the tool: it is a demand signal back to the agencies that publish these numbers, about which ones are missing and which ones do not describe real people.