State and federal award payment processing¶
This operation covers the clsAward family (clsAward, clsFatalAward, clsPPDAward, clsPTDAward, clsAwardCollection) that models a state permanent award and its Social Security offset (clsAwardSSOffset(Collection)), the clsAwardPayment family (clsFatalPayment, clsPPDPayment, clsPTDPayment) that generates and approves the individual monthly payment transactions against an award, clsAwardPayeeInfo for monthly-payee tracking, and the separate clsFederalAwardPayment/clsFederalPayment classes that issue a one-time federal-equivalent award payment outside the state award structure.
| Field | Value |
|---|---|
| Operation ID | OP-CP-08 |
| Trigger | Adjuster creates/edits an award (clsFatalAward/clsPPDAward/clsPTDAward), manages its Social Security offset, and approves generated award payments; or issues a clsFederalAwardPayment |
| Inputs | Claim type, award type, effective/order/closure dates, worker birthdate/death date, beneficiaries, average weekly wage, Social Security offset data, payee selections and reduction percentages |
| Outputs | CL_AWARD, CL_AWARD_SS_OFFSET, CL_STATE_AWARD_MONTHLY_PAYEE rows; posted award financial transactions (via Payment posting and totals management) |
| Primary components | clsAward, clsFatalAward, clsPPDAward, clsPTDAward, clsAwardCollection, clsAwardSSOffset(Collection), clsAwardPayeeInfo, clsFatalPayment, clsPPDPayment, clsPTDPayment, clsFederalAwardPayment, clsFederalPayment |
| Entry point | Business\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAward.vb |
Steps¶
- Create the award for the claim's type. Fatal awards require the claim type to be PTD or Fatal (BR-CP-028); PTD awards require the claim type to be PTD.
- Enforce type-specific prerequisites (BR-CP-029). A Fatal award requires a worker date of death and at least one beneficiary; a PTD award requires a valid worker birthdate and non-zero average weekly wage.
- Distinguish advance vs. scheduled awards (BR-CP-030). An advance Fatal or PPD award carries no effective date and zero total monthly payment; a non-advance award's effective date must be on/after the injury date, with PTD additionally bounded by the closure-order date and PPD bounded to not be in the future.
- Insert or update the award (SQL-011/SQL-039/SQL-094, CL_AWARD) and load related closure-order and financial-transaction context (SQL-040, SQL-041, SQL-042, SQL-043, CL_BENEFIT_PAYMENT, CL_CLAIM_CLOSURE_ORDER, CL_FINANCIAL_TRANS).
- Assign the next award number (SQL-003,
SAIF_AWARD_NUM_NEXTVALsequence, DUAL) when a new award is created viaclsAwardCollection. - Track the Social Security offset if granted (BR-CP-034). A Granted offset requires a positive monthly amount, effective/order dates on or after the injury date, and an expiration date on or after the effective date; offset date ranges on the same award may not overlap. A Denied status bypasses all of these checks. Persisted via SQL-013/SQL-046/SQL-096/SQL-119 (CL_AWARD_SS_OFFSET).
- Generate the monthly award payment.
clsFatalPayment/clsPPDPayment/clsPTDPayment.OnInstantiationCompletecaps the total payment (and every individual payee's share) at $250,000 (BR-CP-033). - Apply lump-sum guidance for first PPD awards (BR-CP-033). A first-time PPD award of $6,000 or less should be paid as a lump sum; one over $6,000 should not be paid entirely as a lump sum — enforced as an approval warning/error, not a hard block.
- Generate award payees restricted by award type (BR-CP-036).
clsAwardPayment.GenerateNewPayeeallows only Attorney/Beneficiary/Other/Recovery for Fatal awards and Attorney/Worker/Other/Recovery/Support for PPD/PTD; any other requested payee type is silently downgraded to Other with no error. Monthly payee state persisted throughclsAwardPayeeInfo(SQL-012/SQL-045/SQL-095/SQL-118, CL_STATE_AWARD_MONTHLY_PAYEE). - Cap support-order and attorney/other-payee reductions by issue date (BR-CP-032). Support-order reductions are capped at 25% of the base amount for issue dates on/after January 1, 2012 (50% before); attorney/other-payee reductions are capped at 44%/63% under the same cutover.
- Validate the cash card format for award payees (BR-CP-035) — 10 to 16 digits.
- Guard against double-payment.
GetPreviouslyPaidPayees/PreviouslyPaidPayeeListblock an award payment approval that overlaps a prior payment to the same payee/provider/reduction for the same payment category and date range on the same award (BR-CP-037). - Post the approved award payment through Payment posting and totals management and record the financial transaction through Financial transaction and remark management.
- Guard award deletion and status changes (BR-CP-031). An award cannot be deleted once a payment transaction has been made against it; its status cannot be set to Active while checks against it are still in progress (financial transaction status codes 1-3).
- Issue a federal award payment independently.*
clsFederalAwardPayment/clsFederalPaymentissue a one-time federal-equivalent award payment outside theclsAwardstructure — no dedicated SQL catalog entries were found for these classes, indicating they likely reuse the common posting/financial-transaction persistence path documented in Payment posting and totals management and Financial transaction and remark management rather than award-specific tables.
Process flow¶
flowchart TD
Start([Adjuster creates/edits award]) --> TypeCheck{Claim type matches<br>award type?}
TypeCheck -->|No| Blocked1([Blocked: award type mismatch])
TypeCheck -->|Yes| Prereq{Type-specific<br>prerequisites met?}
Prereq -->|No| Blocked2([Blocked: missing prerequisite data])
Prereq -->|Yes| Advance{Advance award?}
Advance -->|Yes| NoEffDate[No effective date;<br>zero monthly payment]
Advance -->|No| EffDate{Effective date<br>within bounds?}
EffDate -->|No| Blocked3([Blocked: invalid effective date])
EffDate -->|Yes| SaveAward[Insert/update CL_AWARD;<br>assign award number]
NoEffDate --> SaveAward
SaveAward --> SSO{Social Security<br>offset granted?}
SSO -->|Yes| SSOValidate{Complete date/amount<br>data, no overlap?}
SSOValidate -->|No| BlockedSSO([Blocked: incomplete offset data])
SSOValidate -->|Yes| SSOSave[Save CL_AWARD_SS_OFFSET]
SSO -->|No, Denied| SSOSave2[Save with no additional checks]
SSOSave --> GenPayment[Generate monthly award payment]
SSOSave2 --> GenPayment
GenPayment --> Cap{Amount within<br>$250,000 cap?}
Cap -->|No| BlockedCap([Blocked: exceeds cap])
Cap -->|Yes| Payees[Generate restricted<br>award payees]
Payees --> Reduction[Apply reduction ceilings<br>by payee class/issue date]
Reduction --> DupCheck{Overlaps a prior<br>payment on this award?}
DupCheck -->|Yes| BlockedDup([Blocked: previously-paid<br>payee overlap])
DupCheck -->|No| Post[Post via Payment posting<br>and totals management]
Post --> Done([Award payment released])
Failure and edge-case behavior¶
- Award reduction ceilings and PPD lump-sum guidance are enforced with a January 1, 2012 date cutover baked directly into the class code (
PercentLimitChangeDate), not a configurable table — a future policy change would require a code change. - The double-payment guard (
GetPreviouslyPaidPayees) is scoped per award; it does not detect duplicate payments across different awards on the same claim. - Payee-type downgrading to Other happens silently with no error or warning surfaced to the caller (BR-CP-036), which could mask a data-entry mistake if not caught downstream in the UI.
- No dedicated SQL catalog entries were found for
clsFederalAwardPayment/clsFederalPayment; their persistence path is inferred* rather than directly traced to a catalogued statement. - Active-status changes are blocked while payments are "in progress" (financial transaction status codes 1-3), but the award record itself does not expose which specific payment is blocking the transition.
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
Business\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAward.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardCollection.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsFatalAward.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsPPDAward.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsPTDAward.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardSSOffset.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardSSOffsetCollection.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsFatalPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsPPDPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsPTDPayment.vbBusiness\SAIF.Business.Claim.Payment\Payees\clsAwardPayeeInfo.vbBusiness\SAIF.Business.Claim.Payment\Payments\clsFederalAwardPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\clsFederalPayment.vb