---
title: clsPolicyPeriodCollection
summary: API reference for clsPolicyPeriodCollection.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-31
library: SAIF.Business.View.Policy
reference_type: package
---

# clsPolicyPeriodCollection

`clsPolicyPeriodCollection` holds the terms of a policy in retrieval order and adds the two lookups consumers actually need: fetch only the most recent N periods, and find the period in force on a given date of injury. The second is the mechanism by which claim-side consumers align a loss date to the coverage that was in force.

## Purpose

- Retrieves the periods of a policy, optionally limited to the most recent N ([Retrieve supporting policy aggregates](../../operations/retrieve-supporting-policy-aggregates.md)).
- Finds the period in force on a supplied date of injury ([BR-014](../../business-rules.md#br-014-association-date-defaults-differ-per-association-family-and-detail-load-failures-are-non-fatal)).
- Distinguishes removed periods from absent ones through the inherited deleted-items tracking.

## Context

- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.BOF.Business.View.Policy`
- Declared in: `Business/SAIF.Business.View.Policy/clsPolicyPeriodCollection.vb`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| ItemEffectiveAtDOI | `Public ReadOnly Property ItemEffectiveAtDOI(ByVal inDOI As Date) As clsPolicyPeriod` | The term of coverage in force on a supplied date of injury ([BR-014](../../business-rules.md#br-014-association-date-defaults-differ-per-association-family-and-detail-load-failures-are-non-fatal)). |
| MyCriteria | `Public ReadOnly Property MyCriteria() As Criteria` | The criteria this instance was retrieved with. |
| Add | `Public Shadows Function Add(ByVal inPolicyPeriod As clsPolicyPeriod) As Integer` | Appends a member and returns its ordinal position. |
| Contains | `Public Overloads Function Contains(ByVal inPolicyPeriod As clsPolicyPeriod) As Boolean` | Reports whether a member is present in the collection. |
| Contains | `Public Overloads Function Contains(ByVal inPolicyNum As Decimal) As Boolean` | Reports whether a member is present in the collection. |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inPolicyPeriod As clsPolicyPeriod) As Boolean` | Reports whether a member was removed from the collection rather than never present. |
| ContainsDeleted | `Public Overloads Function ContainsDeleted(ByVal inPolicyNum As Decimal) As Boolean` | Reports whether a member was removed from the collection rather than never present. |
| Remove | `Public Sub Remove(ByVal inPolicyPeriod As clsPolicyPeriod)` | Moves a member to the deleted list, where `ContainsDeleted` can still find it. |
| Remove | `Public Sub Remove(ByVal inPolicyNum As Decimal)` | Moves a member to the deleted list, where `ContainsDeleted` can still find it. |
| GetPolicyPeriodCollection | `Public Shared Function GetPolicyPeriodCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal) As clsPolicyPeriodCollection` | Retrieves every term of coverage on a policy ([Retrieve supporting policy aggregates](../../operations/retrieve-supporting-policy-aggregates.md)). |
| GetPolicyPeriodCollection | `Public Shared Function GetPolicyPeriodCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal, ByVal inTopNPolicyPeriods As Integer) As clsPolicyPeriodCollection` | Retrieves only the most recent N terms of a policy, for consumers that display a bounded history ([Retrieve supporting policy aggregates](../../operations/retrieve-supporting-policy-aggregates.md)). |

## Inherited public members

Members in this section are inherited from `clsBusinessCollectionBase` in `SAIF.Framework.Core`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| CurrentItem | `Public Overridable ReadOnly Property CurrentItem() As Object` | The member most recently selected through `SetCurrent`; collections in this library shadow it to return their own element type.† | `SAIF.Framework.Core` — `clsBusinessCollectionBase` |
| Count | `Public ReadOnly Property Count() As Integer` | Number of live members, excluding items moved to the deleted list.† | `SAIF.Framework.Core` — `clsBusinessCollectionBase` |
| Add | `Public Overridable Function Add(ByVal inItem As Object) As Integer` | Appends a member and returns its ordinal position.† | `SAIF.Framework.Core` — `clsBusinessCollectionBase` |
| Contains | `Public Overridable Function Contains(ByVal inItem As Object) As Boolean` | Reports whether a member is present in the live collection.† | `SAIF.Framework.Core` — `clsBusinessCollectionBase` |
| SetCurrent | `Public Overridable Sub SetCurrent(ByVal inKey As Object)` | Selects the member that `CurrentItem` will return.† | `SAIF.Framework.Core` — `clsBusinessCollectionBase` |
| IsValid | `Public Overridable ReadOnly Property IsValid() As Boolean` | Reports whether the object currently breaks any registered business rule.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| IsSavable | `Public Overridable ReadOnly Property IsSavable() As Boolean` | Reports whether the object may be written back; the read-only types in this library override it to refuse persistence.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| BrokenRulesCollection | `Public ReadOnly Property BrokenRulesCollection() As clsBrokenRulesCollection` | Carries the messages for the rules currently broken, which is what drives `IsValid` to false.† | `SAIF.Framework.Core` — `clsBusinessBase` |

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources

- `Business/SAIF.Business.View.Policy/clsPolicyPeriodCollection.vb`
