Skip to content

Build a unified policy period timeline

Build a unified policy period timeline describes the corresponding policy-core workflow and its BOF or Oracle touchpoints.

Field Value
Operation ID OP-003
Trigger any consumer needing the full period history of a policy across both administration systems
Inputs data portal, policy number (or IEnumerable(Of Decimal) of policy numbers, or an association type)
Outputs clsPolicyPeriodBaseCollection of iPolicyPeriod items
Primary components `clsPolicyPeriodBaseCollection.GetPolicyPeriods(inDataportal, inPolicyNumber) (clsPolicyPeriodBaseCollection.vb)`
Entry point Business\SAIF.Business.Policy.Core

Steps

  1. Retrieve modern periods via clsPolicyPeriodCollection (tables POLICY_PERIOD, POLICY_PERIOD_MASTER).
  2. Retrieve legacy periods via clsLegacyPolicyPeriodCollection (tables POLICY_PERIOD_NON_WCIS, NON_WCIS_STAT_TRANS).
  3. Merge both sets into one collection (BR-010).
  4. Sort ascending by EffectiveDate.
  5. Call LinkItems() to establish prior/next period links, then SetCurrent(0).
  6. Overloads: the IEnumerable(Of Decimal) overload applies SelectMany across policy numbers; the association-type overload unions both sources and orders by EffectiveDate descending.
  7. Return the merged collection.
  8. Consolidate supporting references.
  9. Related business rules: BR-004, BR-005, BR-010, BR-011, BR-012, BR-013, BR-014, BR-015, BR-016, BR-031, BR-032
  10. Related SQL statements: SQL-012, SQL-033, SQL-061, SQL-062, SQL-063, SQL-078, SQL-079, SQL-080, SQL-081, SQL-082, SQL-083, SQL-088, SQL-091, SQL-134, SQL-155
  11. Related tables: DUAL, POLICY_PERIOD_MASTER, POLICY_PERIOD_NON_WCIS, POLICY_PERIOD

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Trigger]) --> S1[Apply policy-core logic]
    S1 --> D{Validation or branch?}
    D -->|Continue| S2[Execute BOF SQL or Oracle call]
    D -->|Stop| EndErr([Return error or empty result])
    S2 --> EndOk([Return populated result])

Failure and edge-case behavior

  • Error, warning, and empty-result behavior follows the rules and SQL cited in the steps above.
  • Stored-procedure-backed paths depend on Oracle-side logic outside this repository.**

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.Core\clsPolicy.vb
  • Business\SAIF.Business.Policy.Core\clsPolicyPeriodBase.vb
  • Business\SAIF.Business.Policy.Core\clsPolicyPeriod.vb
  • Business\SAIF.Business.Policy.Core\clsLegacyPolicyPeriod.vb
  • Business\SAIF.Business.Policy.Core\clsCancelReasonOverride.vb
  • Business\SAIF.Business.Policy.Core\WCISInquiry.vb