Skip to content

SAIF.Business.UnitStat.Claim business rules

This page captures business rules enforced by this library.

BR-001: NCCI claim type derives from claim and coverage context

Field Value
Statement The NCCI claim type code is derived from the part-A claim, optional part-B claim, and coverage code.
Trigger When current-loss rows are retrieved.
Enforcement clsCurrentLoss calls pk73304_loss_summary.get_ncci_claim_type_code inside its retrieval SQL.
Outcome Current-loss rows surface the derived NCCI claim-type code.
Tables US_COVERAGE_COMBINATION, US_CLAIM_UNIT, CL_INJURY_CLAIM
SQL SQL-007
Source Business\SAIF.Business.UnitStat.Claim\Current Loss\clsCurrentLoss.vb

BR-002: Non-compensable claims use special settlement and fraud logic

Field Value
Statement Claims reported as non-compensable use alternate settlement-type and fraud-type derivation logic.
Trigger When current-loss rows are retrieved for reporting.
Enforcement clsCurrentLoss uses pk73304_loss_summary.report_non_compensable to branch to specialized settlement and fraud functions.
Outcome Current-loss rows reflect the correct non-compensable reporting treatment.
Tables US_CLAIM_UNIT, US_REPORTED_LOSS
SQL SQL-007
Source Business\SAIF.Business.UnitStat.Claim\Current Loss\clsCurrentLoss.vb

BR-003: NCCI loss type derives from injury occupational-disease codes

Field Value
Statement The NCCI loss-type code is derived from the injury occupational-disease indicator.
Trigger When current-loss rows are retrieved.
Enforcement clsCurrentLoss calls pk73304_loss_summary.get_ncci_loss_type_code within its select statement.
Outcome Current-loss rows contain the derived NCCI loss-type code.
Tables CL_INJURY_CLAIM
SQL SQL-007
Source Business\SAIF.Business.UnitStat.Claim\Current Loss\clsCurrentLoss.vb

BR-004: Coverage-combination identifiers come from an Oracle sequence

Field Value
Statement New coverage-combination rows require a generated sequence value from Oracle before insert.
Trigger When a coverage-combination row is created.
Enforcement clsCoverageCombinationCollection.Criteria.CreateSQL selects COVERAGE_COMBINATION_SEQ_NUM_NEXTVAL from DUAL.
Outcome Coverage-combination inserts persist unique primary identifiers.
Tables DUAL, US_COVERAGE_COMBINATION
SQL SQL-001, SQL-002, SQL-003
Source Business\SAIF.Business.UnitStat.Claim\Coverage Combination\clsCoverageCombinationCollection.vb

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.
Confidence Verified
Source Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsDeniedFinal.vb; Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsFinalDenial.vb; Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsFraudRecovery.vb; Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsRefund.vb; Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsLossValuation.vb

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.
Confidence Verified
Source Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsLossSummary.vb

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.
Confidence Verified
Tables US_LOSS_SUMMARY
SQL SQL-006, SQL-021
Source Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsLossSummary.vb

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.
Confidence Verified
Source Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsLossValuation.vb; Business\SAIF.Business.UnitStat.Claim\Loss Summary\clsVoidedClaimOffsets.vb

Sources

  • Business\SAIF.Business.UnitStat.Claim\Coverage Combination\clsCoverageCombinationCollection.vb
  • Business\SAIF.Business.UnitStat.Claim\Current Loss\clsCurrentLoss.vb