BR-005: Loss-summary derivations stay centralized in the Oracle package¶
Field
Value
Statement
Unit-stat helper objects retrieve denial, fraud-recovery, refund, and related derived reporting values through PK73304_LOSS_SUMMARY package calls rather than inline SQL.
Trigger
When loss-summary helper objects request derived claim values during read operations.
Enforcement
clsDeniedFinal, clsFinalDenial, clsFraudRecovery, clsRefund, and clsLossValuation call named PK73304_LOSS_SUMMARY functions or procedures from their criteria read paths.
Outcome
Oracle package logic remains the authoritative source for loss-summary derivations and returned reporting values.
BR-006: Indemnity totals are floored by settlement third-party-prediction offsets and cannot go negative¶
Field
Value
Statement
The derived total incurred and total paid indemnity amounts on a loss summary can never fall below the sum of SETL-category offsets whose OffsetTypeCode is TPN (third-party-prediction non-lien), and are never allowed to go below zero.
Trigger
Whenever clsLossSummary.TotalIncurredIndemnityAmount or TotalPaidIndemnityAmount is evaluated — during valuation, save, or dirty-checking.
Enforcement
clsLossSummary.TotalIncurredIndemnityAmount and TotalPaidIndemnityAmount compute a floor from matching SETL/TPN offsets on LossCategories, raise the total to the floor if the summed category amounts fall below it, and otherwise clamp the result to a minimum of zero.
Outcome
Persisted indemnity totals never understate the third-party-prediction floor and never persist as negative amounts.
BR-007: Loss-summary persistence binds derived totals, not raw in-memory amounts¶
Field
Value
Statement
When a loss summary is inserted or updated, the persisted INCURRED_MEDICAL_AMOUNT, INCURRED_INDEMNITY_AMOUNT, PAID_MEDICAL_AMOUNT, and PAID_INDEMNITY_AMOUNT columns are populated from the computed Total*Amount properties (derived from the Claim Financial API and category offsets), not from the plain property backing fields set by callers.
Trigger
clsLossSummary.BeforeInsert and BeforeUpdate.
Enforcement
Both methods bind TotalIncurredMedicalAmount, TotalIncurredIndemnityAmount, TotalPaidMedicalAmount, and TotalPaidIndemnityAmount as the SQL parameter values for their respective columns.
Outcome
The database always reflects the current derived valuation, even if a caller attempted to set the raw amount properties directly.
BR-008: Voided claims bypass fraud, refund, and third-party offset stacking¶
Field
Value
Statement
When a claim's status code is V (Void), loss valuation creates offsets only from the single most recent claim payment (VoidedClaims offset type) instead of layering fraud-recovery, refund, and third-party-prediction offsets.
Trigger
clsLossValuation.ValueLossSummary branches on claimData.StatusCode = "V".
Enforcement
The void branch calls clsVoidedClaimOffsets.CreateOffsets exclusively; the non-void branch calls clsNDReimbursement.CreateOffsets instead, and both branches occur after the shared fraud/refund/third-party offset calls that run for every valuation regardless of status.
Outcome
A voided claim's loss summary reflects a single reversal offset per affected category rather than the full offset stack applied to active claims.