Overview
The Claims Management module (PM-08) enables billing staff to generate CMS-1500 (837P) and UB-04 (837I) claims from approved charges, validate them through pre-submission scrubbing, manage the claim lifecycle, and track denials with CARC/RARC codes. Access: Navigate to Practice Management → Claims in the sidebar.Permission:
pm.claims.view (view), pm.claims.create (generate), pm.claims.submit (submit to payer).
Generating Claims from Charges
- Navigate to
/pm/claimsand click Generate Claims. - The dialog displays all approved charges that are not yet linked to a claim.
- Select charges to include — they are automatically grouped by patient.
- Provide the Billing Provider NPI and select the Payer.
- Click Generate to create draft claims with linked claim lines.
billed and the claim_id foreign key is set.
Claim Scrubbing
Before submission, claims go through pre-submission validation:
Click Run Scrub on the claim detail page to validate. Claims with errors cannot be submitted.
Claim Lifecycle
Use the Status Menu on the claim detail page to transition between valid states.
Filing Deadline Tracking
AHCCCS requires claims within 365 days of the date of service. The filing deadline is automatically calculated from the earliest service date on the claim. Visual indicators on the claim list:- 🟡 Amber — fewer than 30 days remaining
- 🔴 Red — deadline expired
Managing Denials (CARC/RARC)
When a claim is denied, denial codes are stored using industry-standard CARC (Claim Adjustment Reason Codes) and RARC (Remittance Advice Remark Codes). Group codes:
Denial codes are visible on the claim detail page. Add notes with type “Denial” or “Appeal” to document follow-up actions.
Secondary/Tertiary Claims
After the primary payer adjudicates, create a secondary claim:- From the paid/denied claim, use Generate Secondary (frequency code
1). - The secondary claim references the original via
original_claim_id. - Submit to the secondary payer with the primary’s EOB data.
Void/Replacement Claims
To void a submitted claim, transition status to
void and set frequency code 8. For replacement, create a new claim with frequency code 7 referencing the original.
Claim Detail Page
The claim detail page (/pm/claims/:claimId) provides:
- Header: Claim number, status badge, patient, payer, dates, total charge
- Lines Tab: CPT codes, modifiers, units, amounts, charge links
- Scrub Results Tab: Run on-demand scrubbing, view errors/warnings
- Notes Tab: Chronological notes (scrub errors, denials, appeals, corrections)
Permissions
Integration with PM-07 (Charges)
- Claims are generated from approved charges (
status = 'approved',claim_id IS NULL) - Each claim line stores
charge_idlinking back to the source charge - When a claim is generated, linked charges transition to
billedstatus - Charges linked to a claim cannot be voided without first voiding the claim
Future: PM-15 Clearinghouse Integration
Currently, “Submit” transitions the claim status but does not transmit to a clearinghouse. When PM-15 is implemented:- Submission will generate 837P/837I X12 transactions
- The
clearinghouse_trace_idwill be populated - Status polling will auto-update claims based on 277CA responses
- ERA (835) processing will auto-post payments via PM-09