This page captures business rules enforced by this library. SAIF.Business.Payment contains substantive eligibility logic in clsEligPayeeClaimCollection.getEligClaimPayees, which evaluates worker and beneficiary eligibility through explicit conditional checks. The two contract-level inferred rules (BR-PAY-01, BR-PAY-02) are retained, and the implemented eligibility rules from clsEligPayeeClaimCollection.vb are documented below as BR-PAY-03, BR-PAY-04, BR-PAY-05, BR-PAY-06, and BR-PAY-07.
A payee is only eligible for claim payment if a corresponding clsEligPayeeClaim record exists and is active for that claim.**
Trigger
Payment processing code evaluates payee eligibility for a given claim.**
Enforcement
The existence and state of a clsEligPayeeClaim object for the claim; exact eligibility criteria (status and date fields) require deeper inspection of clsEligPayeeClaim.vb properties and After* validation logic, which were not fully traced.**
Outcome
Payees without a valid clsEligPayeeClaim record are not eligible for claim payment.**
BR-PAY-03: Dead worker exclusion from eligible payee list¶
Field
Value
Statement
A worker who has a recorded death date is excluded from the eligible payee list unless the caller explicitly requests inclusion of non-eligible payees.
Trigger
getEligClaimPayees is called with inIncludeNonEligiblePayees = False (the default) and the worker record has DeathDate > Date.MinValue.
Enforcement
clsEligPayeeClaimCollection.getEligClaimPayees: If l_Worker.DeathDate > Date.MinValue And Not inIncludeNonEligiblePayees — the worker payee record is not added to the collection.
Outcome
Deceased workers do not appear as eligible payees on claims unless the override flag is set.
BR-PAY-04: Child under 26 eligible as beneficiary payee¶
Field
Value
Statement
A beneficiary with a child relationship (RelationshipToWorkerCode = "2") is eligible as a payee if their birth date plus 26 years is on or after today.
Trigger
getEligClaimPayees iterates the beneficiary list and the beneficiary RelationshipToWorkerCode is "2".
Enforcement
clsEligPayeeClaimCollection.getEligClaimPayees: If l_Bene.BirthDate.AddYears(26) >= Today Then l_add = True.
Outcome
Child beneficiaries under age 26 are included in the eligible payee collection.
BR-PAY-05: Invalid/disabled child over 26 exception¶
Field
Value
Statement
A child beneficiary age 26 or older is still eligible as a payee if they are flagged as an invalid or disabled child (InvalidCode = "Y") and their award eligibility has not expired (AwardEligExpDate > Now).
Trigger
getEligClaimPayees iterates the beneficiary list, the beneficiary RelationshipToWorkerCode is "2", and BirthDate.AddYears(26) < Today.
Enforcement
clsEligPayeeClaimCollection.getEligClaimPayees: If l_Bene.InvalidCode = "Y" And l_Bene.AwardEligExpDate > Now Then l_add = True.
Outcome
Disabled children over 26 whose awards are active remain eligible payees.
When the inIncludeNonEligiblePayees flag is True, all workers and beneficiaries are added to the payee collection regardless of their eligibility status.
Trigger
getEligClaimPayees is called with inIncludeNonEligiblePayees = True (added 2012-11-05).
Enforcement
clsEligPayeeClaimCollection.getEligClaimPayees: If l_add Or inIncludeNonEligiblePayees Then — the flag short-circuits all eligibility checks for beneficiaries; dead workers are similarly included when this flag is True.
Outcome
The returned collection contains all workers and beneficiaries, including those who would otherwise be filtered by BR-PAY-03, BR-PAY-04, BR-PAY-05, and BR-PAY-06.
BR-PAY-01 and BR-PAY-02 remain inferred or unconfirmed at the contract level; the implementing logic resides in consuming libraries (primarily SAIF.Business.Payment.EFT).*
Note: Statements marked with * were inferred from code structure, naming
conventions, or contextual evidence where direct confirmation was not available
in source artifacts. Statements marked with ** could not be confirmed; treat
as unknown until verified.