Skip to main content
The In-Basket screen is a work-queue at /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 all cl_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 the cl.inbasket.view permission.

Before you start

  • The cl.inbasket.view permission must be assigned to your role.
  • In-basket items must exist in cl_inbasket_items for the current organisation; otherwise the empty state is shown.

Steps

1

Open the In-Basket

Navigate to /cl/in-basket. The table loads all items for your organisation, most recently created first.
2

Filter by type (optional)

Use the “All Types” dropdown to narrow results to a specific item type: Co-Sign Request, Lab Review, Refill Request, Chart Message, Referral Response, or CDS Alert.
3

Filter by classification (optional)

Use the “All Classifications” dropdown to show only Action Required or Informational items.
4

Filter by status (optional)

Use the “All Statuses” dropdown to show only items in a specific state: New, Read, In Progress, Completed, Deferred, or Escalated.
5

Open an item

Click the linked item type in the Type column to navigate to the item detail page at /cl/in-basket/:id.

Key concepts

item types and their display labels as defined in code: Priority levels rendered as badges: urgent (destructive), high (secondary), normal (default), low (outline). Status values: new, read, in_progress, completed, deferred, escalated (escalated renders as destructive badge).
When no items match the current filters the screen shows “No in-basket items — You’re all caught up!” with an inbox icon.
If the query fails, a destructive alert is shown with the sanitised error message.
While fetching, a header skeleton and five row skeletons are displayed.

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 status
  • cl.inbasket.escalate — escalate item priority and status
The page loads a single in-basket item via 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.
1

Open the item

Navigate to /cl/in-basket, then click an item row. The detail page loads the item and activity timeline.
2

Review item metadata

The main card shows item type, classification, priority badge, status badge, creation date, optional due date, and optional assignee.
3

Open the linked patient chart (if available)

If chart_id is set, click View Patient Chart to navigate to /cl/charts/:chartId.
4

Open the linked message thread (chart_message type only)

If the item type is chart_message and a conversation_id is present in the payload, click Open Message Thread to navigate to /pm/messaging/:conversationId.
5

Update status (manage permission required)

Use the status dropdown (requires cl.inbasket.manage) to transition the item through newreadin_progresscompleted / deferred / escalated. Setting completed also records completed_at.
6

Escalate the item (escalate permission required)

Click Escalate (visible when cl.inbasket.escalate is held and status is not already escalated) to set priority to urgent, record escalated_at, and transition status to escalated.
low, normal, high, urgent, stat. Priority stat renders a destructive badge; urgent renders a secondary badge; others render outline.
Each entry in 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.
  • Load error: destructive Alert with sanitized error message and a back link to /cl/in-basket.
  • Item not found: centered Inbox icon with “Item not found” heading and back link.
  • No activity: “No activity recorded yet.”
  • Loading: skeleton for the header and two-column grid.

Clinical

Overview of the Clinical core.

Governance & parity

Documentation coverage and governance.
This page documents shipped product behavior. It is not medical, legal, or billing advice. Verify against your organization’s policies and applicable regulations before using it for clinical, compliance, or billing decisions. Protected health information (PHI) shown in the product is governed by your tenant’s access controls and is never exposed in this documentation.
  • 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