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 ERA Reconciliation page (/pm/era-reconciliation) is the underpayment work queue where billing staff compare electronic remittance advice payments against contracted rates and take action on variances.

Overview

The ERA Reconciliation page reads paginated records from pm_era_reconciliation_results (25 rows per page, server-side), scoped to the current organization and excluding soft-deleted records. A filter bar is visible by default and supports filtering by payer, reconciliation status, date of service range, CPT code, and variance amount range. The data table columns are: Select (checkbox), Claim ID (clickable link to detail sheet), CPT, Payer, Variance (color-coded by severity), DOS, Status, and Actions. Variance amounts are color-coded: destructive for high-severity variances, warning for moderate, and unstyled for low. A detail sheet (ReconciliationDetailSheet) opens from the Claim ID link. An appeal confirmation dialog (AppealConfirmationDialog) supports both single and bulk appeal creation with an optional note. Users with pm.era_recon.manage can bulk-mark rows as reviewed or accepted. Users with pm.era_recon.appeal can initiate appeals on underpaid rows.

Who it’s for

Requires permission: PM_PERMISSIONS.ERA_RECON_VIEW (pm.era_recon.view). Bulk status management requires PM_PERMISSIONS.ERA_RECON_MANAGE. Creating appeals requires PM_PERMISSIONS.ERA_RECON_APPEAL.

Before you start

  • Ensure you have the pm.era_recon.view permission.
  • Reconciliation results are populated upstream by the ERA processing pipeline; no manual creation is available on this page.

Steps

1

Open ERA Reconciliation

Navigate to /pm/era-reconciliation. The filter bar is visible by default and the first page of results loads automatically.
2

Apply filters

Use the ReconciliationFilterBar to filter by payer (populated from the active payer list), status, date of service range, CPT code, or variance amount range. Changing any filter resets the page to 0.
3

Review a reconciliation record

Click the linked Claim ID in a table row to open the ReconciliationDetailSheet on the right with full record details.
4

Appeal an underpaid result (single)

In the Actions column, click the appeal icon (gavel) on a row with status underpaid (requires pm.era_recon.appeal). Enter an optional note in the AppealConfirmationDialog and confirm.
5

Bulk appeal selected results

Check one or more rows using the row checkboxes. The bulk actions toolbar appears. Click Appeal Selected (requires pm.era_recon.appeal), add an optional note, and confirm to create appeals for all selected rows.
6

Bulk mark as reviewed or accepted

With rows selected, click Mark Reviewed or Mark Accepted (requires pm.era_recon.manage) to bulk-update the reconciliation_status for all selected records.
7

Paginate results

Use Previous / Next buttons at the bottom of the table. The footer displays the current page, total pages, and total record count.

Key concepts

Reconciliation statuses: pending, matched, underpaid, overpaid, no_contract, reviewed, appealed, accepted. Variance: The difference between the contracted expected payment and the actual payment. High variance severity is shown in a destructive color; moderate in a warning color. CPT code filter: Uses a case-insensitive partial match (ilike) on the cpt_code field.
When no records match the current filters: “No underpayments detected — All ERA payments match contracted rates.”
If the data query fails: “Unable to load reconciliation data. Please try again.”

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/EraReconciliationPage.tsx
  • src/cores/pm/hooks/useReconciliationResults.ts
  • src/cores/pm/hooks/usePayerList.ts