Outpatient Synapse — tab mockups

Shareable with Neha. Exam tab, Imaging/results with longitudinal labs, and the scale drill-down you asked for. Plus the real scale-catalog state, which is not what any existing doc says.

First — three things I told you that were wrong

1. "MoCA is already in production, live compliance question." I said this three times and pushed it as urgent. You: "there's nothing actually shipped, just to be clear. This is all in data testing, just drafts." That kills the urgency entirely. MoCA licensing is a normal pre-launch item, not a fire. I manufactured a clock that doesn't exist.

2. "ALSFRS-R and MG-ADL aren't built — add them." They're both already in sevaro-scribe-companion on main, added in commit 55a76aa. And they're already classified 'history', with the reasoning spelled out — "patient-reported symptom-burden questionnaire". Someone applied your rule and reached your answer before either of us discussed it.

3. The "18 shared / 7 / 10" ledger I quoted is stale, and so is the byte-identity claim in SCALE_CATALOG.md. Both were true on 2026-07-06 and aren't now.

The pattern: all three came from reading one repo and generalising. I checked origin/main in every repo this time rather than whatever branch happened to be checked out — the working copies are all sitting on stale feature branches, which is what fooled me.

You asked me to reconcile

The real state of the three catalogs

Read from origin/main in each repo, just now. Companion has quietly become the superset.

neuro-plans-v2
scales-enhanced.json
28
declared canonical
Has 8 nobody else has. Missing 11 the code has. Canonical in name only — it is not a superset.
sevaro-evidence-engine
scale-definitions.ts
31
SEE main
A strict subset of companion. Has nothing companion lacks — so bringing it level is purely additive.
sevaro-scribe-companion
scale-definitions.ts
38
companion main — the superset
Ahead by 7: ALSFRS-R, MG-ADL, WFNS, House-Brackmann, Hughes GBS, CAM-ICU, RASS.
The drift-freeze is protecting a claim that's already false

SCALE_CATALOG.md says SEE and companion are byte-identical, and a CI job guards each file's hash. They differ by 604 lines and 7 scales on main today. Each repo's hash guard is working perfectly — it stops silent drift within a file. Neither guard compares the two repos to each other, so they've drifted apart loudly, in commits, and no check noticed.

The three-way diff

SetnScalesAction
All three20 The shared core — PHQ-9, GAD-7, MIDAS, HIT-6, MoCA, ESS, NIHSS, ABCD2, Mini-Cog, H&Y, EDSS, CHA₂DS₂-VASc, HAS-BLED, GCS, mRS, Barthel, Hunt-Hess, FOUR, ICH, STOP-BANG ALIGNED (ids/counts still differ)
Companion only7 alsfrs_r, mg_adl, wfns, house_brackmann, hughes_gbs, cam_icu, rass Port to SEE. Purely additive
Code, not np211 dhi, dn4, isi, odi, ndi, modified_ashworth, updrs_motor, ecog, race, stess, four_at Backfill into np2. These are the outpatient ones
np2 only8 fisher, modified_fisher, mmse, mrc_sum_score, mgfa, schwab_england, ranchos_los_amigos, gbs_disability Per-scale call — see below
SEE only0—NOTHING TO DO
Three things that fall out of that table

Hughes GBS and gbs_disability are the same scale. Companion calls it Hughes, np2 calls it GBS Disability. It looks like a gap on both sides and isn't — it's a rename. That's one of eight "np2-only" scales evaporating on inspection, which is a fair warning about the other seven.

MMSE is on the np2-only list — so dropping it is a one-repo edit, not three. Easiest item in this whole document.

Reconciliation isn't one job, it's three. SEE←companion is mechanical (additive, zero conflicts). np2←code is a backfill of 11. code←np2 needs your per-scale calls — and I'd argue most of them are no: Fisher, modified Fisher, Rancho, Schwab-England and WFNS are SAH/ICU scales that don't belong in an outpatient picker. That's not divergence to fix; it's np2 carrying inpatient scales the outpatient product shouldn't show.

Your UPDRS question — answered, and you won't like it

You asked which one you have. It's labelled UPDRS Part III but it is the MDS-UPDRS. Three independent tells: it cites "Goetz CG, et al. Movement Disorder Society-sponsored revision of the UPDRS. Movement Disorders. 2008" — that's the MDS revision paper; its items are numbered 3.1 Speech, which is MDS numbering, not the original's; and it models 33 items, the MDS Part III count.

