Skip to content

clsPolicyPeriodCollection

clsPolicyPeriodCollection retrieves and indexes the ordered set of policy terms for one policy. It is the only compiled entry point that issues pk72846_view_policy.getPolicyPeriods, materializes the returned rows into clsPolicyPeriod objects, and supplies the list that clsPolicyData later scans for current-term, renewal-term, DOI-effective, and information-page-printed decisions.

Purpose

  • Execute pk72846_view_policy.getPolicyPeriods and convert each returned row into a clsPolicyPeriod instance.
  • Provide indexed and keyed lookups over the loaded periods so clsPolicyData can apply BR-VP-018.
  • Supply the ordered sequence consumed by GetLatestPolicyPeriodInfoPagePrinted, which relies on collection order when applying BR-VP-019.*

Context

  • Namespace: SAIF.Business.View.Policy
  • Assembly/package: SAIF.Business.View.Policy (embedded)

Public members

Member Signature Purpose
Item Default Public ReadOnly Property Item(ByVal Index As Integer) As clsPolicyPeriod Returns the period at a specific collection position after retrieval.
Item Default Public ReadOnly Property Item(ByVal inPolicyPerEffDate As Date) As clsPolicyPeriod Finds the term whose effective date exactly matches the requested date.
Item Default Public ReadOnly Property Item(ByVal inStatus As String) As clsPolicyPeriod Finds the first term carrying a given status value, such as the Open or Renew statuses used by BR-VP-018.
ItemEffectiveAtDOI Public ReadOnly Property ItemEffectiveAtDOI(ByVal inDOI As Date) As clsPolicyPeriod Returns the term whose effective/expiration range contains the supplied date of injury.
MyCriteria Public ReadOnly Property MyCriteria() As Criteria Exposes the retrieval criteria, including policy number and optional top-N limit, to the data-access pipeline.
Add Public Shadows Function Add(ByVal inPolicyPeriod As clsPolicyPeriod) As Integer Adds a materialized period to the in-memory collection.
Contains Public Overloads Function Contains(ByVal inPolicyPeriod As clsPolicyPeriod) As Boolean Reports whether an equivalent period object is already present.
Contains Public Overloads Function Contains(ByVal inPolicyNum As Decimal) As Boolean Reports whether the collection contains a period whose equality comparison matches the supplied policy number.*
ContainsDeleted Public Overloads Function ContainsDeleted(ByVal inPolicyPeriod As clsPolicyPeriod) As Boolean Reports whether an equivalent period object sits in the collection's deleted list.
ContainsDeleted Public Overloads Function ContainsDeleted(ByVal inPolicyNum As Decimal) As Boolean Reports whether the deleted list contains a period whose equality comparison matches the supplied policy number.*
Remove Public Sub Remove(ByVal inPolicyPeriod As clsPolicyPeriod) Removes a specific period object from the in-memory list.
Remove Public Sub Remove(ByVal inPolicyNum As Decimal) Removes the first loaded period whose policy number matches the supplied value.
GetPolicyPeriodCollection Public Shared Function GetPolicyPeriodCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal) As clsPolicyPeriodCollection Retrieves all periods for a policy through the data portal.
GetPolicyPeriodCollection Public Shared Function GetPolicyPeriodCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal, ByVal inTopNPolicyPeriods As Integer) As clsPolicyPeriodCollection Retrieves only the requested top-N subset of periods for a policy.
DataPortalInfo Friend Property DataPortalInfo() As IDataPortalInfo Carries the portal context used by the nested criteria object.
PolicyNum Friend Property PolicyNum() As Decimal Holds the policy number passed to pk72846_view_policy.getPolicyPeriods.
TopNPolicyPeriods Friend Property TopNPolicyPeriods() As Decimal Holds the optional row-count limit passed to the retrieval procedure.
RetrieveSQL Friend ReadOnly Property RetrieveSQL() As String Names the stored procedure used to fetch the period rows.

Behavioral notes

  • BeforeRetrieve sends apolicynum, aTopNPolPer, and a ref cursor to pk72846_view_policy.getPolicyPeriods, then AfterRetrieve loads each reader row into a fresh clsPolicyPeriod.
  • clsPolicyData.GetCurrentPolicyPeriod and related helpers rely on this collection's status and date indexers to resolve the current, renewal, and DOI-effective term under BR-VP-018.
  • The latest printed information-page logic is implemented on clsPolicyData, but the scan can only work if this collection preserves the procedure's term ordering.*

Constraints and usage notes

  • This collection omits inherited members because its base type (clsBusinessCollectionBase) is external to the embedded library documentation set.
  • Create/insert/update/delete criteria all return empty strings, so the collection documents read-only retrieval behavior aligned with BR-VP-027.
  • The key-based Contains and Remove overloads operate on policy number, not period effective date, so callers needing a specific term should prefer the date-based indexer.

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

  • SAIF.Business.View.Policy/clsPolicyPeriodCollection.vb
  • SAIF.Business.View.Policy/clsPolicyData.vb