Clinical polish: Work-style header, compact cards, one Compare tray, desktop layouts
User description
Summary
Before: Clinical mode looked different from Work mode. It had boxed headers and result strips, long therapy cards, a split Psychiatry home, separate compare controls on each list, and filters that hid rows. Desktop records filled one long column.
After: Clinical uses Work's header, title band and centred column. Lists are calmer and grouped. Therapy and Differentials rows are compact, and the Avoid / modify warning is still shown in full. Psychiatry has one Home page. There is one shared Compare tray, and filters highlight matches instead of hiding the rest. On desktop, DSM, Therapy and Act records sit beside their list, and a cited source opens beside the answer.
The owner approved this on 12 Oct 2026 from high-fidelity mockups ("go ahead with all your recommendations"). The filter change was approved separately in the Ward Flow ideas.
- Areas touched: App experience, Design system, Personal practice, Knowledge and records
- Item 1: the Clinical header gets glass controls and the pill names the area only. A ModeNav title sits above the tabs, and the column is 64rem from 1024 px. The new
src/app/clinical-mode.cssholds the styles. - Item 2:
SearchResultsHeaderBandis one plain line. DSM chapters are one grouped hairline card. - Item 3: compact Therapy and Differentials rows. "Best used for" and "Best fit" move into the record word for word. Therapy Review leaves the tab bar and is linked from Therapy search.
- Item 4: Psychiatry tabs are now Home and Saved.
?page=toolslands on Home. Medicines drops "Lives in Psychiatry". The First Nations entry is kept. - Item 5: the Differentials tidy-up. The count is never clipped, the Must-check shelf is gone (Emergent still leads), and scenario chips sit in one scrolling row.
- Item 6: a
SharedCompareTrayfor Therapy, Differentials and DSM search. - Item 7:
ClinicalSplitandDesktopSplitList, an Act topic list, and a docked answer source panel on desktop only. Phones are pixel-identical. - Item 8: recent questions show as a list, the Try line fits a 320 px phone, and the desktop shows one logo.
- Filters highlight instead of hiding, on Differentials, DSM and Therapy. A note reads "N of M highlighted, all rows stay" and has a Clear button.
- Favourites at 320 px with large text: the header goes to two rows and the content wraps.
- The Differentials compare dock now claims its phone band only once something is ticked (
compare-presence.ts).
Verification
- Checks run:
npm run test:focused(combined branch):Test Files 1 failed | 563 passed (564). The one failure was the pill-weight test's source anchor; it was fixed, andtests/mode-pages-sheet-classes.test.tsnow givesTests 4 passed (4).tsc --noEmit(combined branch): exit 0.- eslint
--max-warnings=0and prettier on the changed files: clean. check:organisation: every new file is placed.- Design-system adoption:
55 components, 232 roots. - Builders' focused browser proof: smoke and desktop split specs passed.
- Three Differentials, DSM and Tools browser tests failed against the dev server and were not proven to fail on base as well. The full browser suite is left to CI.
- UI verification not run: full
verify:uiandnpm run buildare memory-killed in this container; CI runs the browser suite.
Risk and rollout
- Risk: medium, layout and interaction across Clinical. No clinical wording, sources, urgency order or retrieval changed.
- Rollback: revert the merge commit.
- Provider or production effects: None.
Clinical Governance Preflight
- Source-backed claims still require linked source verification before clinical use
- No patient-identifiable document workflow was introduced or expanded without explicit governance approval
- Supabase target remains
PsychSift Production(sjrfecxgysukkwxsowpy) - Service-role keys and private document access remain server-only
- Demo/synthetic content remains clearly separated from real clinical sources
- Source metadata, review status, and outdated/unknown-source behavior remain conservative
- Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed
Presentation only. The Avoid / modify warning keeps its full text at every width. Emergent ordering is unchanged. Filtering now keeps every row visible instead of hiding the non-matching ones, which is the more conservative behaviour. No server, data or source code changed.
Notes
- This PR stays a draft. It is clinical, and only the owner sends it live.
- Known limits:
- The Therapy list's existing 24-row cap now applies per group.
- The therapy record's Cautions tile still clips with "Tap for detail", as it did before this PR.
๐ค Generated with Claude Code
https://claude.ai/code/session_01Nv6DEPtQxG5JfAUBa2Q1gc
Generated by Claude Code
Summary by cubic
Pulls Clinical mode into Work's visual language: the header takes Work's glass controls with a calm title band, Therapy and Differentials rows become compact, one shared Compare tray replaces the separate compare controls, and filters now highlight matching rows instead of hiding the rest. From 1024px a record opens beside its list, and a cited source docks beside the answer.
List and record changes
- Psychiatry's tabs are now Home and Saved; the split Ask/Tools pages merge into Home, and Medicines drops its signposts.
- Therapy and Differentials rows are compact; the Avoid / modify warning shows in full at every width, and "Best used for" and "Best fit" move into the record.
- DSM, Therapy and Act records show their list beside them from 1024px, with the current record marked; phones and upright tablets are unchanged.
- A cited source opens docked beside the answer on desktop, dismisses with Escape or its close button without touching browser history, and reserves answer-column room so it never covers the prose.
- Therapy Review leaves the main tabs and is linked from the Therapy search page; the 24-row cap now applies per group.
- Recent questions render as a list, the Try line fits a phone, and favourites wrap at large text on 320px phones.
Filtering and compare
- Differentials, DSM and Therapy filters highlight matching rows, keep the rest under "Not matching", show an "N of M highlighted" note with Clear, and announce changes through the shared announcer.
- Therapy, Differentials and DSM search share one Compare tray, which claims its dock band only once something is ticked.
- Therapy's tray lists each selection in a sheet with a 48px Remove button; the DSM tray keeps a ticked diagnosis title even outside the current results.
- The Differentials Search tab links the results route directly when a query is carried.
- Presentation only โ no clinical wording, sources, urgency order or retrieval changed.
CodeAnt-AI Description
Make clinical references easier to scan without hiding useful results
What Changed
- Filters in Differential, DSM, and Therapy search now put matching rows first while keeping other results in view under a โNot matchingโ or urgency-specific heading. A count explains how many are highlighted, and Clear removes the highlighting filters.
- DSM, Differential, and Therapy lists now use one Compare tray that names selected records, lets users clear the selection, and opens comparison when enough records are selected. On phones it sits above the search box or in the page footer; on wider screens it floats above the list.
- Therapy search uses compact rows with the full Avoid / modify warning visible. Best-use and fit details are shown in the therapy record, and the Review queue remains one tap away from search.
- On wide screens, DSM and Therapy records show a navigation list beside the record, and the Act page lists topics that jump to their sections. Cited sources open beside the answer instead of covering it; smaller screens keep the existing single-column pages and source drawer.
- Psychiatry now has Home and Saved pages. Home brings together question search, shift tools, sections, builders, and recent activity; old links to the Tools page open Home.
- Clinical headers and result counts use a simpler, Work-style layout. Recent questions on the home page appear as full-width tappable rows instead of chips.
Impact
โ
Non-matching clinical records stay accessible while filtering
โ
Full therapy cautions visible in search
โ
Side-by-side clinical references on wide screens
๐ก Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
@codeant-ai ask: Your question here
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
@codeant-ai ask: Can you suggest a safer alternative to storing this secret?
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
@codeant-ai: Your feedback here
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
@codeant-ai: Do not flag unused imports.
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
@codeant-ai: review
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.