Stroke is a lean, deterministic browser workspace. Encounter opens immediately; the secondary tabs are Protocols, Trials, Evidence and Calculators.
The public build is a synthetic demo. Do not enter PHI, identifiers, real encounter details or confidential information. It is not an approved clinical tool, medical advice, or an institutional system.
- Case bar (every tab). Once anything is entered, a pinned bar shows the diagnosis, LKW/discovery elapsed time (h:mm) with the 4.5 h and 24 h references, NIHSS (or GCS for hemorrhage), BP, glucose, weight, thrombolytic dose arithmetic and any anticoagulant, with contextual BP-target/reversal links and one-tap Copy of the current note. Copy regenerates the note from the current entries; the identifier guard still blocks it when flagged text is present.
- Global search.
Ctrl/⌘ Kor/searches navigation, protocol sections, the bedside quick reference, calculators, Evidence topics and study summaries, and external references. - Encounter. Four steps: context/baseline/timing, examination/imaging, safety and decision review, documented actions/monitoring/handoff. Phone-consult entries come first (diagnosis, age, sex, weight with a kg|lb toggle, one LKW row with Now, split systolic/diastolic BP, glucose, CT review). NIHSS is tap-to-score (or keyboard 0–4/U, Delete clears) with a reported-total alternative, explicit "set unentered items to 0", and UN items excluded and counted. Vessel imaging is multi-select. Results are tone-coded (value, caution, critical, complete). Embedded GCS, ICH volume/score, renal and lytic-dose calculations; unknown and invalid inputs remain unresolved, and arithmetic never establishes eligibility.
- Notes. Telephone Pulsara summaries, full video Epic notes and optional follow-up, progress, discharge, transfer, team handoff and procedure formats share one pipeline. Every exported time is local wall time (a UTC offset is added only for a repeated daylight-saving hour). Notes carry the disabling-deficit judgment, weight, calculated dose beside a recorded administration, and the ICH score.
- Protocols. A bedside quick reference (dose by weight, BP targets by phase, anticoagulant reversal, post-thrombolysis sICH, angioedema, malignant edema, supportive care) sits above the protected ischemic and ICH example protocols, drug modals/PocketCards and the external Telestroke Map. The protocol IVT card is held whenever Encounter anticoagulant exposure is not explicitly "none" or entered labs exceed IVT thresholds, and the banner states why. Protected-content corrections are documented in source limits.
- Trials. Screener, criteria tables and registry database for 16 profiles (14 screened, 2 reference-only), re-verified against ClinicalTrials.gov on 2026-10-17. The screener can import Encounter facts on request, has a key-facts strip, compact result cards and a copyable screening summary. Registry summaries do not establish enrollment or local activation.
- Evidence. 92 topics in nine sections with on-call/hospital/clinic filters. Each topic opens with a bedside bottom line; high-yield topics add 80 verbatim guideline recommendations with class/level chips. 88 study summaries carry a one-line headline; search understands clinical aliases (AFib, tPA, TNK, DOAC, LVO, MeVO, EVT/MT, IVT). Sources and provenance are collapsed by default. Content loads from one version-matched offline endpoint.
- TIA disposition review projects explicit findings and workup/follow-up fields; it never clears a person for discharge.
- Privacy. Session state survives navigation; reload or a confirmed New encounter clears it. No persistence, census, imports, patient-context URLs, AI submission, analytics or backend integration. Telestroke Map, UpToDate Expert AI and OpenEvidence links at the top of every page pass no Encounter data.
- PWA. Theme/install/update controls in More, local runtime dependencies and atomic opt-in updates.
Sixteen source-linked worksheets and descriptor aids are available in Calculators and score live once every required item is answered (an explicit attestation is required only to write a score into Encounter): ABCD², CHA₂DS₂-VASc, HAS-BLED, RoPE, PASCAL, PHASES, mRS, Hunt–Hess, WFNS, regional ASPECTS/pc-ASPECTS, PHQ-2, STOP-BANG, modified Fisher, mTICI and NASCET. Shared measurements come from Encounter; ABCD² separately records the first blood pressure after the TIA, independently of current treatment-review BP; reviewed applications and screening exports invalidate after source edits. Optional Encounter sections support follow-up, progress, discharge, transfer, compact team handoff and procedure documentation through one generation pipeline. Discharge NIHSS and mRS are separately recorded; repeated local times require an explicit occurrence before elapsed-time or monitoring calculations, and reversed EVT events carry a review warning; explicit timestamp shortcuts preserve manual editing and never attest administration. Calculator search covers names and abbreviations; copying a complete worksheet result includes its source and limits.
The old bulk recommendation extraction, withdrawn prediction tools, teaching PDFs/graphics, simulators and their content-generation machinery remain retired. Useful guideline/statement source coverage is available in Evidence. Legacy guideline/reference root routes now open Evidence; other retired routes explain retirement. Supported calculator deep links reveal their embedded tool. No hidden archive library is shipped.
The curated clinical-reference dataset is maintained separately in src/reference/*-topics.json, expanded-*.json and studies.json; coverage.json maps all 110 archived guideline/statement documents to the appropriate current topic. study-sources.json restores all 273 citations associated with the 264 original study records as searchable bibliographic links, plus 9 citations added on 2026-10-03 after abstract verification. Their PubMed identities and indexed notice relationships were checked on 2026-10-01; source-only access notes do not claim that historical outcomes were re-reviewed. Topic recommendations quote the archived full-text guideline transcriptions (reviewed 2026-09-30) and cite the recommendation ID and page. scripts/reference-data.mjs produces one canonical projection for validators, tests and generation. Calculator presentation definitions share this versioned download rather than being duplicated in browser JavaScript. The 110 archived PMID/DOI pairs were checked against live NLM metadata; bibliography verification does not revalidate their prior recommendation extractions. Source-check dates identify the actual access scope (official summaries, abstracts or selected full text); they are not a complete clinical certification or an update to protected protocols. Some correction bodies remain inaccessible, including PRESTIGE-AF, SWITCH, ENCHANTED2/MT, CADISS and CLOTS 3; the cards disclose their individual access limits. Bibliographic coverage is distinct from complete clinical synthesis.
The active evidence closure has 10 recommendation records, 12 evidence claims and 43 citations, plus canonical shared clinical statements and the protected literal exceptions. Six selected source projections preserve original review/correction provenance. Missing review dates remain missing; builds and retirement dates are not clinical reviews.
data/index.json, data/clinical-reference.json, data/trials.json, data/sources.json, data/calculators-index.json, llms.txt and the bounded MCP tools describe the maintained scope. Former corpus endpoints return explicit schema-2 retirement envelopes with null data, replacement and archival pointers. This is an intentional compatibility change; consumers must inspect _meta.status. See content maintenance, clinical trace, MCP and source limitations.
Scoped clinical correction: the owner authorized correcting the two protected ICH factor-Xa drug-removal passages on 2026-10-01 using primary drug-label evidence. Only the affected four snapshot lines were updated. See source limitations for accepted wording and provenance; other protected content and review dates are preserved. This resolves the named release gate without claiming clinical certification.
npm ci
npm run build:prod
npm run publish:stage
npm run test:unit
npm test
npm run test:mcp
npm run test:protocol-snapshot
node scripts/qa-upgrade.mjsUse a current Chrome/Edge, Firefox or Safari browser. The bundle targets ES2020 syntax; the application already relies on newer native browser APIs such as Object.hasOwn. A syntax target does not provide API polyfills, and obsolete browser versions are not validated.
The production artifact is explicitly staged in output/site. The browser build generates preload links only for the static Encounter dependency graph; deferred surfaces remain deferred, and hashed links are refreshed with each build. Pages currently publishes the repository root via Jekyll; generated _config.yml exclusions limit that output to the same public roots. check:retirement prevents retired source/assets from returning to the module graph or public artifact. Private bundles require STROKE_BUILD_TARGET=private and STROKE_BUILD_OUTFILE outside the deployed tree; the build refuses to overwrite public artifacts. That flag does not supply clinical approval or enable persistence.
Required guards cover clinical-source tracing, bounded schemas/citations, leak prevention, public builds, retained protocols, module checksums, asset budgets, synthetic state/summary behavior, PWA updates and rendered browser workflows. Protected snapshots and the Telestroke link baseline are not blanket-regenerated. Only four ICH snapshot lines reflect the owner-authorized drug-removal correction. Retired test consumers have explicit inventories and replacement guards; see tests/CALCULATOR-TEST-RETIREMENTS.json and docs/retired-maintenance.json.
IMPLEMENTATION.md records exact before/after measurements, validation checkpoints, release context and limitations. The release PR and its linked Actions runs establish the final deployment state. Browser viewport/offline checks simulate devices; they are not physical iPhone/Android validation or accessibility certification.
Open the site, then More → Install App, or use the browser's installation menu. Shortcuts open Encounter or Protocols. Offline core use requires a successful complete online cache installation; an uncached first visit requires network. Updates never automatically reload an active session. See PWA behavior. Existing optional Capacitor distributions remain in the repository; native builds were not changed or certified by this redesign.
The immediate rollback point is commit dc9b87fa741d4867d5812a0914a3663314427ed1 (7.7.13) on main; 7.7.12 is c15b80714c1b7cbfdbc1c21709fb50949f851087, 7.7.11 is 17076aad3ac61c0222c55d9e17a72b23fe5cec77, 7.7.10 is 43fb1a5021d9d7b7763d28ec21a3da22baa8eec3, 7.7.9 is 07e270f3a701c551cb09093e462b10d197fb21c7, 7.7.8 is 1b261e7931e371640a8150b64e9ddeccefaf2323, 7.7.7 is 741658276aa86fe957882e05202cfd8dbe917576, 7.7.6 is 6a1774f8bce14e1612472df4830800b7bd3b34de, 7.7.5 is f2fac1cc5e1bdfe6e7c54e67ee409e46c7b14422, 7.7.4 is 36febd79aeea1af6f097e913f3ef7d766a62c3ab, 7.7.3 is fa475f6908d7c8a342556caed8eb09485308287b, 7.7.2 is d04df878c5cb3b7bd833e5be4a9325dd8f260c64, 7.7.1 is 509d012f7eb2c088ed5ba86dc796a87604ed3a00, 7.7.0 is 6472d236d3910ae8b6caf4dbf8097122171a9dd5, and the pre-review point c48733186f3f81f690dee3c582bf4d8f5d5da899 (7.6.5) and the earlier ref archive/pre-timing-review-20261002-adb81c2 (7.6.4) remain available.
The complete committed prior application is preserved at archive/pre-encounter-first-20261001-4f8e99d, commit 4f8e99de9f605327bb901d0585f279cc7ebcd12e (6.30.7). Rollback requires a reviewed forward commit restoring that tree, then a new coherent app/cache version, production build and normal checks/release. Reusing an old worker version is insufficient for clients already running 7.x. This deployment rollback has not been executed; the baseline-to-new-version update/failure path is tested separately. An already-open old page or permanently offline device cannot be remotely guaranteed to update.