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

# Value-Based Payment

> Manage value-based payment programs and alternative payment models with payer linkage at /pm/vbp.

The Value-Based Payment page at `/pm/vbp` lists all VBP programs for the current organization in a sortable table, with each row linking to a program detail view, and supports adding new programs for users with the manage permission.

## Overview

The Value-Based Payment page fetches records from `pm_vbp_programs` joined with `pm_payers` (to resolve `payer_name`), filtered to the current organization and excluding soft-deleted records, ordered by `updated_at` descending. The table shows program name, payer, contract type, measurement period, and status. Clicking any row navigates to `/pm/vbp/:id` for the program detail. Users with the `pm.vbp.manage` permission see an "Add Program" button that opens `VbpProgramForm`.

## Who it's for

Requires permission `pm.vbp.view` (`PM_PERMISSIONS.VBP_VIEW`) to access the route. Adding programs requires `pm.vbp.manage` (`PM_PERMISSIONS.VBP_MANAGE`).

## Before you start

* You must hold the `pm.vbp.view` permission.
* Payer records must exist in `pm_payers` for programs to display a resolved payer name; programs with no linked payer show "No Payer".

## Steps

<Steps>
  <Step title="Navigate to Value-Based Payment">
    Go to `/pm/vbp`. The page loads and displays a table of VBP programs for the organization.
  </Step>

  <Step title="View a program">
    Click any table row to navigate to the program detail page at `/pm/vbp/:id`.
  </Step>

  <Step title="Add a new program">
    Click "Add Program" (requires `pm.vbp.manage`). The `VbpProgramForm` dialog opens. Complete the form and submit to create a new VBP program record.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Value-based payment (VBP)">
    A payment model in which reimbursement is tied to performance measures, outcomes, or cost targets rather than purely fee-for-service volume. Common in Medicaid managed care and AHCCCS contracts.
  </Accordion>

  <Accordion title="Contract types">
    Observable values from the code: `shared_savings` (Shared Savings), `quality_bonus` (Quality Bonus), `capitation` (Capitation), `bundled_payment` (Bundled Payment), `other` (Other). Any unrecognized value renders as its raw string.
  </Accordion>

  <Accordion title="Shared savings">
    A contract arrangement in which the organization retains a portion of cost savings achieved below a benchmark, subject to meeting quality thresholds.
  </Accordion>

  <Accordion title="Program statuses">
    `active` (default badge), `completed` (secondary badge), `suspended` (destructive badge). Any other value renders with an outline badge.
  </Accordion>

  <Accordion title="Empty state">
    When no programs exist, an `EmptyState` component with the title "No VBP programs yet" is shown with an inline "Add Program" action.
  </Accordion>

  <Accordion title="Error state">
    If the query fails, an `EmptyState` component with the title "Unable to load programs" is shown.
  </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/VbpProgramListPage.tsx
  * src/cores/pm/hooks/useVbpProgramList.ts
  * src/platform/permissions/constants.ts
</Accordion>
