Skip to main content
Spec: PM-32
Status: ✅ Complete
Last Updated: 2026-04-03
Owner: PM (Practice Management)

Overview

PM-32 adds a structured financial counseling workflow: income collection, FPL calculation, assistance program referral tracking, and charity care determination. It reads patient data from PM-01, writes insurance policies to PM-02, feeds charity indicator data to PM-16, informs sliding fee decisions to PM-21, and optionally integrates with PM-20 GFE and PF-08 forms. All integrations are same-core data reads (PM-01, PM-02, PM-16, PM-20, PM-21) or platform layer (PF-08 form snapshot). No direct cross-core imports. No event contracts are required for MVP; PM-02 eligibility trigger is a same-core function call.

Integration Points

1. PM-01 (Patient Registration)

2. PM-02 (Insurance Policy Management & Eligibility)

Stub schema (approval action):

3. PM-16 (Patient Statement Generation & Billing Communications)

4. PM-20 (Good Faith Estimate & Price Transparency)

5. PM-21 (Sliding Fee Discount Schedule Management)

6. PF-08 (Forms)


Platform Layers Used


Event Contracts

Events Consumed

pm_cost_estimate_generated (from PM-48)

  • Publisher: PM-48 (Patient Cost Estimation & Financial Clearance)
  • Event Name: pm_cost_estimate_generated
  • Version: 1.0
  • Payload Schema:
  • Subscription Rules: Conditional — subscribe only when patient_estimated_responsibility exceeds the configured threshold (from PF-96 jurisdiction profile or pm_module_settings.financial_clearance_threshold)
  • Threshold Behavior:
    • Read financial_clearance_threshold from jurisdiction profile (PF-96) if available
    • Fallback to pm_module_settings.financial_clearance_threshold (default: $1,000)
    • Auto-create PM-32 referral record when threshold exceeded
  • Delivery Semantics: At-least-once; idempotent via estimate_id (check for existing referral before creating)
  • Retry Policy: Standard retry with exponential backoff (3 attempts)
  • Idempotency Keys: estimate_id — prevent duplicate referrals
  • ACL/Topic: pm.cost_estimates topic
  • Purpose: Auto-route patients to financial counseling when estimated responsibility exceeds threshold
  • Status: 📝 Planned
Potential future events (post-MVP):

API Contracts

No external API contracts for MVP. All data flows are internal (same-core or platform layer). Future: AHCCCS direct submission API (deferred per Out of Scope in PM-32 spec).

Security

  • All tables behind pm_has_org_access SECURITY DEFINER RLS.
  • pm.financial_counseling.approve_charity is supervisor-level; not assigned to standard counselor role by default.
  • Income/financial data is PHI; no PHI written to logs; access via RLS + RBAC only.

Pending Contracts

No pending contracts for MVP. See PENDING_CONTRACTS.md if future event contracts are needed.

References