---
title: Select policies for premium audit (batch/expiring)
summary: Premium-audit workflow detail.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Audit.Premium
reference_type: package
operation_id: OP-001
trigger: Monthly batch selection run
---

# Select policies for premium audit (batch/expiring)

Premium-audit workflow detail.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-001 |
| **Trigger** | Monthly batch selection run |
| **Inputs** | IDataPortalInfo, expiration date, maximum cyclical count, optional policy filter |
| **Outputs** | Candidate periods, selected audits, overrides, and counters |
| **Primary components** | `clsAuditSelectionManager.GetExpiringPolicys`, `SelectPoliciesForAudit` |
| **Entry point** | `Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb` |

## Steps

1. Load candidate expiring policy periods and apply any caller-supplied policy-number filter.
2. Set the batch audit reason and build candidate audits for each policy period.
3. Run the configured selection-test catalog and keep only audits that remain selected.
4. Carry one-time instructions and reviewer overrides into the new audit, then clear the override row for the next cycle.
5. Traceability summary. Primary rules: [BR-020](../business-rules.md#br-020-ineligible-policy-types-cannot-be-audited), [BR-021](../business-rules.md#br-021-duplicate-audits-are-blocked), [BR-030](../business-rules.md#br-030-selection-override-instructions-are-one-time-use), [BR-031](../business-rules.md#br-031-selection-override-reviewer-is-one-time-use), [BR-070](../business-rules.md#br-070-a-review-result-requires-an-existing-reason-code-result-code-and-reviewer-id-a-new-review-result-requires-a-reviewer-valid-for-new-results), [BR-071](../business-rules.md#br-071-selection-override-select-date-and-exclude-date-must-each-be-a-valid-policy-period-expiration-date-and-may-not-be-the-same-date). SQL and Oracle calls: [SQL-014](../sql/SQL-014-saif-business-policy-audit-premium.md), [SQL-015](../sql/SQL-015-saif-business-policy-audit-premium.md), [SQL-027](../sql/SQL-027-saif-business-policy-audit-premium.md), [SQL-028](../sql/SQL-028-saif-business-policy-audit-premium.md), [SQL-029](../sql/SQL-029-saif-business-policy-audit-premium.md), [SQL-051](../sql/SQL-051-saif-business-policy-audit-premium.md), [SQL-059](../sql/SQL-059-saif-business-policy-audit-premium.md), [SQL-060](../sql/SQL-060-saif-business-policy-audit-premium.md), [SQL-061](../sql/SQL-061-saif-business-policy-audit-premium.md), [SQL-085](../sql/SQL-085-saif-business-policy-audit-premium.md), [SQL-086](../sql/SQL-086-saif-business-policy-audit-premium.md), [SQL-093](../sql/SQL-093-saif-business-policy-audit-premium.md).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
 Start([Trigger]) --> S1[Load context]
 S1 --> S2[Run core logic]
 S2 --> EndOk([Outcome])
```

## Failure and edge-case behavior

- Review the linked rule and SQL documents for operation-specific validation failures and persistence behavior.
- Remote-wrapper SQL and not-found Oracle references are documented in the linked SQL and procedure pages where applicable.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.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\clsAuditSelectionManager.vb`
