﻿---
title: clsPaymentPlanCollection
summary: API reference for clsPaymentPlanCollection.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
---

# clsPaymentPlanCollection

BOF collection of `clsPaymentPlan` instances; groups all payment plan records for a policy period. Consumed by billing workflows to enumerate and select the active payment plan.*

## Purpose
- Provides enumerable access to all payment plan records for a policy period.*
- Consumed by billing configuration workflows that need to inspect or select from a policy's payment plans.*

## Context
- Namespace: `SAIF.Business.Policy.Premium`
- Assembly/package: `SAIF.Business.Policy.Premium`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| CurrentItem | `Public Shadows ReadOnly Property CurrentItem() As clsPaymentPlan` | Business value exposed as current item for callers of this API.* |
| Save | `Public Overrides Function Save() As Boolean` | Persists this instance and all child objects to Oracle through the BOF data portal; returns True on success. |
| Add | `Public Shadows Function Add(ByVal inPaymentPlan As clsPaymentPlan) As Integer` | Adds the supplied cls payment plan to the collection. |
| Contains | `Public Overloads Function Contains(ByVal inPaymentPlan As clsPaymentPlan) As Boolean` | Checks whether the collection already contains the specified item or identifier. |
| Contains | `Public Overloads Function Contains(ByVal inDefaultPlanCode As String) As Boolean` | Checks whether the collection already contains the specified item or identifier. |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inPaymentPlan As clsPaymentPlan) As Boolean` | Checks whether the collection's deleted-items list already contains the specified item or identifier. |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inDefaultPlanCode As String) As Boolean` | Checks whether the collection's deleted-items list already contains the specified item or identifier. |
| Remove | `Public Sub Remove(ByVal inPaymentPlan As clsPaymentPlan)` | Removes the matching cls payment plan from the collection. |
| Remove | `Public Sub Remove(ByVal inDefaultPlanCode As String)` | Removes the matching cls payment plan from the collection. |
| Where | `Public Function Where(ByVal match As Predicate(Of clsPaymentPlan)) As clsPaymentPlanCollection` | Returns a typed subset containing only items that satisfy the supplied predicate. |
| GetPaymentPlanCollection | `Public Shared Function GetPaymentPlanCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal, ByVal inPolicyPeriodEffDate As Date) As clsPaymentPlanCollection` | Loads cls payment plan collection for the supplied lookup criteria. |
## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| First | `Sub First()` | Moves traversal to the first item in the BOF collection.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Last | `Sub Last()` | Moves traversal to the last item in the BOF collection.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Next | `Sub Next()` | Advances traversal to the next item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |
| Previous | `Sub Previous()` | Moves traversal to the previous item.† | `SAIF.Framework.Core — clsBusinessCollectionBase` |

## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\clsPaymentPlanCollection.vb`.

## Constraints and usage notes
- Collection is scoped to a single policy period.*


> **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.

## Sources
- `Business\SAIF.Business.Policy.Premium\clsPaymentPlanCollection.vb`