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

# Leadership Assessments

> Create, view, edit, delete, and manage assessment templates and their distribution schedules in the Leadership module.

The Assessments screen is accessible at `/lo/assessments` and provides a list of assessment templates with search and filtering, plus actions to create, edit, and delete assessments.

## Overview

The `AssessmentsPage` loads assessments via `useAssessments({ ...filters, search })`. A search input and filters for `isActive` toggle and `AssessmentType` narrow the list. Each assessment is displayed as an `AssessmentCard`. An edit button on each card opens `AssessmentFormDialog` in edit mode. A delete button opens a `ConfirmationDialog` before calling `deleteAssessment`. The "+" button opens the dialog in create mode. Selecting a card navigates to `/lo/assessments/:assessmentId` for detail and schedule management.

## Who it's for

Requires `LO_PERMISSIONS.DASHBOARD_VIEW` (`lo.dashboard.view`) via the shared `LOViewGuard`. Creating assessments uses `lo.assessments.create`.

## Before you start

* `lo.dashboard.view` permission required.
* Assessment templates must be created before schedules can be set.

## Steps

<Steps>
  <Step title="Navigate to Assessments">Go to `/lo/assessments`. Active assessments are shown by default.</Step>
  <Step title="Search">Type in the search input to filter assessments by name.</Step>
  <Step title="Filter by type or active status">Use the type dropdown and the active toggle to refine the list.</Step>
  <Step title="Create an assessment">Select "+" to open `AssessmentFormDialog` in create mode.</Step>
  <Step title="Edit an assessment">Select the edit icon on an `AssessmentCard` to open the dialog in edit mode.</Step>
  <Step title="Delete an assessment">Select the delete icon, then confirm in `ConfirmationDialog`.</Step>
  <Step title="View assessment detail">Select an `AssessmentCard` to navigate to `/lo/assessments/:assessmentId`.</Step>
</Steps>

## Key concepts

* **Assessment**: a template defining what is assessed (not a single response).
* **isActive**: a filter defaulting to `true` that hides inactive assessments.
* **AssessmentType**: the type field on an assessment (specific values require SME confirmation).

## Viewing an assessment

The Assessment Details screen is accessible at `/lo/assessments/:assessmentId` and shows an assessment template's metadata and its associated distribution schedules, with controls to add schedules, edit, and delete the assessment.

The `AssessmentDetailPage` fetches the assessment via `useAssessment(assessmentId)` and its schedules via `useAssessmentSchedules({ assessmentId })`. The breadcrumb is set to `assessment_name`. Two tabs — **Details** and **Schedules** — are shown. The Details tab shows assessment metadata and an `AssessmentTypeBadge`. The Schedules tab lists schedules as cards with `ScheduleStatusBadge` indicators; an "Add Schedule" button opens `AssessmentScheduleDialog`. The header includes Edit (opens `AssessmentFormDialog`) and Delete (opens `ConfirmationDialog`) buttons. Selecting a schedule navigates to `/lo/assessments/schedules/:scheduleId`.

Permissions: `lo.dashboard.view` required. Creating assessments uses `lo.assessments.create`. The assessment identified by `:assessmentId` must exist.

1. Open an assessment: navigate to `/lo/assessments/:assessmentId` or select an assessment from the Assessments list.
2. Review details: on the Details tab, view the assessment name, type badge, and other metadata.
3. Manage schedules: on the Schedules tab, view existing schedules with their status badges.
4. Add a schedule: select "Add Schedule" to open `AssessmentScheduleDialog` and create a new distribution schedule.
5. Open a schedule: select a schedule to navigate to `/lo/assessments/schedules/:scheduleId`.
6. Edit the assessment: select Edit in the header to open `AssessmentFormDialog`.
7. Delete the assessment: select Delete and confirm in `ConfirmationDialog`; the page navigates back to `/lo/assessments`.

**Key concepts:**

* **AssessmentSchedule**: a planned distribution of an assessment to participants.
* **ScheduleStatusBadge**: displays the current status of each schedule.
* **AssessmentTypeBadge**: displays the assessment type.

## Viewing a schedule

The Schedule Details screen (`/lo/assessments/schedules/:scheduleId`) shows a single assessment schedule's metadata, response rate, individual response status, and controls to distribute, close, or skip responses.

The `AssessmentScheduleDetailPage` fetches the schedule via `useAssessmentSchedule(scheduleId)` and mutations via `useAssessmentScheduleMutation` and `useAssessmentResponseMutation`. The breadcrumb shows `schedule.assessment?.assessment_name`. The page displays the assessment name (via `AssessmentTypeBadge`), schedule status (via `ScheduleStatusBadge`), and a `ResponseRateCard` showing completion statistics. An `AssessmentResponsesTable` lists all responses. Action buttons — **Distribute** and **Close** — trigger confirmation dialogs before calling `distribute(schedule.id)` or `close(schedule.id)`. Individual responses can be marked as skipped via a "Mark Skipped" action that opens another confirmation dialog before calling `skip(responseId)`.

Permission required: `LO_PERMISSIONS.DASHBOARD_VIEW` (`lo.dashboard.view`) via the shared `LOViewGuard`. No additional explicit permission gate beyond the route guard.

Before you start: the schedule identified by `:scheduleId` must exist; the schedule must be in the appropriate status to distribute or close.

1. Navigate to `/lo/assessments/schedules/:scheduleId` or select a schedule from the Assessment Details page.
2. The `ResponseRateCard` shows aggregate completion statistics.
3. The `AssessmentResponsesTable` lists each respondent and their response status.
4. Select the **Distribute** button and confirm to send the assessment to respondents.
5. Select the **Close** button and confirm to stop accepting responses.
6. Use the skip action on an individual response row and confirm in the dialog to mark a response as skipped.

**Key concepts:**

* **Distribute**: transitions the schedule to a distributed state and initiates response collection.
* **Close**: stops accepting new responses for this schedule.
* **ResponseRateCard**: displays aggregate response completion statistics.
* **Skip**: marks an individual `AssessmentResponse` as skipped via `skip(responseId)`.

## Related

<Columns cols={2}>
  <Card title="Leadership" icon="compass" href="/lo/overview">
    Leadership core overview.
  </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/lo.tsx
  * src/cores/lo/pages/AssessmentsPage.tsx
  * src/cores/lo/pages/AssessmentDetailPage.tsx
  * src/cores/lo/pages/AssessmentScheduleDetailPage.tsx
  * src/cores/lo/hooks/useAssessments.ts
  * src/cores/lo/hooks/useAssessmentSchedules.ts
  * src/cores/lo/hooks/useAssessmentResponses.ts
</Accordion>
