> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Alert Fatigue Dashboard

> Aggregate CDS alert metrics by rule and provider for a selectable time window to monitor override rates and acknowledgement times.

The Alert Fatigue Dashboard is an analytics screen at `/cl/cds-analytics` that visualises Clinical Decision Support alert volume, override rates, and acknowledgement times for a selected time window.

## Overview

The dashboard loads alert data from `cl_cds_alerts` for the current organisation and aggregates it into four summary cards: Total Alerts, Override Rate, Total Overrides, and Average Acknowledgement Time. A time-window selector (Last 7 days / Last 30 days / Last 90 days) filters the underlying query; the default window is 30 days. An "Override Rate by Rule" bar chart shows the top 10 rules sorted by override rate, and an "Alerts by Rule" table lists all rules with per-rule alert count, override count, override rate badge, and average acknowledgement time. Users with the `cl.cds_rules.manage` permission see an additional "Alerts by Provider" table that shows the same metrics broken down by the provider who acknowledged each alert.

## Who it's for

Requires the `cl.cds_rules.manage` permission.

## Before you start

* The `cl.cds_rules.manage` permission must be assigned to your role.
* The organisation must have CDS rules configured and alerts recorded in `cl_cds_alerts`; if no alerts exist in the selected window the page shows an empty state.

## Steps

<Steps>
  <Step title="Select a time window">Use the dropdown in the top-right corner to choose Last 7 days, Last 30 days (default), or Last 90 days. The summary cards and tables reload automatically.</Step>
  <Step title="Review the summary cards">Read the four top-level cards: Total Alerts, Override Rate (with a "High" badge when the rate exceeds 50%), Total Overrides, and Avg. Ack Time.</Step>
  <Step title="Inspect the Override Rate by Rule chart">Scan the bar chart to identify rules with the highest override rates. Only the top 10 rules by alert count are plotted. Hover a bar to see the exact formatted percentage.</Step>
  <Step title="Drill into the Alerts by Rule table">Review the full table showing Rule name, Alerts, Overrides, Override Rate badge (destructive when >50%), and Avg. Ack Time for every rule in the window.</Step>
  <Step title="Review provider-level data (manage permission required)">If your role includes `cl.cds_rules.manage`, scroll to the "Alerts by Provider" table to see the same metrics broken down by the provider who acknowledged each alert.</Step>
</Steps>

## Key concepts

<Tooltip tip="Clinical Decision Support — automated rules that fire alerts when configurable conditions are met during clinical workflows.">CDS</Tooltip> rules are configured on the [CDS Rules](/cl/cds-rules) screen.

Override rate is computed as `override_count / alert_count` for the selected time window. The code marks an alert as overridden via the `overridden` boolean on `cl_cds_alerts`.

Average acknowledgement time is the mean elapsed minutes between `triggered_at` and `acknowledged_at` for alerts that have been acknowledged in the selected window. Alerts never acknowledged are excluded from this calculation.

<AccordionGroup>
  <Accordion title="Empty state">
    When no CDS alerts exist in the selected time window the summary cards show zeros and the rule table displays "No alert data" with a shield icon.
  </Accordion>

  <Accordion title="Error state">
    If the Supabase query fails, a destructive-bordered card appears with the message "Failed to load analytics data." No partial data is shown.
  </Accordion>

  <Accordion title="Loading state">
    While data is fetching, skeleton placeholders appear for the header, the four summary cards, and the chart area.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Clinical" icon="stethoscope" href="/cl/overview">
    Overview of the Clinical core.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  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.
</Note>

<Accordion title="Documentation sources">
  * src/routes/cl.tsx
  * src/cores/cl/pages/CdsAnalyticsDashboardPage.tsx
  * src/cores/cl/hooks/useCdsAlertAnalytics.ts
</Accordion>
