Slide deck, 12 slides. Use the arrow keys to move between slides. Download the PDF

HHS/NIH TOPx Tech Sprint · Invisible Illness track · October 2026

Undiagnosed No More

The Invisible Patient Finder

Find the patients the health record misses: open, tested tools for patients, clinicians, health systems, and developers.

  • Amir Asiaee Vanderbilt University Medical Center
  • Kaveh Aryan Department of Informatics, King's College London

undiagnosednomore.org

The problem

Some illnesses are real but invisible in the record

Long COVID, ME/CFS (chronic fatigue), fibromyalgia, and Lyme disease are hard to diagnose. Even after a clinician names the illness, the diagnosis code is often missing from the chart.

Without the code, the next clinician, post-COVID clinics, benefit programs, clinical trials, and studies that count patients by code can all miss the patient.

The diagnostic odyssey

In the roughly 100 days before their Long COVID was coded, patients had

6.6 more outpatient visits

0.4 more emergency visits

than matched post-COVID patients, about $900 per patient at Medicare prices, not counting missed work.

Source: NIH All of Us Research Program, patients later coded with Long COVID against matched post-COVID patients; 2024 Medicare prices.

2 / 12

What we found

Long COVID is coded for about 1 in 9 adults who ever had it

We compared how many adults say they have had Long COVID, in a national CDC survey, with how many carry its diagnosis code in their health record.

Less often for women

Women report Long COVID more often than men, but a smaller share of their Long COVID is coded: 0.79 times the share for men (95% interval 0.65 to 0.95). This comparison is not adjusted for health system.

Across the 10 health systems with enough patients, coding ranged from 0.79 to 2.37 times the expected rate (10th to 90th percentile).

Source: NIH All of Us Research Program, 23,790 adults with COVID-19 followed for 455 days, compared with the CDC Household Pulse Survey. Companion preprint on Long COVID coding (in preparation).

3 / 12

What we found

Diagnoses patients report are often missing from their record

People told a survey that a clinician had diagnosed them. How often does their record carry the code, compared with high blood pressure and type 2 diabetes (coded as often = 1)?

Fibromyalgia 0.73
Endometriosis (women) 0.49
Lyme disease 0.46
Chronic fatigue 0.28
Share coded among people who report the diagnosis, relative to high blood pressure and type 2 diabetes, which are coded for 83% to 90% of the people who report them. Chronic fatigue at 0.28 means it is coded less than a third as often.

Source: NIH All of Us Research Program; 114,610 survey respondents with at least 5 years of health records before the survey (161,480 respondents overall), among those reporting ongoing care for each condition. Companion preprint on coding of self-reported diagnoses (in preparation).

4 / 12

What we built

A summary-count model can leave the research enclave

All of Us data never leave its secure workspace, and neither may a model trained on individual records. So we fit our model only from privacy-protected summary counts, which the program allows us to export.

The result is a small, open file: a score over named, dated chart findings (new symptoms, tests, prescriptions, repeat visits) that another health system can run and check against our test patients.

0.66

AUROC at 18 health systems held out from fitting (the summary-count score refit without them), against 0.62 for a full-record model that cannot leave.

55 days

Median lead before the Long COVID code, among later-coded patients in the top 5% of scores (full-record model).

AUROC is the chance the model ranks a patient who is later coded above one who is not: 0.5 is a coin flip, 1.0 is perfect.

Source: NIH All of Us Research Program, 5,760 patients at the 18 held-out health systems; AUROC 0.66, 95% interval 0.58 to 0.72. On a random 20% validation split, the deployed model file had an AUROC of 0.67 (0.59 to 0.75), and the best summary-count model 0.68, the same as the full-record model. Companion preprint on Long COVID coding (in preparation).

5 / 12

Lived experience in the model

Training on patients' reports ranks uncoded patients higher

Most models learn only from patients who already have a code. We also trained on patients' own reports of a diagnosis, then asked which model ranks higher the people who report the illness but have no code for it.

  • Trained on patients' reports
  • Trained on diagnosis codes
Chronic fatigue 0.670.74
Fibromyalgia 0.640.73
Endometriosis (the limit) 0.530.61
AUROC for ranking people who report the diagnosis but have no code. For endometriosis, discrimination was low and the report-trained score did not predict later codes (0.50 against 0.70). Women who reported it were older and had fewer recent menstrual and hormonal records, so an ever-told diagnosis may describe past illness; this was not tested.

Source: NIH All of Us Research Program, a random 20% validation split of each cohort (149,860 survey respondents for chronic fatigue, 150,340 for fibromyalgia, 97,590 women for endometriosis). Companion preprint on case-finding from patients' reports (in preparation).

6 / 12

How it fits together

