Status is now derived from the numbers — no manual switching needed:
- Balance = 0 → Paid in Full (teal)
- Balance > 0, Collected > 0 → Partially Paid (blue)
- Balance > 0, Collected = 0 → Pending (red)
VOID/DENIED/OVERPAID still show from DB as manual decisions.
Removed Revert Full Due button (tied to old status system).
Void button now shows for all non-VOID, non-DENIED payments.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Balance = totalBilled - mhPaidAmount - copayment - adjustment
Collected = mhPaidAmount + copayment (adjustment is a write-off)
- Frontend breakdown now shows Collected, Adjustment (if >0), and Balance
- Reports: totalCollected and totalOutstanding use the new formula
- Both date-range and staff summary queries updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added copayment and adjustment fields (Decimal, default 0) to Payment
model in schema and directly to DB via ALTER TABLE
- Added PATCH /api/payments/:id/copayment and /adjustment routes
- Added inline-editable Copayment and Adjustment columns after MH Paid
with same click-to-edit format; Copayment in blue, Adjustment in orange
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switching from PAID to Pending/Partially Paid now calls revert-full-claim
first to undo the collected amount, then updates the status — so the
report totals stay accurate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The inline status dropdown now handles this via pay-absolute-full-claim,
making the standalone button a duplicate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Selecting "Paid in Full" from the inline status dropdown now calls
pay-absolute-full-claim (same as the Pay in Full button) instead of
only patching the status label.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Pending: yellow → light red
- Paid: green → teal, label updated to "Paid in Full"
- Status badge for Pending/Partially Paid/Paid is now a styled inline
dropdown to switch between the 3 statuses without opening a modal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add PATCH /api/payments/:id/mh-paid-amount for direct value updates.
Clicking the MH Paid cell opens an input; Enter/blur saves and refreshes,
Escape cancels. Dash placeholder is also clickable to enter a value.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add selenium_MHPaymentCheckWorker.py: logs into MassHealth portal, navigates to Search Claims, enters claim number, extracts totalPaidAmount from results table
- Register /mh-payment-check endpoint in Selenium agent
- Add mhPaidAmount field to Payment model with migration
- Add PATCH /api/payments/:id/mh-payment-check backend route: fetches MH credentials, calls selenium, stores result
- Add Claim No. column (MassHealth claim number) as first data column in payments table
- Move Payment ID and Claim ID columns to end of table
- Add MH Paid column showing mhPaidAmount in green
- Wire Check MH Payment button to call API for each selected payment and refresh table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added Check Payments Online card above Payment's Records with From/To date pickers and Check All MH Payment button (logic TBD)
- Added multi-select checkboxes to each payment record row with select-all header checkbox
- When records are checked, a Check MH Payment action bar appears with count and clear option (logic TBD)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>