Skip to main content
Version: 2.0.0
Status: ✅ Implemented
Last Updated: 2026-02-22
Last Verified: 2026-02-22
Spec: PM-08 Claims Management & Submission
Constitution Reference: Section 1.2 (Core Independence), Section 1.3 (Integration Patterns)

Overview

PM-08 owns claim generation from charges (837P/837I), pre-submission scrubbing, submission via clearinghouse or direct payer, status tracking, denial management (CARC/RARC), and secondary/tertiary and void/replacement claims. Key tables: pm_claims, pm_claim_lines
RLS: Full CRUD policies on both tables (tenant-isolated via organization_id). DELETE restricted to org_admin.
Scrubbing engine: src/cores/pm/utils/claim-scrubbing.ts — validates NPI, diagnosis codes, service dates, filing deadline, line-level CPT/units/POS.
Event publisher: src/cores/pm/hooks/useClaimMutation.ts

Integration Points


Event Contracts

claim_submitted (PM-08 → PM-15, PF-10, PF-04)

Status: ✅ Implemented
Last Verified: 2026-02-22
Channel: cl_pm_events
Publisher: src/cores/pm/hooks/useClaimMutation.ts (via publishEvent)
DB registration: fw_workflow_events row exists (owning_core: pm, category: operational)
Published when a claim transitions to submitted status.
Consumers:

claim_status_changed (PM-08 → PM-11, PF-10, FA)

Status: ✅ Implemented
Last Verified: 2026-02-22
Channel: cl_pm_events
Publisher: src/cores/pm/hooks/useClaimMutation.ts (via publishEvent)
DB registration: fw_workflow_events row exists (owning_core: pm, category: operational)
Published on any claim status transition.
Consumers: Valid State Transitions:

Data Contracts

PM-07 → PM-08: Approved Charges Query

Status: ✅ Implemented
Last Verified: 2026-02-22
PM-08 generates claims from approved, unlinked charges:
Mapping: Each charge maps to one pm_claim_lines row: After claim creation, the source charge’s claim_id is back-populated.

PM-08 → PM-09: Claims for Payment Posting

Status: ✅ Implemented
Last Verified: 2026-02-22
PM-09 reads claims and lines to post ERA payments:
Mutation contract: PM-09 updates these pm_claims columns via .update():

PM-08 Scrubbing: Pre-Submission Validation

Status: ✅ Implemented
Last Verified: 2026-02-22
Location: src/cores/pm/utils/claim-scrubbing.ts
Validations performed:

Database Schema (pm_claims)

Last Verified: 2026-02-22

Database Schema (pm_claim_lines)

Last Verified: 2026-02-22

RLS Policies

Last Verified: 2026-02-22

Integration Matrix


References