So the licensed one is in the catalog wearing the unlicensed one's name. Nobody did anything wrong — UPDRS-III is what everyone calls it colloquially. But it means "we'll use whichever one you think we have" resolves to the one that needs MDS permission. Either get permission, or rebuild it as the original UPDRS Part III, or drop Parkinson's motor scoring. Given nothing's shipped, this is a cheap fix now and an expensive one later.


Mockup 1

Physical exams

You: "Should we give a baseline? We build a nice generic one that would be helpful for just telemedicine, recognizing the limitations… It would give them one, but they can edit it to make it their own voice."

History
Imaging/results
Physical exams
Recommendation
🩺
Sevaro tele-neuro exam — the shipped default. Reflexes, fundoscopy and fine sensory are omitted: not reliably assessable on video.
Edit to my voice
Save as mine
Examination
Optional
Free text exam
Clickable exam
+ NIHSS
+ MoCA
+ EDSS
+ UPDRS-III 🔒
🔍 Search exam scales…
Alert and oriented to person, place, time and situation. Language fluent without paraphasic error. Pupils equal and reactive. Extraocular movements intact. Face symmetric. Motor: right arm 4+/5 with pronator drift, otherwise 5/5 throughout. Sensation grossly intact to light touch. Finger-nose-finger intact. Gait mildly wide-based, unsteady tandem.
🎤 ⚡ ✨
↳ Click any underlined normal to negate it — it asks what the abnormal is, then rewrites the prose. Two clicks produced both highlights above.
Default template ships filled. Editable to your voice. Per-visit you touch only exceptions.
Why shipping a default is the right call — and does more than save typing

An empty template is a blank page, and a blank page is why "author your normal exam" has never happened. Shipping one means the feature works on day one for a physician who never opens settings, and editing-to-taste is a much smaller ask than composing from nothing.

Your "recognizing the limitations" is the part I'd emphasise most. A Sevaro default that silently asserts reflexes would be documenting an exam nobody can do over video — and you already said it: "reflexes on video are like worthless." Dr. Peeyoosh agreed: "I never got them right, ever." So the default omits reflexes, fundoscopy, and fine sensory by construction. The default template is a clinical-safety artifact, not a convenience. It's the one place you can make the honest thing the easy thing — and if someone wants reflexes, they add them deliberately, which is exactly the right friction.

Which scales appear here

Of the 38 in companion, most are acute. The exam tab should show the exam-classified, outpatient-relevant ones — eight, not thirty-eight:

Exam scaleForNote
NIHSSStroke follow-upFREE
MoCACognitiveMA administers · training
Mini-CogCognitive screenFREE
EDSSMSFREE
UPDRS-IIIParkinson'sMDS-UPDRS 🔒
Hoehn & YahrParkinson's stagingFREE
DN4Neuropathic painFREE
Modified AshworthSpasticityFREE
House-BrackmannFacial palsy — Bell'sIN COMPANION
MRC-SS, MGFANeuromuscularnp2 → backfill

GCS, Hunt-Hess, FOUR, ICH, RACE, STESS, 4AT, CAM-ICU, RASS, WFNS stay out. They're inpatient and ICU scales. They can live in the catalog and never appear in an outpatient picker — which is an argument for one catalog with a surface filter, rather than separate catalogs per app.

TWSTRS — withdrawing it

You said you'd never heard of it. That's the answer: it's a cervical-dystonia severity scale used by movement-disorder specialists running Botox clinics. If it's not in your vocabulary it's not in your workflow, and my research over-indexed on completeness rather than on what Sevaro's neurologists actually do. Dropping it. Same instinct applies to anything else on my earlier list you don't recognise — that's a signal about the list, not about you.


Mockup 2

Imaging / results — with longitudinal labs

History
Imaging/results
Physical exams
Recommendation
📌 Pinned — your bookmarks, not shared
CSF oligoclonal bandsPositive — 6 unique bands11/03/2018
Diagnostic imaging
Optional
MRI
CT
Vascular
Nuclear / PET
🔍 Search all imaging…
MRI — select study
Brain — MS protocol
Brain
Orbits
C-spine
MRV
MRI brain — MS protocol
09/18/2025
Two new T2 hyperintense lesions, periventricular. No enhancing lesions. Stable burden otherwise.
🎤 ⚡ ✨
Labs — followed
4 tracked TABULAR
Lab11/17/2405/02/2511/08/2501/16/26
JCV antibody index
index
0.310.42 0.881.62 ↑
Vitamin D, 25-OH
ng/mL
1824 3141 ↗
ALT
U/L
2226 2421 →
WBC
K/µL
6.25.8 —6.0 →
Labs — free text
Optional
CMP unremarkable. TSH 2.1. B12 480 with normal MMA.
🎤 ⚡ ✨
↳ Select any value → 📈 Follow to promote it into the table, or 📌 Pin to bookmark it. Free text stays the front door.
Pills for entry. Followed labs get a row. Everything else stays prose.

