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

# Change Requests

> List, view, create, and edit IT change requests with risk assessment, approval workflow, implementation planning, and lifecycle actions.

The Change Requests screen provides a searchable, filterable list of all IT change requests and is accessible at `/it/changes`.

## Overview

The Change Requests list loads all change requests via `useChangeRequests` and applies client-side filtering. A search box filters by title. Three dropdowns filter by status (draft, submitted, approved, rejected, scheduled, implementing, completed, rolled\_back), change type (standard, normal, emergency), and risk level (low, medium, high). The data table shows CR number, title (linked to detail page), change type, status badge, risk level badge, and scheduled start date. Edit links appear in the row actions when the request is in `draft` status. A **New Request** button navigates to `/it/changes/new`.

## Who it's for

Requires `IT_PERMISSIONS.VIEW` (outer `ITViewGuard`). No additional per-route permission gate.

## Before you start

* You must hold `IT_PERMISSIONS.VIEW` to access this screen.

## Steps

<Steps>
  <Step title="Open Change Requests">
    Navigate to `/it/changes`. The table loads all change requests.
  </Step>

  <Step title="Search and filter">
    Type in the search box to filter by title. Use the Status, Type, and Risk dropdowns to narrow the results.
  </Step>

  <Step title="View a change request">
    Click the title link or the **View** button in the actions column to open the change-request detail page.
  </Step>

  <Step title="Edit a draft request">
    Click the **Edit** button in the actions column (visible for `draft` status only).
  </Step>

  <Step title="Create a new request">
    Click **New Request** to navigate to the new change-request form.
  </Step>
</Steps>

## Key concepts

* **change\_type** — Values: `standard`, `normal`, `emergency`.
* **status** — Full lifecycle values: `draft`, `submitted`, `approved`, `rejected`, `scheduled`, `implementing`, `completed`, `rolled_back`.
* **risk\_level** — Values: `low`, `medium`, `high` (filter options); `critical` may appear in data.
* **virtualAutoThreshold** — Table uses virtual scrolling when row count exceeds 100.

## Viewing a change request

The Change Request Details screen displays and manages a single IT change request identified by its `id` parameter and is accessible at `/it/changes/:id`.

The page header shows the change-request title and CR number, with context-sensitive action buttons that vary by status. For `draft` requests: Edit, Submit for Approval, and Delete. For `approved`: Schedule and Start Implementation. For `scheduled`: Start Implementation. For `implementing`: Mark Complete and Rollback. The main layout is a two-column grid: the left column shows Details (status, risk, change type, description, and scheduled window), Implementation Plan, Rollback Plan, and Test Plan cards, plus an `ImplementationChecklist` when tasks exist. The right column shows a Risk Assessment card with impact/likelihood/complexity scores out of 5, an `ApprovalWorkflowCard`, a `LinkedTicketCard`, and a Timeline card.

Before you start: the change request must exist. Edit is only available when status is `draft` or `rejected`.

1. Navigate to `/it/changes` and click any row, or follow a link from Approval Inbox or CAB Review.
2. Read the description, implementation plan, rollback plan, and test plan cards.
3. Click the appropriate action button (Submit for Approval, Schedule, Start Implementation, Mark Complete, or Rollback) based on the current status.
4. Click **Edit** to open the edit screen, or **Delete** to permanently remove the change request after confirmation (draft/rejected only).

**cr\_number** — Auto-assigned change-request identifier; shows "Pending" until assigned.\
**impact\_score / likelihood\_score / rollback\_complexity\_score** — Integer values 1–5 that feed into the overall `risk_level`.\
**ImplementationChecklist** — Task checklist rendered when `useCRTasks` returns one or more tasks.\
**LinkedTicketCard** — Associates the change request with a related service ticket via `related_ticket_id`.

## Creating a change request

The New Change Request page (`/it/changes/new`) provides a three-tab form for creating an IT change request: **Basic Info**, **Risk Assessment**, and **Planning**. The request can be saved as a draft or submitted immediately for approval.

The page uses `useChangeRequestMutations` for creation and `useChangeTemplates` to populate the optional template selector. Selecting a template pre-fills `category`, `implementation_plan`, `rollback_plan`, and `test_plan`. Risk assessment uses `RiskAssessmentForm` collecting `impact_score`, `likelihood_score`, and `rollback_complexity_score` (each 1–N scale; SME: confirm scale range).

No explicit secondary permission gate beyond the outer `ITViewGuard` (`it.view`). Creating changes requires `it.changes.create`.

Before you start: have a clear description of the change, its purpose, and a rollback plan before starting. Check if an existing change template applies to your scenario.

1. Navigate to `/it/changes/new` or click **New Request** from the Changes list.
2. In the **Basic Info** tab, optionally select a template from the dropdown. This pre-fills the Category, Implementation Plan, Rollback Plan, and Test Plan fields.
3. Enter a title (required), description, change type (`standard`, `normal`, or `emergency`), and category.
4. Click the **Risk Assessment** tab. Fill in impact score, likelihood score, and rollback complexity score using the `RiskAssessmentForm`.
5. Click the **Planning** tab. Fill in the implementation plan, rollback plan, and test plan.
6. Click **Save Draft** to save without submitting, or **Submit for Approval** to enter the approval workflow.

| Concept               | Description                                                                      |
| --------------------- | -------------------------------------------------------------------------------- |
| `change_type`         | `standard` (pre-approved), `normal` (requires approval), `emergency` (expedited) |
| `category`            | `infrastructure`, `application`, `security`, `network`, `database`, `other`      |
| `status: 'draft'`     | Saved but not submitted; only the creator can see and edit                       |
| `status: 'submitted'` | Submitted for approval review                                                    |
| `RiskAssessmentForm`  | Collects three numeric scores that contribute to computed risk level             |

## Editing a change request

The Edit Change Request screen allows updating a change request that is in `draft` or `rejected` status and is accessible at `/it/changes/:id/edit`.

The page loads the existing change request via `useChangeRequest`. If the request is not in `draft` or `rejected` status, a message is shown that it cannot be edited, with a link back to the detail view. The form is organized into three tabs: **Basic Info** (title, description, change type: standard/normal/emergency, category: infrastructure/application/security/network/database/other), **Risk Assessment** (rendered by `RiskAssessmentForm` with impact, likelihood, and rollback complexity scores), and **Planning** (implementation plan, rollback plan, test plan text areas). On save, `updateChangeRequest` is called and the user is redirected to the change-request detail page.

Before you start: the change request must be in `draft` or `rejected` status; other statuses redirect to the read-only detail view.

1. From the change-request detail page (when status is `draft`), click **Edit**.
2. On the **Basic Info** tab, update the title, description, change type, and category.
3. On the **Risk Assessment** tab, update the impact, likelihood, and rollback complexity scores.
4. On the **Planning** tab, update the implementation plan, rollback plan, and test plan.
5. Click **Save Changes**. On success, you are redirected to the change-request detail page.

**RiskAssessmentForm** — Shared component for entering impact, likelihood, and rollback complexity scores.

## Related

<Columns cols={2}>
  <Card title="IT Service Management" icon="headset" href="/it/overview">
    IT Service Management 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/it.tsx
  * src/cores/it/pages/changes/ChangeRequestListPage.tsx
  * src/cores/it/pages/changes/ChangeRequestDetailPage.tsx
  * src/cores/it/pages/changes/NewChangeRequestPage.tsx
  * src/cores/it/pages/changes/EditChangeRequestPage.tsx
  * src/cores/it/hooks/useChangeRequestMutations.ts
  * src/cores/it/hooks/useChangeTemplates.ts
</Accordion>
