SAIF.Business.Policy operations and processes¶
This page catalogs the reusable policy-domain operations implemented or orchestrated by SAIF.Business.Policy. Detailed step-by-step logic lives in the individual operation pages under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Retrieve latest policy period effective date | Return the latest effective date for a policy period. | Most recent period requested | IDataPortalInfo, policy number |
Latest period effective date | BR-POL-001 | POLICY_PERIOD | SQL-008 |
| Retrieve policy period expiration date | Return the expiration date for a specific policy period. | Policy number and effective date supplied | IDataPortalInfo, policy number, effective date |
Period expiration date | BR-POL-002 | POLICY_PERIOD, POLICY_PERIOD_NON_WCIS | SQL-011 |
| Retrieve anniversary rate date | Return the anniversary rate date for a policy period. | Anniversary-rate-date metadata requested | IDataPortalInfo, policy number, effective date |
Anniversary rate date | BR-POL-002 | POLICY_PERIOD, POLICY_PERIOD_NON_WCIS | SQL-004 |
| Determine policy market type | Translate the persisted market-type code into a domain enum. | Market type requested | IDataPortalInfo, policy number |
Enums.MarketTypes |
BR-POL-003, BR-POL-004 | POLICY | SQL-007 |
| Retrieve maximum premium history set id | Find the latest eligible premium-history set for a policy period. | Current set id requested | IDataPortalInfo, policy number, effective date |
Premium-history set id or 0 |
BR-POL-005, BR-POL-006 | PREM_HIST_SUMMARY | SQL-009 |
| Retrieve policy minimum premium | Call the Oracle rating package to calculate minimum premium. | Premium-history set id supplied | IDataPortalInfo, premium-history set id |
Minimum premium amount | BR-POL-007, BR-POL-020 | PREM_HIST_SUMMARY, POLICY_PERIOD | SQL-010 |
| Determine whether the information page was printed | Check whether a P401 endorsement was printed for the period. | Issued-state check requested | IDataPortalInfo, policy number, effective date |
Boolean flag | BR-POL-009 | ENDORSEMENT | SQL-006 |
| Determine policy ownership system | Classify a policy as WCIS-owned or SAIF Quote-owned. | Ownership requested | IDataPortalInfo, policy number |
Enums.PolicyOwnershipSystems |
BR-POL-010, BR-POL-025 | DUAL | SQL-005 |
| Retrieve hazard groups effective on a date | Load read-only hazard-group rows active for a given date. | Effective-dated hazard-group list requested | IDataPortalInfo, effective date |
clsHazardGroupCollection |
BR-POL-011, BR-POL-012 | HAZARD_GROUP | SQL-002 |
| Load code maps | Load and cache policy code tables. | Code-map instance requested | IDataPortalInfo, optional refresh |
Code-map instance | BR-POL-013, BR-POL-014 | BENEFIT_JURISDICTION_CODE, MANUAL_CLASS_TYPE_CODE | SQL-001, SQL-003 |
| Translate domain codes to and from enums | Provide shared conversion logic between persisted codes and domain enums. | Code or enum provided | Policy code or enum | Converted enum or code | BR-POL-003, BR-POL-004 | POLICY | SQL-007 |
| Compare and hash period rating information | Evaluate equivalence and hash identity for period-rating contracts. | Comparison or helper requested | iPeriodRatingInfo instances |
Boolean result or hash | BR-POL-015 | N/A | N/A |
| Compare and locate hazard groups | Use hazard-group identity to compare objects and scan collections. | Equality, key lookup, or removal requested | Hazard-group object or id | Match, located item, or removal | BR-POL-016 | HAZARD_GROUP | SQL-002 |
Process flow diagram¶
The following diagram shows how callers move from domain lookup requests to direct SQL, BOF retrieval, or Oracle package execution.
flowchart TD
Caller[Caller] --> Choice[What is needed?]
Choice --> Dates[Policy dates and status]
Choice --> Hazard[Hazard groups]
Choice --> Codes[Enum and code maps]
Choice --> Proc[Oracle package logic]
Dates --> SQL[Inline SQL reads]
Hazard --> BOF[BOF retrieve lifecycle]
Codes --> Cache[Cached code maps]
Proc --> Oracle[Stored procedures and scalar functions]
Inherited operations and processes¶
From clsBusinessBase (SAIF.Framework.Core)¶
| Operation | Intent | Provided by | Origin | Embedded in |
|---|---|---|---|---|
| Edit lifecycle * | Supplies begin-edit, cancel-edit, and apply-edit behavior for mutable BOF business objects. | clsBusinessBase |
SAIF.Framework.Core |
Retrieve hazard groups effective on a date |
| Rule evaluation * | Runs registered rule handlers and exposes broken-rule state to UI/data-binding consumers. | clsBusinessBase |
SAIF.Framework.Core |
Compare and locate hazard groups |
From clsBusinessCollectionBase (SAIF.Framework.Core)¶
| Operation | Intent | Provided by | Origin | Embedded in |
|---|---|---|---|---|
| Collection traversal * | Supports traversal and current-item management across BOF collections. | clsBusinessCollectionBase |
SAIF.Framework.Core |
Retrieve hazard groups effective on a date |
| Cascading save * | Provides framework save orchestration for collection items, even though this library keeps hazard groups read-only.* | clsBusinessCollectionBase |
SAIF.Framework.Core |
Compare and locate hazard groups |
Database interactions¶
Stored procedure operations¶
| Operation | Description | Source | Link |
|---|---|---|---|
| Policy minimum premium calculation | Computes minimum premium and expense-constant outputs for a premium-history set. | pk73069_rating_procs.get_minimum_expense_constant |
Details |
| Policy ownership determination | Resolves submission ownership and defaults missing rows to WCIS ownership. | pk73102_policy.does_wcis_own_submission |
Details |
Failure and edge-case behavior¶
PolicyMinimumPremiumsuppresses Oracle exceptions and returns a defaulted value.*- Unknown translation codes return unassigned/default enum values instead of raising.
- Hazard-group retrieval is intentionally read-only and exposes no persistence path.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Database tables
- SQL catalog
- API reference
- Configuration
- Procedures
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\PolicyInformation.vbBusiness\SAIF.Business.Policy\clsHazardGroup.vbBusiness\SAIF.Business.Policy\clsHazardGroupCollection.vbBusiness\SAIF.Business.Policy\Enums.vbBusiness\SAIF.Business.Policy\iPeriodRatingInfo.vbBusiness\SAIF.Business.Policy\CodeMaps\clsBenefitJurisdictionCodeMap.vbBusiness\SAIF.Business.Policy\CodeMaps\clsManualClassTypeCodeMap.vbOracle DBA_SOURCE: WCIS_DBA.pk73069_rating_procsOracle DBA_SOURCE: WCIS_DBA.pk73102_policy