Mockup 3

The drill-down you asked for

You: "Sometimes I may want to see their individual components. Can I dig even deeper? So if I click on the score of 32 for the Midas… I want to see each of those components and trend those."

Yes. The score is a link; components trend underneath it. Same pattern the labs table already uses — a row per thing, values across time.

History
Imaging/results
Physical exams
Recommendation
Clinical scales
HISTORY-BASED
MIDAS14↓
PHQ-96→
ESS9→
mRS1→
🔍 Search scales…
MIDAS  ›  components
14
↓ 18 from baseline
Grade II — mild disability
32
27
19
14
07/13/2509/28/2512/06/2501/16/26
The 5 components — where the 18-point drop came from
1 · Days missed work or school
2
2 · Days productivity reduced ≥50% at work
5
3 · Days missed household work
3
4 · Days household productivity reduced ≥50%
3
5 · Days missed family / social / leisure
1
Flat throughout — the only component that never improved
Score → components → each trended. Two levels, no third.
The drill-down earns its build on that last row

The total says "MIDAS improved 32 → 14, treatment working." The components say something the total can't: work and household impact both fell, and social/leisure never moved. That patient is functioning at work and still not going out — which is a different conversation, and possibly a different intervention.

That's the argument for depth-2. The total is the quality metric you sell to a health system; the components are the clinical signal you use in the room. Different consumers, same data, and only one of them is served by the number alone.

I'd stop at two levels. Below the component is an individual answer at one visit, which is just the form you already filled in — no third level.


Your idea

What happens when someone searches for a scale you dropped

You: "If people search for them, say why we're not using them… if the clinician wants it, they could maybe say, can we subscribe to this one? That way people are looking for it a lot, we're keeping track of that… That's probably more than we're going to have in the MVP."

🔍 MMSE
Mini-Mental State Examination
Not available — this scale is commercially licensed and Sevaro doesn't hold a licence.
Use instead: MoCA or Mini-Cog — both available, and both more sensitive to mild impairment.
Use MoCA Use Mini-Cog Request MMSE anyway
Post-MVP. But it's the cheapest version of your "quorum" governance idea.
Worth more than it looks, and you should build the counter early

You're right it's post-MVP. But note what the "Request anyway" button actually is: your quorum process, turned into data. Instead of debating in a meeting whether a scale is worth licensing, you'd know that eleven physicians asked for MMSE this quarter and nobody asked for SDMT. That converts a recurring argument into a number.

The screen is post-MVP. The counter isn't — log the searches from day one. It costs almost nothing and it's the only way the data exists when you eventually want it. You cannot backfill a year of demand signal.


Decisions ledger — for Neha

DecisionDetailStatus
Master catalogOPSAmplehtml is the demo — ignore it. neuro-plans-v2 + SEE + companion reconcile to one. Companion is today's superset (38).STEVE
Exam vs history ruleDoes producing the number require a physical maneuver at this encounter? Examiner → exam. Patient reports → history.RATIFIED
mRS → historyAnd Barthel. Both interview-derived. Currently 'exam' in code. Melanie's ask.RATIFIED
Drop MMSELicensed + redundant vs MoCA/Mini-Cog. np2-only, so a one-repo edit.AGREED
Keep MoCAMA administers. Free for clinical use with training — build the education path.AGREED
Drop HIT-6, keep MIDASCommercially owned; MIDAS covers headache disability free. Open: confirm no payer mandates HIT-6 for Botox PA — Prachi's question.1 OPEN
UPDRS-III is MDS-UPDRSMislabelled. Needs MDS permission, or rebuild as original UPDRS, or drop.NEEDS CALL
No shared critical flagsPins are per-user bookmarks. Unpin/repin freely. AI summary may surface critical items instead.DECIDED
Ship a default examSevaro tele-neuro normal, editable to voice. Omits reflexes/fundoscopy/fine sensory by construction.DECIDED
No settings area"Save as my default" in place on the exam. Settings earns its way in later.DECIDED
Scale drill-downScore → components, each trended. Two levels, no third.DECIDED
Drop TWSTRSWithdrawn — outside Sevaro's workflow.WITHDRAWN
Vitals / fever chipsNever discussed in 3 hours. Still open.OPEN