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

# Clinician Panels

> Supervisor view of all clinician panel assignments showing panel size, average risk score, open care gaps, and unattributed patients.

The Clinician Panels screen provides a supervisor-level overview of all clinician panel assignments and population health metrics at route `/cl/population-health/panels`.

## Overview

The page displays a table of all clinicians who have active patient panels, drawn from `cl_patient_charts.assigned_clinician_id`. For each clinician the table shows panel size (number of assigned charts), average risk score (mean of `composite_risk_score` from `cl_risk_stratifications`), open gap count (count of `cl_care_gaps` with `status = 'open'`), and the date of the last risk stratification refresh. Clicking a clinician row navigates to that clinician's individual panel at `/cl/population-health/my-panel?clinicianId=<id>`. A collapsible section below the main table lists patients whose charts have no assigned clinician (`assigned_clinician_id` is null); each row links to the patient chart at `/cl/charts/<chartId>`. The table is sorted by open gap count descending. If no clinicians have active panels, an empty state is shown with guidance that panel attribution runs daily.

## Who it's for

Requires permission `cl.population-dashboard.view`.

## Before you start

* You must hold the `cl.population-dashboard.view` permission.
* Clinician panels are populated from `cl_patient_charts`. If no data appears, verify that charts have `assigned_clinician_id` values set and that risk stratifications have been run.

## Steps

<Steps>
  <Step title="Open the Clinician Panels screen">
    Navigate to `/cl/population-health/panels`. The table loads with a skeleton state while data is fetched.
  </Step>

  <Step title="Review the panel summary table">
    Each row shows a clinician's name, panel size, average risk score, open gap count, and last refresh date. Rows are sorted by open gap count (highest first).
  </Step>

  <Step title="Drill into a clinician's panel">
    Click any clinician row to navigate to that clinician's individual panel view at `/cl/population-health/my-panel?clinicianId=<id>`.
  </Step>

  <Step title="Review unattributed patients">
    Click the "Unattributed Patients (N)" button to expand the collapsible section. Use "Open Chart" on any row to navigate to that patient's chart.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Empty states">
    * **No clinicians with active panels** — shown when `clinicians` array is empty. The empty state message reads: "Panel attribution runs daily. Ensure patients have recent encounters or explicit clinician assignments."
    * **No unattributed patients** — shown inside the collapsible when `unattributedPatients` array is empty.
  </Accordion>

  <Accordion title="Data staleness">
    Query results are cached with a 5-minute stale time (`staleTime: 5 * 60 * 1000`). The "Last Refresh" column reflects the most recent `stratification_date` from `cl_risk_stratifications` for that clinician's charts.
  </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/population-health/SupervisorPanelsPage.tsx
  * src/cores/cl/hooks/useClinicianPanelSummary.ts
</Accordion>
