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

# Program Enrollments

> View and track patient program enrollment records and compliance status across active and ended programs.

The Program Enrollments screen lists all patient program enrollments for the current organization, accessible at `/cl/program-enrollments`.

## Overview

The page fetches all enrollment records from `cl_program_enrollments` joined to `cl_program_schedules` (name and program\_type) for the current organization, ordered by enrollment date descending. Each enrollment is displayed as a card showing the program name, an Active or Ended status badge, enrollment date, optional end date, and program type. Enrollments are initiated from patient charts (the empty state message indicates: "Enroll patients in program schedules from their chart"). The page renders skeleton placeholders while loading and shows a destructive error message on fetch failure.

## Who it's for

Requires permission: `cl.program_enrollments.view`

## Before you start

* Your account must have the `cl.program_enrollments.view` permission.
* Program schedules must be configured before patients can be enrolled (see Program Schedules).

## Steps

<Steps>
  <Step title="Open Program Enrollments">
    Navigate to `/cl/program-enrollments`. The list of enrollment cards loads automatically for the current organization.
  </Step>

  <Step title="Review enrollment cards">
    Each card shows the program name, Active or Ended badge, enrolled date, optional end date, and program type. Cards are ordered most-recently enrolled first.
  </Step>

  <Step title="Enroll a patient">
    To create a new enrollment, navigate to the patient's chart and initiate enrollment from there. New enrollments cannot be created directly from this screen.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Enrollment status badges">
    **Active** — the enrollment has no `ended_at` date. **Ended** — the enrollment has an `ended_at` date recorded.
  </Accordion>

  <Accordion title="Overlap check">
    The `useProgramEnrollmentMutation` hook enforces that a patient cannot have two active enrollments in the same program schedule simultaneously. An error is surfaced if a duplicate active enrollment is attempted.
  </Accordion>

  <Accordion title="Empty state">
    When no enrollments exist: "No enrollments — Enroll patients in program schedules from their chart."
  </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/ProgramEnrollmentsPage.tsx
  * src/cores/cl/hooks/useProgramEnrollments.ts
</Accordion>
