/pm/claims) provides a filterable list of claims from pm_claims with tools for generating, submitting, and tracking claim status.
Overview
The screen renders a card list of claims, each displaying the claim number, status badge, claim type (837P Professional or 837I Institutional), filing deadline indicator, service date range, total charge, and paid amount (if available). Claims are loaded frompm_claims ordered by creation date descending, always scoped to the current organization and excluding soft-deleted records. Users can filter by status and search by claim number. Checkboxes on each card (and a “select all on page” control) allow batch selection; the Batch Selection Toolbar appears when items are selected and lets authorized users submit the batch to the clearinghouse. A BatchProgressDialog shows real-time processing results. Clicking a claim card navigates to /pm/claims/:claimId for detail view.
Who it’s for
Requires thepm.claims.view permission. Additional permissions gate specific actions:
pm.claims.create— Generate Claims buttonpm.claims.submit— Clean Claim Wizard buttonpm.batch.claim_submit— Submit to clearinghouse batch action
Before you start
Requires thepm.claims.view permission. Claims will not load if no organization is currently selected. Batch submission is limited by the batch size maximum retrieved from useBatchSettings.
Steps
1
Search and filter claims
Enter a claim number in the search field to filter by claim number (partial match). Use the status dropdown to filter by a specific status: Draft, Scrubbed, Submitted, Accepted, Paid, Partial Payment, Denied, Appealed, Void, or Adjusted.
2
Select claims for batch submission
Check individual claim checkboxes, or use Select all on page to select all visible claims. Only claims in Draft or Scrubbed status are eligible for batch submission; ineligible selected claims are silently excluded from the batch.
3
Submit selected claims to the clearinghouse
With claims selected, click Submit to clearinghouse in the Batch Selection Toolbar (requires
pm.batch.claim_submit). The BatchProgressDialog opens and shows real-time progress. A success toast reports how many claims were submitted; a warning toast indicates partial completion with errors.4
Generate new claims
Click Generate Claims (requires
pm.claims.create) to open the ClaimGenerateDialog.5
Use the Clean Claim Wizard
Click Clean Claim Wizard (requires
pm.claims.submit) to open the ClaimSubmissionWizard for guided single-claim submission.6
Open a claim for detail
Click any claim card to navigate to the claim detail page at
/pm/claims/:claimId.7
Update a claim's status
Use the status menu (rendered by
ClaimStatusMenu) on each claim card to transition the claim to a permitted next status without opening the full detail page.Key concepts
and are the two claim types supported. Filing deadline indicators appear on claim cards: an Expired badge (red) signals the deadline has passed; a days-remaining badge (e.g. “14d left”) appears when fewer than 30 days remain before the filing deadline.Empty state — no claims found
Empty state — no claims found
When no claims match the current filters, the screen shows “No claims match the current filters.” When no claims exist at all, it shows “Generate claims from approved charges to get started.”
Batch history
Batch history
After a batch completes, a View History button in the BatchProgressDialog navigates to
/pm/batch-history to review past batch runs.Viewing a claim
Selecting a claim card opens the claim detail page at/pm/claims/:claimId (permission: pm.claims.view). A four-card summary row shows Total Charge, Paid, Adjustment, and Patient Responsibility amounts. A ClaimLineagePanel renders claim lineage. If denial_codes are present, they appear above the tabs via DenialCodeDisplay. The tabbed interface provides: Lines (claim line items with CPT, modifiers, units, date, charge/paid amounts), Scrub (on-demand client-side claim scrubbing via scrubClaim() — requires pm.claims.update), Notes (note form + list), Denials (linked denials via ClaimDenialSummaryPanel), and Secondary Claims (requires pm.cob.view). For institutional claims (claim_type === 'institutional_837i'), additional UB-04 Details, Preview 837I, and Generate 837I actions appear in the header when the user has PM_PERMISSIONS.INSTITUTIONAL_CLAIMS_GENERATE_837I. Void and Create Replacement actions appear based on claim status and pm.claims.void permission.
Additional permissions for claim detail:
pm.claims.update— Run scrubbing, add notespm.claims.void— Void or replace claimspm.cob.view— Secondary Claims tabpm.institutional_claims.generate_837i— Generate/Preview 837Ipm.institutional_claims.update— UB-04 Details
- From the Claims list (
/pm/claims), click a claim row to open the detail page. - The four summary cards show Total Charge, Paid, Adjustment, and Patient Responsibility.
- The Lines tab lists each claim line with CPT code, modifiers, units, service date, charge amount, and paid amount.
- On the Scrub tab, click Run Scrubbing (requires
pm.claims.update) to execute client-side validation. - The Notes tab shows existing claim notes and a form to add new notes (requires
pm.claims.update). - The Denials tab shows denial records associated with this claim via
ClaimDenialSummaryPanel. - Use the status menu or Void / Create Replacement buttons in the header based on your permissions.
Related
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.
Documentation sources
Documentation sources
- src/routes/pm.tsx
- src/cores/pm/pages/ClaimListPage.tsx
- src/cores/pm/hooks/useClaimList.ts
- src/cores/pm/types/claims.ts
- src/cores/pm/pages/ClaimDetailPage.tsx
- src/cores/pm/hooks/useClaimDetail.ts
- src/cores/pm/utils/claim-scrubbing.ts