SAIF.Business.Policy.Core architecture¶
SAIF.Business.Policy.Core sits in the BOF business layer and owns the canonical policy aggregate. It combines BOF business objects, collection wrappers, masking-aware materialization, and Oracle procedure calls so callers can treat modern WCIS and legacy policy data as one coherent domain surface.
Responsibilities¶
- Model policy, period, location, contact, status, team-assignment, and prior-coverage data.
- Coordinate BOF retrieval and persistence lifecycles for writable entities.
- Bridge to Oracle procedures for premium, billing, governing-class, and logging logic outside this repository.
- Apply masking behavior during object materialization when callers set
MaskData.
Component boundaries¶
clsPolicy/clsPolicyCollection: policy-root retrieval and affiliated/account collections.clsPolicyPeriodBase,clsPolicyPeriod,clsLegacyPolicyPeriod,clsPolicyPeriodBaseCollection: unified WCIS and legacy policy-period behavior.- Location/contact types: address and location retrieval with masking and filters.
- Supporting code-table entities: county, entity type, offices, status codes, team functions, prior coverage, and WCIS employees.
WCISInquiry/clsWCISInterfacer: application-layer query and logging facades.
Interaction model¶
- BOF business objects contribute
CreateSQL,RetrieveSQL,InsertSQL,UpdateSQL, andDeleteSQLfragments to the data portal.† - Policy-period retrieval is the main architectural seam: callers see one merged timeline even though modern and legacy data come from different sources.
- Oracle procedures provide several premium and billing behaviors that repository VB code only invokes**.
Architecture diagram¶
The following diagram shows the main policy aggregate and its Oracle dependencies.
flowchart TD
Caller[Calling application] --> Policy[clsPolicy]
Policy --> Periods[clsPolicyPeriodBaseCollection]
Periods --> Modern[clsPolicyPeriod]
Periods --> Legacy[clsLegacyPolicyPeriod]
Policy --> Locations[Location and contact types]
Caller --> Inquiry[WCISInquiry]
Policy --> BOF[BOF data portal]
Inquiry --> Oracle[(Oracle tables and procedures)]
BOF --> Oracle
Sequence diagram¶
The following diagram shows masked policy retrieval followed by premium resolution.
sequenceDiagram
participant Client
participant Policy as clsPolicy
participant Portal as BOF portal†
participant Oracle
Client->>Policy: GetPolicy(dpi, policyNumber, maskData)
Policy->>Portal: RetrieveObject(criteria)
Portal->>Oracle: Execute retrieval SQL
Oracle-->>Portal: Data row
Portal-->>Policy: Populated object
Client->>Oracle: Resolve premium query or procedure call
Oracle-->>Client: Premium result
Design constraints¶
- Not every entity is writable; consumers must check per-type capability.
- Premium and billing behavior depends on Oracle procedure logic outside repository VB source**.
- Masking is applied during
Fill, so each participating type must honorMaskDataconsistently.*
Related documentation¶
- Index
- Overview
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Procedures
- Configuration
- API reference
Note: Statements marked with
†are derived from dependency library documentation via the Legends CLI.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.vbBusiness\SAIF.Business.Policy.Core\clsPolicyPeriodBase.vbBusiness\SAIF.Business.Policy.Core\clsPolicyPeriod.vbBusiness\SAIF.Business.Policy.Core\clsLegacyPolicyPeriod.vbBusiness\SAIF.Business.Policy.Core\WCISInquiry.vbBusiness\SAIF.Business.Policy.Core\clsWCISInterfacer.vb