Our TOPx submission
Undiagnosed No More: finding the patients the health record misses
Our entry to the HHS/NIH TOPx Tech Sprint, Invisible Illness track, as submitted on October 15, 2026, in the category Data & AI Solution. Each heading is a question from the submission form, and the text under it is our answer.
Describe your Team / Proposed Solution
Team Undiagnosed No More (UNOM)
- Amir Asiaee, PhD, Assistant Professor, Department of Biostatistics and Biomedical Informatics, Vanderbilt University Medical Center ([email protected]): team lead, machine learning models, and All of Us analyses.
- Kaveh Aryan, PhD, Postdoctoral Researcher, Department of Informatics, King's College London ([email protected]): clinician and patient applications, and EHR integration.
The problem. Nine invisible illnesses are often missing from the health record even after a clinician names them, and a patient without the code is invisible to referrals, quality programs, trials, and research. In the NIH All of Us Research Program, about 1 in 9 adults who ever had Long COVID carry its code, and women's Long COVID is coded 0.79 times as often as men's. Among people in care for a diagnosis they report, 24% with ME/CFS, 39% with Lyme disease, and 41% with endometriosis have its code, against 85% and 87% for hypertension and type 2 diabetes.
What we cover. Nine invisible illnesses in five families: infection-associated chronic illness (Long COVID, ME/CFS, Lyme disease), autoimmune (lupus), chronic pain (fibromyalgia, migraine), women's health (endometriosis), and mental health (depression, anxiety). For every one of the nine, UNOM provides four things:
- A coded share: how often people who say a clinician diagnosed them actually have that diagnosis code in their health record, measured in the NIH All of Us Research Program.
- A predictive model: a machine learning model, built from health record data, that flags charts that look like those of people with the illness.
- A clinician card: a summary inside the health record that shows a patient's estimate, the record entries behind it, and what to check next.
- An Atlas page: maps and charts of who goes uncoded, by state, sex, age, and race and ethnicity.
Six of the nine also have questionnaires in the patient app.
How it works. U.S. government data trains the UNOM AI models, and the models serve four kinds of users. We first describe the data and the models, and then what each user does with them.
The data. Four U.S. government sources:
- The NIH All of Us Research Program: health records linked to survey answers, and Fitbit data. We study it only inside its secure Researcher Workbench, and only privacy-checked aggregate results leave it.
- The CDC: the Household Pulse Survey, the National Health Interview Survey, NHANES, and Lyme disease surveillance, for how common each illness is and where.
- The U.S. Census Bureau: county population, to turn case counts into rates.
- CMS: Medicare physician payments, to put a price on missed diagnoses.
The CDC, Census, and CMS data are public files.
The UNOM AI models. Nine machine learning models share one scoring engine.
- Each model is trained outside the All of Us Workbench from its released aggregate counts, so no individual's data ever leaves it.
- Eight models learn from patients' own reports that a clinician diagnosed them. They learn to find people whose diagnosis was never coded, and on all eight they rank those people higher than models trained on diagnosis codes. The Long COVID model learns from a later Long COVID code.
- Given a patient's health record, the scoring engine returns the estimated chance of the pattern, how that compares with the average patient, a band (typical, elevated, or high), and the dated record entries behind it. The same engine runs in the clinician app, the EHR integration service, and the developer page, so the same chart gets the same result everywhere.
The four users. We built UNOM for clinicians, patients, public policy makers, and developers. Each has its own door on the website.
For clinicians (Clinician app). A primary care clinician sees a patient with fatigue, pain, or new symptoms after COVID-19 and no diagnosis that explains them.
- The clinician opens UNOM from inside the electronic health record (EHR), with no new login. It launches through SMART on FHIR, the standard way to plug an app into an EHR, and runs today against the public SMART sandbox. On the website, the same app runs on synthetic charts.
- UNOM reads the patient's chart and checks it against all nine models. "Needs review" lists the conditions whose pattern stands out.
- For each condition, a card shows the band (typical, elevated, or high) and how this patient's estimate compares with the average patient's (for example, 4 times the average). It lists every dated entry behind the estimate (a diagnosis, a lab test, a prescription, a visit), with an arrow and a bar showing how much that entry raises or lowers the estimate. It shows the published diagnostic criteria to check, such as the 2024 National Academies definition of Long COVID, and a concrete next step, such as a post-COVID clinic referral, CDC's two-step Lyme test, or an ANA blood test for lupus.
- If the patient has filled in the patient app, the answers update the estimate through published likelihood ratios.
- A health system can also receive the same cards automatically through a CDS Hooks service (a synthetic-data prototype).
For patients (Patient app). A person with long-lasting symptoms wants to prepare for a visit and be taken seriously.
- They open the patient app on a phone or computer, in English or Spanish. There is no account and no tracking, and the answers stay on the device. A caregiver can answer for someone else.
- They answer validated questionnaires: the NIH RECOVER symptom questions, the DePaul questions on crashes after activity (post-exertional malaise), the PCFS daily-life scale, a symptom timeline, and self-checks they choose (Long COVID, ME/CFS, fibromyalgia, Lyme disease exposure, the PHQ-9 for depression, and the GAD-7 for anxiety).
- The last page is a color-coded summary, one card per questionnaire, that says how the answers compare with the published criteria and what to discuss with a clinician. It is not a diagnosis.
- They print a visit summary, or download it as a FHIR QuestionnaireResponse, a standard file clinic software can read. With Send to my clinician, they open the clinician view with their answers attached and see the estimate change. In "Try it yourself" mode, anyone can type their own answers and attach them to a patient's chart.
- They can see which patterns in a health record are common in people diagnosed with each illness. Today the app runs our nine models on a record, on the device, and explains the patterns in plain words. Connecting a patient's own record is planned, through the patient-access connection the 21st Century Cures Act requires health systems to offer.
- They can search ClinicalTrials.gov for studies recruiting now. Only the condition and the place are sent.
For public policy (Atlas). A health department, payer, or policy maker wants to know who is missed and what it costs.
- They pick one of the nine illnesses.
- They see the coded share by state, who goes uncoded by sex, age, and race and ethnicity, what else is in the records of people with the illness, and their Fitbit activity and sleep where available.
- For Long COVID, a cost calculator estimates the clinician time per patient found by a two-step screen, and they can change every assumption.
For developers (Developer documentation). An EHR vendor, a health system's IT team, or a researcher wants to run or check our models.
- They download the nine versioned model files, each with a model card (what it predicts and for whom) and a hash that confirms the file.
- They run the scoring engine in their own code, or try it in the browser on any of 18 synthetic test patients, and compare the results with 180 expected outputs.
- They connect an EHR through the documented SMART on FHIR launch, or by calling the CDS Hooks service.
The patient's voice changes the clinical picture. In the clinician app, a patient's answers update the estimate through published likelihood ratios. Maria's Long COVID is 6.1 times the average from her chart alone and 15.4 times with her answers. With "Try it yourself" and Send to my clinician, anyone can type their own answers and watch them move a patient's estimate.
Lived experience. We learned from the ME/CFS patient advocates who spoke in the TOPx Invisible Illness sessions and from a Lyme patient survey shared with sprint teams: patients are disbelieved even with test results, many are too sick to argue their case, visits are short, and patients rebuild their history before every visit and want to approve what is shared. The clinician flag with its evidence, the visit summary the patient approves, the caregiver mode, and the sources on every card answer those points.
Evidence. Four papers (preprints submitted for journal publication) document the coding gaps, the models, and the system. They are linked from the About page.
Live demo, prototype, or working product
Everything runs now, with synthetic patients only and no login.
- Home: https://undiagnosednomore.org/
- How the demo meets each TOPx criterion: https://undiagnosednomore.org/challenge/
- For patients (Patient app, English and Spanish): https://undiagnosednomore.org/patient/
- For clinicians (Clinician app, with its SMART on FHIR launch): https://undiagnosednomore.org/clinician/
- For public policy (Atlas): https://undiagnosednomore.org/atlas/
- For developers (models, scorer, CDS Hooks service, test patients): https://undiagnosednomore.org/developers/
- About (data sources, conditions, AI models, four papers, team): https://undiagnosednomore.org/about/
- Watch (a 4-minute walkthrough video with transcript, the slide deck, and a 30-minute tutorial with chapters, being added): https://undiagnosednomore.org/walkthrough/
Access instructions
No account or login is needed, and every patient is synthetic. Start at https://undiagnosednomore.org/challenge/: it follows the four criteria in this form and links each point to the part of the demo that shows it.
- For clinicians: open https://undiagnosednomore.org/clinician/ and pick Maria, Elena, Sofia, or Dana. "Needs review" lists the flagged conditions (Maria: Long COVID). Hover a bar or an underlined number for its explanation. The "Launch via SMART on FHIR" link opens the public SMART sandbox: choose any of the 18 test patients and the app reads that chart over FHIR.
- For patients: open https://undiagnosednomore.org/patient/. It opens on a synthetic patient's answers. Use "Try it yourself" for a blank form, then Send to my clinician from the summary to see your answers move a patient's estimate. Answers stay in your browser. Switch to Spanish with "EspaƱol" at the top.
- For public policy: open https://undiagnosednomore.org/atlas/ and pick a condition.
- For developers: https://undiagnosednomore.org/developers/ lists the model files, runs the scorer in the browser on any test patient, and sends example requests to the CDS Hooks service.
- To see everything in a few minutes: https://undiagnosednomore.org/walkthrough/ has the 4-minute walkthrough video and the slide deck.
- Works in current Chrome, Edge, Firefox, and Safari, on desktop and phone.
Results for the American People
Millions of Americans live with an illness their record does not show. In the NIH All of Us Research Program, about 1 in 9 adults who ever had Long COVID carry its code, and women's is coded 0.79 times as often as men's. Of people in care for a diagnosis they report, 24% with ME/CFS and 41% with endometriosis have its code, against 85% for hypertension.
UNOM turns data the government already collects into public tools for nine invisible illnesses in five families (infection-associated chronic illness, autoimmune, chronic pain, women's health, mental health). From All of Us and public CDC, Census, and CMS data, we built nine machine learning models and made them free to download. The same models serve everyone: clinicians see flagged illnesses with their evidence inside the health record, patients use them in a free app, policy makers see who goes uncoded in the Atlas, and developers can build them into their own software.
Patients answer validated questions, in English or Spanish, on their own device, then print or download a summary that brings their clinician up to speed. Their answers can change the estimate substantially: in our Long COVID example, from 6.1 to 15.4 times the average. Patient advocates told the sprint that patients are disbelieved and too sick to argue, so the evidence goes to the clinician, and the patient approves the summary before sharing it.
Data, Tech & Evidence Driven Approach
UNOM connects U.S. government data no single source links. The NIH All of Us Research Program links survey answers to health records for 161,480 adults, showing who reports a diagnosis the record never coded, and follows 23,790 adults with COVID-19 across 54 record sites. Fitbit data add activity and sleep. CDC surveys and Lyme surveillance give prevalence and cases, Census gives county population, and CMS Medicare payments price the diagnostic odyssey.
The AI is nine open models sharing one scorer. A model trained on codes learns who gets coded, so eight of ours learn from patients' own reports of a clinician's diagnosis. On all eight they rank uncoded patients higher than code-trained models (AUROC 0.74 vs 0.67 for ME/CFS, 0.73 vs 0.64 fibromyalgia, 0.61 vs 0.53 endometriosis, 0.82 vs 0.65 lupus, 0.79 vs 0.54 anxiety). The Long COVID model, trained on later codes, reached AUROC 0.67, and 0.66 at held-out sites.
Four papers, submitted to JAMIA, JAMA Network Open, the Journal of Biomedical Informatics, and Applied Clinical Informatics, carry the evidence: (1) how much Long COVID goes uncoded and how early records predict its code, (2) how often ten self-reported diagnoses are coded by sex, age, race and ethnicity, and health system, (3) why patients' reports find uncoded patients better than codes do, and (4) how the system was built and tested.
The technology is built on health IT standards: HL7 FHIR R4 records coded in ICD-10-CM, LOINC, RxNorm, SNOMED CT, and CPT, SMART on FHIR to open inside an EHR, CDS Hooks to send cards to an EHR, and FHIR questionnaires from the patient app. One JavaScript scoring engine runs in the apps and the CDS Hooks service, and matches a Python reference on all 180 expected outputs.
Execution, Efficiency & Delivery
UNOM can be deployed today without new research or new infrastructure. The clinician app installs in an EHR as a standard SMART on FHIR app and already runs in the public SMART sandbox (registered with Epic and athenaOne, sandbox access pending). A CDS Hooks service sends the same cards to an EHR. Charts are scored in the browser and patient answers stay on the patient's device, so no health data is stored on our servers, which shortens a hospital's security review.
It delivers value at the point of care. Each card turns a chart into a decision: the evidence, the criteria to check, and a next step, such as a post-COVID clinic referral, CDC's two-step Lyme test, or an ANA test for lupus. Earlier recognition can shorten a costly odyssey: before their Long COVID was coded, All of Us patients had 6.6 more outpatient and 0.4 more emergency visits than matched post-COVID patients, about $900 each, and early chart data flagged them a median of 55 days before the code. A two-step screen costs about $116 of clinician time per patient found.
It reaches every user, even before a hospital adopts it. Patients use the patient app in any browser, with no account or install, and take its summary to their visit. Anyone can look up an illness in the public Atlas. Developers can download the free model files and the scorer and build them into their own tools. Automated tests check every result.
Scalability, Reuse & Societal Impact
Adding a new illness to UNOM is easy. It takes one new model file, built with the same pipeline from the same list of standard codes, and a clinician card for it. The same scorer then runs it in every app. POTS or post-treatment Lyme disease could be next.
UNOM runs on the standards that certified EHRs must support under the 21st Century Cures Act: SMART on FHIR, USCDI data, and CDS Hooks. Because the models are fit from aggregate counts, the VA, IHS, CMS, or any research network could build and share models the same way without moving patient data.
Everything is free to reuse. Developers can download the model files with their model cards, the scoring library, the CDS Hooks service, and test patients, and build UNOM into their own tools. Policy makers and researchers can use the Atlas to see who goes uncoded for each illness, by state, sex, age, and race and ethnicity.
Its main societal impact is giving patients a voice. In the patient app, people check their symptoms against published criteria and see which health record patterns our models look for. Their answers to validated questionnaires update the model's estimate, so their own account counts next to the chart. They print or download a summary in a standard format clinic software can read and share it with their clinician. They come to a hard visit informed and prepared, without retelling their history.