/pm/contracts) lists all payer contracts recorded for your organization, sorted soonest-expiring first.
Overview
The Contracts page loads all payer contracts for the current organization from thepm_payer_contracts table, joined to pm_payers for the payer name. Records marked as deleted (deleted_at not null) are excluded. The list defaults to ascending sort by termination_date so the soonest-expiring contracts appear first. Users with pm.contracts.manage permission see a New Contract button that opens a creation dialog. Each row in the table links to the contract detail page at /pm/contracts/:id.
Who it’s for
Requires permissionpm.contracts.view (PM_PERMISSIONS.CONTRACTS_VIEW).
Users with pm.contracts.manage can also create new contracts via the New Contract dialog.
Before you start
- You must hold the
pm.contracts.viewpermission. - At least one payer must exist in the system before a contract can be associated to it.
Steps
Open the Contracts page
/pm/contracts. The table loads automatically and shows all non-deleted contracts for your organization.Filter the list
active, expired, terminated, or pending). Both filters can be applied simultaneously. When active filters return no rows, the table displays “No contracts match the filters.”Open a contract
/pm/contracts/:id.Create a contract (manage permission required)
PayerContractFormDialog opens in create mode. Complete the form and save.Key concepts
Contract statuses
Contract statuses
active (shown as a filled badge), pending (outline badge), expired and terminated (both shown as secondary/muted badge). The UI does not visually distinguish between expired and terminated.Auto-Renew column
Auto-Renew column
Yes or No based on the auto_renew field on the contract record.Empty state
Empty state
Viewing a capitation contract
The Contract Details screen displays a single capitation contract record at route/pm/capitation/:id (permission: pm.capitation.view). The component is CapitationContractPage. It displays the contract fields and PMPM revenue reconciliation data.
- Navigate from the Capitation hub (
/pm/capitation) and select a contract to open its detail page. - Review the contract fields and PMPM reconciliation data displayed by the component.
Modeling a contract scenario
The Contract Modeling Simulation Wizard at/pm/contracts/modeling/new guides users through a five-step process to model and version revenue scenarios for payer contracts. Requires permission pm.contracts.view.
ContractModelingWizardPage renders WizardShell with five steps driven by useContractModelingWizard. On success, the user is redirected to /pm/contracts.
Before you start: an existing payer contract must be present at /pm/contracts to use as a baseline. Ensure volume projections data is available for the scenario period.
Open the wizard
/pm/contracts/modeling/new.Select a baseline contract and timeframe
Enter volume assumptions
Adjust rates
Review forecast output
Save and version the scenario
/pm/contracts.Detail view
The Contract screen displays a single payer contract with its contracted rate table at route/pm/contracts/:id.
Overview
The page loads a contract viausePayerContractDetail. It displays a Contract Details card showing status badge, effective date, termination date, and auto-renew indicator. A Contracted Rates card lists rate entries in a table with CPT code, modifiers, rate amount, rate type, effective date, and end date. Users with pm.contracts.manage can add rates (via ContractedRateFormDialog), edit existing rates, delete rates, edit the contract header (via PayerContractFormDialog), and copy the contract for renewal (via ContractRenewalDialog). Rate deletion calls useDeleteContractedRate.
Who it’s for
Requires permissionPM_PERMISSIONS.CONTRACTS_VIEW (enforced via RequirePermission in the route definition). Rate and contract management requires pm.contracts.manage.
Before you start
- You need
pm.contracts.viewto access this page. - Navigate here from the Contracts list (
/pm/contracts).
Steps
Open a contract
/pm/contracts) and click a row to open the contract detail page.Review contract details
Review contracted rates
Add a rate (pm.contracts.manage)
Edit or delete a rate (pm.contracts.manage)
Copy as new / renew
Key concepts
Related
Practice Management
Governance & parity
Documentation sources
Documentation sources
- src/routes/pm.tsx
- src/cores/pm/pages/PayerContractsListPage.tsx
- src/cores/pm/hooks/usePayerContractList.ts
- src/platform/permissions/constants.ts
- src/cores/pm/pages/capitation/CapitationContractPage.tsx
- src/cores/pm/pages/ContractModelingWizardPage.tsx
- src/cores/pm/hooks/useContractModelingWizard.ts
- src/cores/pm/pages/PayerContractDetailPage.tsx
- src/cores/pm/hooks/usePayerContractDetail.ts
- src/cores/pm/hooks/useContractedRateMutation.ts