> ## 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.

# Clinical Incidents

> Report and track organizational incidents with severity classification, reporting deadlines, and state-report status.

This screen lists and manages incident records for the current organization and is available at `/cl/incidents`.

## Overview

The Incidents page lists records from `cl_incidents`, ordered by `discovered_at` descending, scoped to the current organization. Soft-deleted records are excluded. Each row shows incident type (display label from `INCIDENT_TYPE_OPTIONS`), severity badge, discovered date/time, reporting deadline, and state-report status (`Reported` or `Pending`). The reporting deadline cell renders in destructive styling when the deadline has passed and the incident has not yet been reported to the state. Users with `cl.incidents.create` see a **Report Incident** button that opens `IncidentFormDialog`. Users with `cl.incidents.delete` may soft-delete incidents that have not yet been reported to the state. Once an incident is marked as reported (`reported_to_state_at` is set), only a **View** action is available (no editing or deletion).

## Who it's for

Requires permission: `cl.incidents.view`

Creating incidents additionally requires: `cl.incidents.create`

Deleting incidents additionally requires: `cl.incidents.delete`

## Before you start

You must hold `cl.incidents.view` to access this page. Incidents are scoped to your current organization.

## Steps

<Steps>
  <Step title="Open Incidents">
    Navigate to `/cl/incidents`. All non-deleted incidents for your organization load in discovery-date order.
  </Step>

  <Step title="Review incidents in the table">
    Columns: Type, Severity, Discovered, Deadline, State Report, Actions. Deadlines past due without a state report are highlighted in destructive color.
  </Step>

  <Step title="Report a new incident (if permitted)">
    Click **Report Incident** (requires `cl.incidents.create`) to open the incident form dialog. Fill in required fields and save.
  </Step>

  <Step title="Edit an unreported incident">
    Click **Edit** on a row that has not been reported to the state. The same form dialog opens in edit mode.
  </Step>

  <Step title="View a reported incident">
    Click **View** on a row where `reported_to_state_at` is set. The form opens in read-only mode.
  </Step>

  <Step title="Delete an incident (if permitted)">
    Click **Delete** (requires `cl.incidents.delete`; only visible on unreported incidents) to soft-delete the record.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Severity badge variants">
    `critical` and `high` map to destructive badge; `medium` maps to secondary; all others map to outline.
  </Accordion>

  <Accordion title="Immutability after state report">
    Once `reported_to_state_at` is non-null, the row becomes read-only in the UI — Edit and Delete actions are hidden; only View is shown.
  </Accordion>

  <Accordion title="Empty and error states">
    When no incidents exist, an empty state is shown: "No incidents reported — Report an incident to begin tracking and compliance documentation." Loading state shows skeleton rows.
  </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/IncidentListPage.tsx
  * src/cores/cl/hooks/useIncidents.ts
</Accordion>
