---
title: SAIF.Business.Policy.Audit.Premium architecture
summary: Architectural responsibilities, boundaries, and interaction patterns for the premium audit domain library.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Audit.Premium
reference_type: package
---

# SAIF.Business.Policy.Audit.Premium architecture

`SAIF.Business.Policy.Audit.Premium` sits between consuming policy applications and Oracle-backed policy/audit data. The library contributes premium-audit orchestration and domain validation, while the framework supplies rule evaluation, data-portal execution, and edit-session behavior.*

## Responsibilities
- Model premium audits, policy periods, events, review outcomes, and result payloads.
- Select expiring and off-cycle policy periods for audit through configurable rule catalogs.
- Assign audits to auditors by territory, override, and monthly-capacity rules.
- Synchronize audits with WCIS coverage changes and remote payroll-audit/document actions.

## Component boundaries
- All persistence flows through nested `Criteria` classes and `IDataPortalInfo`; no source file opens a database connection directly.*
- The library has no UI, HTTP endpoint, or service host.
- Remote WCIS integration is limited to stored procedures and `@POLDB` wrappers invoked from business objects.
- Seven uncompiled source files on disk are excluded from runtime behavior and are treated as dead code or future work items.**

## Interaction model
Premium-audit workflows follow the BOF factory-and-criteria pattern: callers use shared factory methods, nested criteria expose SQL or stored-procedure names, `Before*` methods bind parameters into an `IDataRequest`, and `After*` methods hydrate or validate the business object. Validation rules run through inherited BOF lifecycle operations.*

## Architecture diagram
The following diagram shows the library's main collaborators.

```mermaid
flowchart TD
 A[Consuming policy applications] --> B[SAIF.Business.Policy.Audit.Premium]
 B --> C[Policy and audit sibling packages]
 B --> D[SAIF.BOF.Framework / SAIF.Framework.Core]
 D --> E[(Oracle via ODP.NET)]
 B --> F[WCIS Oracle packages and @POLDB wrappers]
```

## Sequence diagram
The following diagram shows the high-level selection flow.

```mermaid
sequenceDiagram
 participant Caller
 participant Manager as clsAuditSelectionManager
 participant Tester as clsAuditSelectionTester
 participant Portal as IDataPortalInfo
 participant Oracle as WCIS Oracle packages
 Caller->>Manager: Request audit selection run
 Manager->>Portal: Build and execute criteria request
 Portal->>Oracle: Stored procedure / SQL retrieval
 Oracle-->>Portal: Candidate policy periods
 Portal-->>Manager: Selection policy period collection
 Manager->>Tester: Evaluate configured rules
 Tester-->>Manager: Qualifying and disqualifying results
 Manager-->>Caller: Selected audits and counters
```

## Design constraints
- The active framework rule engine is the V1 `clsRulesManager`.*
- `clsAuditCollection.GenerateRetrieveSQL` contains an unclosed `JOIN BUSINESS` parenthesis defect.
- `PolicyNumberList` and `RowLimit` are interpolated into SQL text without bind parameters, creating a SQL-injection-shaped risk pattern.
- Three Oracle references remain unresolved from repository evidence: `pk73211_premium_audit.get_auditable_policy_periods`, `pk73211_premium_audit.get_claim_for_0_payroll_count`, and `sp72658_get_gov_class`.**

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)



> **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.Audit.Premium\clsAudit.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditCollection.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionTester.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb`
- `Business\SAIF.Business.Policy.Audit.Premium\clsAuditPolicyPeriod.vb`
