/cl/in-basket that lists all clinical notifications and tasks for the current organisation, filterable by item type, classification, and status.
Overview
The screen loads allcl_inbasket_items for the current organisation ordered by creation date descending. Three filter dropdowns — item type, classification, and status — can be combined in any combination; selecting “all” in a dropdown removes that filter. Items are displayed in a table with columns: Type (linked to the detail page), Classification, Priority (badged), Status (badged), Due date, and Created date. Clicking the linked type value navigates to /cl/in-basket/:id for the item detail. When the list is empty the screen shows “You’re all caught up!”
Who it’s for
Requires thecl.inbasket.view permission.
Before you start
- The
cl.inbasket.viewpermission must be assigned to your role. - In-basket items must exist in
cl_inbasket_itemsfor the current organisation; otherwise the empty state is shown.
Steps
Open the In-Basket
/cl/in-basket. The table loads all items for your organisation, most recently created first.Filter by type (optional)
Filter by classification (optional)
Filter by status (optional)
Open an item
/cl/in-basket/:id.Key concepts
item types and their display labels as defined in code:urgent (destructive), high (secondary), normal (default), low (outline).
Status values: new, read, in_progress, completed, deferred, escalated (escalated renders as destructive badge).
Empty state
Empty state
Error state
Error state
Loading state
Loading state
Viewing an item
The Item Detail screen shows a single in-basket item with its full metadata and activity history at/cl/in-basket/:itemId (permission: cl.inbasket.view). Additional actions require:
cl.inbasket.manage— update item statuscl.inbasket.escalate— escalate item priority and status
useInbasketItemDetail, which returns both the item record and its activity log. A main detail card (spanning 2 of 3 columns) shows item type (human-readable label from TYPE_LABELS), classification, priority badge, status badge, creation date, optional due date, and optional assignee. If the item type is chart_message and the payload contains a conversation_id, an Open Message Thread button deep-links to /pm/messaging/:conversationId. If chart_id is set, a View Patient Chart link navigates to /cl/charts/:chartId. Users with cl.inbasket.manage see a status select dropdown. Users with cl.inbasket.escalate additionally see an Escalate button that sets priority to urgent, records escalated_at, and transitions status to escalated. An Activity timeline card (1 column) shows each logged cl_inbasket_item_activity entry in chronological order.
Open the item
/cl/in-basket, then click an item row. The detail page loads the item and activity timeline.Review item metadata
Open the linked patient chart (if available)
chart_id is set, click View Patient Chart to navigate to /cl/charts/:chartId.Open the linked message thread (chart_message type only)
chart_message and a conversation_id is present in the payload, click Open Message Thread to navigate to /pm/messaging/:conversationId.Update status (manage permission required)
cl.inbasket.manage) to transition the item through new → read → in_progress → completed / deferred / escalated. Setting completed also records completed_at.Escalate the item (escalate permission required)
cl.inbasket.escalate is held and status is not already escalated) to set priority to urgent, record escalated_at, and transition status to escalated.Priority levels
Priority levels
low, normal, high, urgent, stat. Priority stat renders a destructive badge; urgent renders a secondary badge; others render outline.Activity timeline
Activity timeline
cl_inbasket_item_activity is displayed with activity_type (formatted: underscores replaced with spaces) and activity_at timestamp. Activity is created automatically on status changes and escalations via useUpdateInbasketItem.Empty and error states (detail)
Empty and error states (detail)
- Load error: destructive
Alertwith sanitized error message and a back link to/cl/in-basket. - Item not found: centered
Inboxicon with “Item not found” heading and back link. - No activity: “No activity recorded yet.”
- Loading: skeleton for the header and two-column grid.
Related
Clinical
Governance & parity
Documentation sources
Documentation sources
- src/routes/cl.tsx
- src/cores/cl/pages/InBasketListPage.tsx
- src/cores/cl/hooks/useInbasketItemList.ts
- src/cores/cl/types/inbasket.ts
- src/cores/cl/pages/InBasketItemDetailPage.tsx
- src/cores/cl/hooks/useInbasketItemDetail.ts
- src/cores/cl/hooks/useInbasketItemMutation.ts