One engine, four doors

  1. Patients

    Validated symptom questions, what the answers mean, a visit summary

    Works today
  2. Clinicians

    Condition cards inside the health record, with dated findings

    Works today
  3. Policymakers

    One condition at a time: where and for whom it goes uncoded, and what finding patients costs

    Works today
  4. Developers

    Model files, test patients, a CDS Hooks service

    Works today

One engine

Open model files and one scorer. The patient app, the clinician card, and the CDS Hooks service run the same scorer file, so the same chart gets the same result.

  1. Patient app
  2. Visit summary (FHIR)
  3. Clinician card in the EHR
  4. Other EHRs, through FHIR and SMART on FHIR

The atlas is the population view of the same gap.

7 / 12

Door 1 · Patients

The patient app: get ready for the visit

The patient app with Maria's synthetic answers, page 14 of 14, Your summary: Long COVID, RECOVER symptom score 16 points; ME/CFS and Long COVID, DePaul screen positive; daily activity after COVID-19, grade 3; symptoms lasting 3 months, check matched. Each card is marked Discuss.
  • Validated questions: the NIH RECOVER symptom questions, the DePaul questions on crashes after activity (post-exertional malaise), condition self-checks, PHQ-9, and GAD-7, in English or Spanish.
  • A summary of what each answer means for a condition and what to discuss. Patients never see a probability.
  • A visit summary to print, or to download as a FHIR file that clinic software can read.
  • Answers stay on the device. No account, no tracking.

8 / 12

Door 2 · Clinicians

The clinician view: the evidence inside the chart

The clinician view for the synthetic patient Maria: Long COVID needs review, marked High at 15.4 times the average with her questionnaire answers and 6.1 times from the chart alone, with its top findings; ME/CFS, fibromyalgia, endometriosis, Lyme disease, lupus, migraine, depression, and anxiety typical; below, the Long COVID tab, with her RECOVER answer as the first finding.
  • One card per condition, nine in all: Long COVID, ME/CFS, Lyme disease, lupus, fibromyalgia, migraine, endometriosis, depression, and anxiety.
  • Every card lists the dated chart findings behind it and the next step, such as a post-COVID clinic referral.
  • Built to open inside the EHR through SMART on FHIR, with no new login; tested in the public SMART sandbox.
  • Research decision support. It surfaces patterns for clinician review.

9 / 12

Door 3 · Policymakers

The Atlas: who goes uncoded, and what finding them costs

The Atlas set to Long COVID, with its condition picker (Long COVID, ME/CFS, Lyme disease, lupus, fibromyalgia, migraine, endometriosis, depression, anxiety) and three key numbers: 1 in 9 adults who have ever had Long COVID carry its code, women's Long COVID is coded 0.79 times as often as men's, and 5.3% of US adults said they currently had Long COVID in the last CDC survey period.

Clinician time per later-coded patient found

$116Two-step screen: a short questionnaire first, then chart review
$233Chart review of every flagged patient

The calculator assumes each patient found is recognized about 55 days before the code.

Atlas calculator defaults: 10,000 post-COVID patients screened, the top 5% flagged (measured recall 19% and PPV 4.3%), 5 minutes per review at $120 an hour, 40% pass the questionnaire. Change any of them in the Atlas.

10 / 12

Door 4 · Developers

Open standards, and health data that stay local

Standards

  • FHIR R4 for reading the chart
  • SMART on FHIR to open inside the EHR
  • CDS Hooks to send a card when a chart opens
  • Standard codes: ICD-10-CM, LOINC, RxNorm, CPT

Where health data stay

  • The clinician view scores the chart in the browser.
  • The CDS Hooks service code keeps no copy of the chart data it receives and does not log it.
  • The patient app keeps answers on the device.
  • Every demo patient is synthetic.

All of Us disclosure rules

  • Only checked, aggregate numbers leave the research workspace.
  • Counts of 1 to 20 are suppressed, and other counts are rounded up to a multiple of 10.
  • The models were fit from those summary counts, so no individual record left.

Open model files, a reference scorer, and test patients let another health system check that its copy reproduces our scores.

11 / 12

What comes next

Roadmap and ask

  1. Works today

    Today

    Patient app, clinician view, Atlas, open models, and CDS Hooks, with synthetic patients. Launches from the public SMART sandbox; registered with Epic and athenaOne, with sandbox access pending.

  2. Next

    Pilot

    A silent-mode pilot at a health system (cards scored but not shown) to check them against real charts, and validation in a second national research network.

  3. Planned

    Marketplace

    Listings in EHR app marketplaces, and new conditions on the same engine, such as POTS and post-treatment Lyme disease syndrome.

Our ask: help us move from sandbox to a health system. A pilot site, EHR marketplace review, and patient advocates to review every new card.

We gratefully acknowledge All of Us participants for their contributions, without whom this research would not have been possible. We also thank the National Institutes of Health's All of Us Research Program for making available the participant data examined in this study. This study used data from the All of Us Research Program's Registered Tier Dataset v9.

12 / 12