OverRead OverRead

A quiet feature tour.

OverRead is a Windows reading-room suite for diagnostic radiologists. Hotkeys, clinical calculators, PACS measurement capture, and a live worklist. Scroll through to see the headline moves.

Scroll to begin

Scene 1 · The tray

Lives quietly in the system tray.

One tray icon. One right-click for everything. Tray menu opens Settings, switches profile, reloads the suite, or fires Setup to capture your window layout.

app/Core/ui/tray_menu.ahk · A_TrayMenu

12:34 PROFILE: ADAM Settings… Toggle Button Bar Impression ▸ Link ▸ Reload

Scene 2 · Calculators

One hotkey opens a structured recommendation.

Five clinical calculators ship with the suite: Fleischner, Adrenal, Pancreas, Thyroid TI-RADS, Lung-RADS. Each parses the dictation context, asks for what's missing, and types a structured impression back into PowerScribe.

app/Core/calculators/*.ahk · #Include into OverRead.ahk

PowerScribe 360 | Reporting FINDINGS: 5 mm solid pulmonary nodule, right upper lobe. IMPRESSION: Ctrl + Alt + F → Fleischner FLEISCHNER 2017 CT in 6–12 months. 5 mm RUL solid nodule. CT in 6–12 months (Fleischner 2017).

Scene 3 · The PACS bridge

A measurement jumps from PACS to dictation.

Drop a measurement on an image in PACS. One hotkey types the value plus series/image reference at the PowerScribe cursor. The bridge crosses one localhost seam — only modality, geometry, and numbers ever leave the PACS process.

overread.htm + overread_server.py :8899 + overread_bridge.ahk

PACS · Series 3 · Image 15 5.4 mm ^!I PowerScribe 360 FINDINGS: There is a 5.4 mm nodule in the left upper lobe (series 3, image 15).

Scene 4 · Auto-priors

Priors fill in on report open.

When PowerScribe opens a report, the in-process RadWhereCtrl event fires ReportOpened. The PACS plugin looks up the accession, formats the comparison dates, and types them straight into the dictation field. No clipboard. No keystroke.

overread.htm · <object classid="clsid:c1fa1a92-068c-411f-bf7f-66de29f51a22">

event ReportOpened fired Report draft COMPARISON: CT abdomen and pelvis 2025-11-04. MR brain 2025-08-22. US right kidney 2024-12-18. FINDINGS:

Scene 5 · The worklist

Live counts in your pocket.

The dashboard PWA runs at dashboard.overread.app. Total unread on a radial gauge, color-coded modality cards, moonlighting alerts. Polls a Cloudflare Worker every 60 seconds; the workstation publisher posts updates from a single hospital machine.

overread-dashboard repo · D1-backed auth, passkeys, Web Push

9:41 Premier Imaging worklist 287 TOTAL UNREAD CT 82 MR 58 XR 147 CT moonlighting · OPEN VOLUME TODAY

Scene 6 · The push

When a modality opens, your phone tells you.

The publisher computes a per-modality moonlighting state with hysteresis. The Cloudflare Worker diffs the new state against the old one and fans out Web Push notifications — VAPID-signed, AES-128-GCM encrypted — to every subscribed device that opted into that modality.

Relay worker · /api/dashboard · RFC 8291 / 8292 inline crypto

9:41 9:41 Wednesday, May 15 OVERREAD · now CT moonlighting OPEN 82 studies. Tap to view.

Scene 7 · PHI policy

PHI never leaves the workstation.

Patient names, MRNs, DOBs, and accession numbers stay in PACS and PowerScribe memory. Only modality, dates, measurement values, and annotation geometry cross any seam. A filename allowlist in the localhost server is the literal gate.

app/Link/overread_server.py · ALLOWED_FILES

ALLOWED · NON-PHI • modality • dates • series / image numbers • measurement values • annotation geometry crosses the localhost seam PHI · STAYS IN PACS • patient name • MRN • date of birth • accession number never written to disk never crosses the seam