---
title: clsEligPayeeClaimCollection
summary: API reference for clsEligPayeeClaimCollection.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.Payment
reference_type: package
---

# clsEligPayeeClaimCollection

`clsEligPayeeClaimCollection` is the BOF collection object that assembles eligible-payee records for a worker's claim. It inherits `clsBusinessCollectionBase`, exposes a sentinel blank-payee constant, and provides factory, filtering, lookup, and collection-management members around the `getEligClaimPayees` workflow.

## Purpose
- Assemble and return a collection of `clsEligPayeeClaim` objects for a given claim while applying worker and beneficiary eligibility rules.
- Provide direct-deposit and debit-card filter views over the current payee collection.
- Provide typed lookup and collection-management helpers for consuming code.

## Context
- Namespace: `SAIF.Business.Payment`
- Assembly/package: `SAIF.BOF.Business.Payment`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `MSG_EMPTY_PAYEE` | `Public Const MSG_EMPTY_PAYEE As String = "< No Payee Selected >"` | Sentinel display text used for the blank placeholder payee inserted at the head of the collection. |
| `DirectDepositEligible` | `Public ReadOnly Property DirectDepositEligible(ByVal inClaimID As Decimal) As clsEligPayeeClaimCollection` | Returns a new collection containing payees that are not enrolled for debit-card authorization for the supplied claim. |
| `DebitCardEligible` | `Public ReadOnly Property DebitCardEligible(ByVal inClaimID As Decimal) As clsEligPayeeClaimCollection` | Returns a new collection containing payees that are not enrolled for direct-deposit authorization for the supplied claim. |
| `Item` | `Default Public ReadOnly Property Item(ByVal Index As Integer) As clsEligPayeeClaim` | Returns the payee at the specified list index. |
| `Item` | `Default Public ReadOnly Property Item(ByVal inEligPayeeClaim As Object) As clsEligPayeeClaim` | Returns the first payee whose equality comparison matches the supplied object. |
| `Item` | `Default Public ReadOnly Property Item(ByVal inPersonID As Decimal) As clsEligPayeeClaim` | Returns the first payee whose `PersonID` matches the supplied value. |
| `CurrentItem` | `Public Shadows ReadOnly Property CurrentItem() As clsEligPayeeClaim` | Returns the current BOF traversal item as a typed `clsEligPayeeClaim`. |
| `Add` | `Public Shadows Function Add(ByVal inclsEligPayeeClaim As clsEligPayeeClaim) As Integer` | Adds a `clsEligPayeeClaim` to the collection through the BOF base-list implementation. |
| `Contains` | `Public Overloads Function Contains(ByVal inclsEligPayeeClaim As clsEligPayeeClaim) As Boolean` | Returns `True` when the collection contains a payee whose equality comparison matches the supplied payee. |
| `NewEligClaimPayees` | `Public Shared Function NewEligClaimPayees(ByVal inDataportal As IDataPortalInfo) As clsEligPayeeClaimCollection` | BOF factory method that creates an empty `clsEligPayeeClaimCollection`. |
| `getEligClaimPayees` | `Public Shared Function getEligClaimPayees(ByVal inDataportal As IDataPortalInfo, ByVal inWorkerID As Decimal, ByVal inIncludeForeignAddresses As Boolean, Optional inIncludeNonEligiblePayees As Boolean = False, Optional inClaimID As Decimal = 0) As clsEligPayeeClaimCollection` | Retrieves worker and beneficiary data, applies [BR-PAY-03](../../business-rules.md#br-pay-03-dead-worker-exclusion-from-eligible-payee-list) through [BR-PAY-07](../../business-rules.md#br-pay-07-include-non-eligible-payees-override), selects addresses, and returns the populated payee collection. |

## Inherited public members

Members in this section are inherited from `clsBusinessCollectionBase` in `Legacy\BusinessObjectFramework`.

### From `clsBusinessCollectionBase` (`Legacy\BusinessObjectFramework`)

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `MyGuid` | `Public ReadOnly Property MyGuid() As String` | Returns the collection's generated GUID identifier. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ItemByGuid` | `Public ReadOnly Property ItemByGuid(ByVal inGuid As String) As clsBusinessBase` | Returns the first child object whose `MyGuid` matches the supplied GUID. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Contains` | `Public Function Contains(ByVal Item As clsBusinessBase) As Boolean` | Returns `True` when the active child list contains the supplied BOF child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ContainsDeleted` | `Public Function ContainsDeleted(ByVal Item As clsBusinessBase) As Boolean` | Returns `True` when the deleted-items list contains the supplied child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Rules` | `Public ReadOnly Property Rules() As clsRulesManager` | Exposes the BOF rules manager for collection-level validation and propagated child messages. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ErrorCount` | `Public ReadOnly Property ErrorCount() As Integer` | Returns the current number of BOF error messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ErrorMessages` | `Public ReadOnly Property ErrorMessages() As String()` | Returns the current BOF error messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `WarningCount` | `Public ReadOnly Property WarningCount() As Integer` | Returns the current number of BOF warning messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `WarningMessages` | `Public ReadOnly Property WarningMessages() As String()` | Returns the current BOF warning messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `InformationalCount` | `Public ReadOnly Property InformationalCount() As Integer` | Returns the current number of BOF informational messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `InformationalMessages` | `Public ReadOnly Property InformationalMessages() As String()` | Returns the current BOF informational messages on the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `BeginEdit` | `Public Sub BeginEdit()` | Starts an editable-object transaction snapshot for the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `CancelEdit` | `Public Sub CancelEdit()` | Rolls back the current editable-object transaction snapshot for the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ApplyEdit` | `Public Sub ApplyEdit()` | Commits the current editable-object transaction snapshot for the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Add` | `Public Sub Add(ByVal inChild As clsBusinessBase)` | Adds a BOF child object through the untyped base-class collection API. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Remove` | `Public Sub Remove(ByVal inChild As clsBusinessBase)` | Removes a child object from the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Clone` | `Public Function Clone() As Object` | Returns a cloned copy of the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Save` | `Public Overridable Function Save() As Boolean` | Persists the collection through the BOF save pipeline. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `SaveChild` | `Public Overridable Function SaveChild() As Boolean` | Persists the collection as a BOF child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsManaged` | `Public ReadOnly Property IsManaged() As Boolean` | Indicates whether the collection is BOF-managed. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsFirst` | `Public ReadOnly Property IsFirst(ByVal inItem As clsBusinessBase) As Boolean` | Indicates whether the supplied child object is the first item in traversal order. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `First` | `Public Function First() As clsBusinessBase` | Sets traversal to and returns the first child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `FirstItem` | `Public ReadOnly Property FirstItem() As clsBusinessBase` | Returns the first child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Next` | `Public Function [Next]() As clsBusinessBase` | Advances traversal to and returns the next child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsNext` | `Public ReadOnly Property IsNext(ByVal inItem As clsBusinessBase) As Boolean` | Indicates whether the supplied child object is immediately after the current traversal item. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `NextItem` | `Public ReadOnly Property NextItem() As clsBusinessBase` | Returns the next child object in traversal order. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `NextItem` | `Public ReadOnly Property NextItem(ByVal inRefPoint As clsBusinessBase) As clsBusinessBase` | Returns the child object after the supplied reference point. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsLast` | `Public ReadOnly Property IsLast(ByVal inItem As clsBusinessBase) As Boolean` | Indicates whether the supplied child object is the last item in traversal order. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `LastItem` | `Public ReadOnly Property LastItem() As clsBusinessBase` | Returns the last child object in the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Last` | `Public Function Last() As clsBusinessBase` | Sets traversal to and returns the last child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `CurrentItem` | `Public ReadOnly Property CurrentItem() As clsBusinessBase` | Returns the current traversal item through the base-class BOF API. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `CurrentIndex` | `Public ReadOnly Property CurrentIndex() As Integer` | Returns the current traversal index. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsCurrent` | `Public ReadOnly Property IsCurrent(ByVal inItem As clsBusinessBase) As Boolean` | Indicates whether the supplied child object is the current traversal item. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `SetCurrent` | `Public Sub SetCurrent(ByRef inObject As clsBusinessBase)` | Sets the current traversal item by object reference. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `SetCurrent` | `Public Sub SetCurrent(ByVal inIndex As Integer)` | Sets the current traversal item by index. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IndexOf` | `Public ReadOnly Property IndexOf(ByVal inObject As clsBusinessBase) As Integer` | Returns the index of the supplied child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `IsPrevious` | `Public ReadOnly Property IsPrevious(ByVal inItem As clsBusinessBase) As Boolean` | Indicates whether the supplied child object is immediately before the current traversal item. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `Previous` | `Public Function Previous() As clsBusinessBase` | Moves traversal to and returns the previous child object. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `PreviousItem` | `Public ReadOnly Property PreviousItem() As clsBusinessBase` | Returns the previous child object in traversal order. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `PreviousItem` | `Public ReadOnly Property PreviousItem(ByVal inRefPoint As clsBusinessBase) As clsBusinessBase` | Returns the child object before the supplied reference point. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `XMLElementName` | `Public Property XMLElementName() As String` | Gets or sets the XML element name used when serializing the collection. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `XMLItemName` | `Public Property XMLItemName() As String` | Gets or sets the XML element name used for child items in serialization output. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `GetReportXML` | `Public Function GetReportXML(ByVal inElementName As String) As String` | Returns report XML using the supplied element name. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `GetReportXML` | `Public Function GetReportXML(Optional ByVal inFileStream As System.IO.StreamWriter = Nothing) As String` | Returns report XML using the collection's configured element names and optional output stream. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ToXML` | `Public Function ToXML() As String` | Returns the collection's XML representation using the configured default element name. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |
| `ToXml` | `Public Function ToXml(ByVal inTagName As String) As String` | Returns the collection's XML representation using the supplied tag name. | `Legacy\BusinessObjectFramework` — `clsBusinessCollectionBase` |

## Behavioral notes
- `NewEligClaimPayees` creates an empty collection through BOF factory scaffolding; `getEligClaimPayees` is the member that populates it with worker and beneficiary data.
- `getEligClaimPayees` inserts the blank placeholder payee before any worker or beneficiary payees only when the worker lookup succeeds.
- `DirectDepositEligible` excludes payees whose EFT authorization type is `DebitCard`, while `DebitCardEligible` excludes payees whose EFT authorization type is `DirectDeposit`.
- `Criteria.CreateSQL`, `Criteria.DeleteSQL`, `Criteria.InsertSQL`, and `Criteria.UpdateSQL` throw `ApplicationException` with `clsConstants.Messages.InvalidSQLProperty`, and `Criteria.RetrieveSQL` returns a single-space string literal.

## Constraints and usage notes
- This class does not execute live SQL directly; it delegates worker, beneficiary, address, and EFT lookups to dependency libraries.
- Worker-not-found requests return an empty collection because the placeholder payee is added inside the successful worker branch.

## Sources
- `Business\SAIF.Business.Payment\clsEligPayeeClaimCollection.vb`
- `Legacy\BusinessObjectFramework\clsBusinessCollectionBase.vb`
