Skip to main content

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.

The Contracts page (/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 the pm_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 permission pm.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.view permission.
  • At least one payer must exist in the system before a contract can be associated to it.

Steps

1

Open the Contracts page

Navigate to /pm/contracts. The table loads automatically and shows all non-deleted contracts for your organization.
2

Filter the list

Use the All Payers dropdown to narrow to a specific payer, and the All Statuses dropdown to filter by status (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.”
3

Open a contract

Click the payer name link in the Payer column to open the contract detail page at /pm/contracts/:id.
4

Create a contract (manage permission required)

Click New Contract in the page header. The PayerContractFormDialog opens in create mode. Complete the form and save.

Key concepts

The list recognizes four 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.
The Auto-Renew column (hidden on mobile) shows Yes or No based on the auto_renew field on the contract record.
When no contracts exist yet, the page shows: “No contracts yet — Create a payer contract to track contracted rates and detect underpayments.” The filter dropdowns are not rendered until at least one contract exists.

Practice Management

Overview of the Practice Management core.

Governance & parity

Documentation coverage and governance.
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.
  • src/routes/pm.tsx
  • src/cores/pm/pages/PayerContractsListPage.tsx
  • src/cores/pm/hooks/usePayerContractList.ts
  • src/platform/permissions/constants.ts