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

# Capitation Contracts

> Manage per-member-per-month (PMPM) capitation contracts and track revenue reconciliation for each payer relationship.

The Capitation Contracts screen (`/pm/capitation`) lists all PMPM capitation contracts for the organization and provides access to per-contract detail and reconciliation.

## Overview

The Capitation Contracts hub presents a table of contracts, each showing payer name, PMPM rate, effective date range, roster source, and active/inactive status. Contracts are loaded most-recent-first by effective date. Users with the `pm.capitation.manage` permission see an "Add contract" button and a "Show inactive" toggle; without that permission the controls are hidden and only active contracts are shown by default. Clicking a row navigates to the contract detail page (`/pm/capitation/:id`).

When no contracts exist, the screen shows "No capitation contracts yet" and, for managers, an inline "Add contract" action.

## Who it's for

Requires the `pm.capitation.view` permission to access the route. Creating and editing contracts additionally requires `pm.capitation.manage`.

## Before you start

* You must hold `pm.capitation.view` to access this screen.
* To add or edit contracts, you also need `pm.capitation.manage`.
* Payer records must already exist (configured via `/pm/payers`) so they appear in the contract form's payer picker.

## Steps

<Steps>
  <Step title="Open Capitation Contracts">
    Navigate to `/pm/capitation`. The table loads active contracts ordered by effective date, newest first.
  </Step>

  <Step title="Toggle inactive contracts (managers only)">
    Use the "Show inactive" switch in the page header to include soft-deleted contracts in the list. Inactive contracts display an "Inactive" badge in the Status column.
  </Step>

  <Step title="View a contract">
    Click any table row to open the contract detail page at `/pm/capitation/:id`.
  </Step>

  <Step title="Add a contract (managers only)">
    Click "Add contract" to open the Contract Form dialog. Fill in payer, PMPM rate, effective dates, and roster source, then save.
  </Step>
</Steps>

## Key concepts

<Tooltip tip="A fixed monthly payment per enrolled member regardless of services rendered">Capitation / PMPM</Tooltip> — Per-member-per-month payment model used by certain managed care payers.

Table columns: **Payer**, **PMPM Rate**, **Effective From**, **Effective To** (shows "Open-ended" if no end date), **Roster Source**, **Status** (Active / Inactive).

<AccordionGroup>
  <Accordion title="Empty state">
    "No capitation contracts yet" is shown when no contracts exist. Managers see an inline "Add contract" action.
  </Accordion>

  <Accordion title="Inactive contracts">
    Contracts with a non-null `deleted_at` are soft-deleted. They appear only when "Show inactive" is toggled on and are labeled with an "Inactive" badge. The restore action is available via the contract mutation hooks but its UI surface is on the detail page (not reviewed here).
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Practice Management" icon="briefcase" href="/pm/overview">
    Overview of the Practice Management 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/pm.tsx
  * src/cores/pm/pages/capitation/CapitationHubPage.tsx
  * src/cores/pm/hooks/useCapitationContracts.ts
  * src/platform/permissions/constants.ts
</Accordion>
