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.getPolicyPeriodsand convert each returned row into aclsPolicyPeriodinstance. - Provide indexed and keyed lookups over the loaded periods so
clsPolicyDatacan 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¶
BeforeRetrievesendsapolicynum,aTopNPolPer, and a ref cursor topk72846_view_policy.getPolicyPeriods, thenAfterRetrieveloads each reader row into a freshclsPolicyPeriod.clsPolicyData.GetCurrentPolicyPeriodand 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
ContainsandRemoveoverloads 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.vbSAIF.Business.View.Policy/clsPolicyData.vb