Skip to main content
Version: 0.1 (stub created by spec-review 2026-04-19) Created: 2026-04-19 Last Updated: 2026-04-19 Status: 📝 Planned (stub — to be expanded during Phase A implementation) Spec: specs/pm/specs/PM-53-refund-recoupment-takeback-management.md

Overview

PM-53 introduces three first-class money-out / money-clawed-back workflows on top of PM-09: patient refund, payer recoupment / takeback detection, and disputed-takeback escalation to PM-29. PM-53 owns the operational data model and state machines; FA owns GL posting and is reached exclusively via event publishing to cl_pm_events. PM-37 (proposed) owns the patient liability ledger and consumes append events when it ships (Phase C, deferred). This stub captures the canonical integration points; full payload schemas and consumer contracts will be expanded during Phase A implementation. See the spec’s Event Contracts section for authoritative payload definitions today.

Integration Points

Platform Foundation (PF) Dependencies

Same-Core Dependencies (PM)

Cross-Core Dependencies


Event Contracts

Events Published

PHI minimization: Both payloads contain only opaque UUIDs (patient_id, refund_id, original_payment_id) and amounts, but patient-linked identifiers should be treated as sensitive metadata and handled with PHI/PII-safe logging, notification, and access controls per the documentation guidelines. Additional safeguards (e.g., masking, access checks, audit logging) are recommended when UUIDs are used to correlate patient records.

Events Consumed

PM-53 does not consume cross-core events in MVP. The process-era extension reads incoming 835 segments (already processed by PM-09 / PM-15) and creates recoupment rows synchronously during ERA ingestion.

API Contracts

PM-53 does not expose new external APIs. All cross-core communication is via events. Internal frontend hooks (useRefunds, usePayerRecoupments, etc.) call Supabase RPC / table queries directly under RLS.

Permission Keys (5 keys)


Pending Items (to be expanded)

  • Concrete consumer contract for FA Edge Function (fa-consume-pm-payment-events or new fa-consume-pm-refund-events).
  • Phase C contract with PM-37 (deferred — populated when PM-37 ships).
  • Notification template pm.refund.approval_required payload schema and PF-10 registration.
  • Jurisdiction profile schema additions for recoupmentDisputeWindowDays (PF-96 cross-link).
These items are tracked in PENDING_CONTRACTS.md under PM-53.

References