SAIF.Business.Policy.Audit.Premium business rules
This page captures business rules enforced by the premium-audit library.
BR-001: Deselection category suppresses audit
Field
Value
Statement
An audit that satisfies at least one rule in a deselection category is removed from audit consideration.
Trigger
Selection testing
Enforcement
clsAuditSelectionManager.RunAuditSelectionTests
Outcome
audit.DeselectFromAudit(); CountAuditsDeselected incremented
Confidence
Verified
SQL
SQL-055 , SQL-056 , SQL-057 , SQL-062 , SQL-063
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:233-271
BR-002: Disqualifying selection test blocks selection
Field
Value
Statement
An audit with any disqualifying test result is not selected under that category.
Trigger
Selection testing
Enforcement
clsAuditSelectionManager.RunAuditSelectionTests
Outcome
Audit skipped for the category
Confidence
Verified
SQL
SQL-057 , SQL-062 , SQL-063 , SQL-064 , SQL-065
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:233-271
BR-003: Qualifying tests select audit
Field
Value
Statement
An audit is selected when its qualifying test count reaches the category's configured SelectionRuleCount.
Trigger
Selection testing
Enforcement
clsAuditSelectionManager.RunAuditSelectionTests
Outcome
SelectForAudit(...) with category and test results
Confidence
Verified
SQL
SQL-055 , SQL-056 , SQL-057 , SQL-062 , SQL-063 , SQL-064 , SQL-065
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:233-271
BR-010: Assignment sort key ordering
Field
Value
Statement
Assignment/selection ordering is a composite key: selection-category priority, market-type priority (compliance ranks first for assigned risk, last for voluntary), policy type (leasing → temp agency → other, compliance/business-rule categories only), audit end date, failed GAC test count, then last-audit date + 9s-complement standard premium for cyclicals.
Trigger
Sorting AssignmentSortKey
Enforcement
`clsAudit.BuildAssignmentSortKey (clsAudit.vb:2907-2975)`
Outcome
Ordered collection
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb:2908-2976
BR-011: Cyclical selection cap enforced
Field
Value
Statement
No more than MaximumCyclicalsToSelect cyclical audits may be selected in a run; the excess is dropped.
Trigger
DropCyclicals
Enforcement
clsAuditSelectionManager.DropCyclicals
Outcome
Excess audits removed; CyclicalsDropped incremented
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:93-114
BR-012: Assignment requires ZIP code
Field
Value
Statement
An audit whose audit address has no ZIP code cannot be assigned.
Trigger
Auditor assignment
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Skipped; NoZipForPolicyCount incremented
Confidence
Verified
SQL
SQL-074 , SQL-075
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-013: Assignment requires audit office
Field
Value
Statement
An audit with neither an audit office code nor a default audit office code cannot be assigned.
Trigger
Auditor assignment
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Skipped; NoAuditOfficeCount incremented
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-014: Assignment requires matching territory
Field
Value
Statement
If no auditor territory matches the audit ZIP code, the audit cannot be assigned.
Trigger
Auditor assignment (no override)
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Skipped; ZipCodeNotFoundCount incremented
Confidence
Verified
SQL
SQL-003 , SQL-008 , SQL-009 , SQL-032 , SQL-033 , SQL-034 , SQL-079 , SQL-080 , SQL-090
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-015: Assignment override default auditor wins
Field
Value
Statement
An assignment override's default auditor takes precedence over ZIP-code territory lookup.
Trigger
Auditor assignment
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Override auditor used
Confidence
Verified
SQL
SQL-005 , SQL-026 , SQL-077
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-016: Off-cycle and wrap audits bypass capacity checks
Field
Value
Statement
Off-cycle audits and WRAP-relationship policies are assigned without capacity or combination checks.
Trigger
Auditor assignment
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Immediate assignment
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-017: Combined policies stay with same auditor
Field
Value
Statement
A combined policy (same non-zero RateAccount, non-WRAP) is always assigned to the auditor already handling the combination, even beyond the monthly maximum.
Trigger
Renewal assignment
Enforcement
clsAuditAssignmentManager.AssignAudit
Outcome
Assigned; MonthlyCombinedCount incremented
Confidence
Verified
SQL
SQL-035 , SQL-036 , SQL-037
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-018: Monthly max blocks renewal assignments
Field
Value
Statement
An auditor at their monthly maximum receives no further renewal assignments.
Trigger
Renewal assignment
Enforcement
`clsAuditAssignmentManager.AssignAudit (tempAuditor.IsMonthlyMaxReached)`
Outcome
Skipped; MonthlyMaxReachedCount incremented
Confidence
Verified
SQL
SQL-003 , SQL-008 , SQL-032 , SQL-033 , SQL-079
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
BR-019: Do-not-assign override creates staff task
Field
Value
Statement
An audit must not be assigned to the auditor named in the override's DoNotAssignAuditorID; a staff task is raised instead.
Trigger
Auditor assignment
Enforcement
clsAuditAssignmentManager.AssignToAuditor
Outcome
clsAssignmentManagerTask (priority MED, category B, mail ID {AUDIT})
Confidence
Verified
SQL
SQL-005 , SQL-026 , SQL-077
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:296-309
BR-030: Selection override instructions are one-time use
Field
Value
Statement
Audit instructions carried on a selection override are consumed once and cleared — they must be re-entered every year.
Trigger
Batch selection
Enforcement
clsAuditSelectionManager.SelectPoliciesForAudit
Outcome
Override AuditInstructionsText set to empty and marked dirty
Confidence
Verified
SQL
SQL-015 , SQL-059 , SQL-086
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:160-230
BR-031: Selection override reviewer is one-time use
Field
Value
Statement
A selection override reviewer creates one clsAuditReviewResult on the audit and is then cleared — it must be re-entered every year.
Trigger
Batch selection
Enforcement
clsAuditSelectionManager.SelectPoliciesForAudit
Outcome
Review result added; override reviewer cleared
Confidence
Verified
SQL
SQL-014 , SQL-015 , SQL-051 , SQL-059 , SQL-085 , SQL-086 , SQL-093
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:160-230
BR-032: Rows affected must equal one
Field
Value
Statement
A persistence operation that affects a row count other than 1 is a contention failure and the save fails.
Trigger
AfterInsert / AfterUpdate / AfterDelete
Enforcement
clsAudit.vb:2407,2487,2600
Outcome
AddErrorMessage(...); Save returns False
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-010 , SQL-011 , SQL-012 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-038 , SQL-039 , SQL-040 , SQL-041 , SQL-042 , SQL-043 , SQL-044 , SQL-076 , SQL-081 , SQL-082 , SQL-083 , SQL-088 , SQL-091
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-024: No auditable period cancels audit
Field
Value
Statement
An audit whose start date falls in no auditable period is cancelled for no coverage.
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.SynchronizeAudit` → `CancelWithNoCoverage
Outcome
CancelAuditOverride(CANCEL_REASON_NO_COVERAGE); task raised when status is Assigned/Scheduled/Submitted/Completed
Confidence
Verified
SQL
SQL-025
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:75-131
BR-025: Guidewire audits skip cancelled-billing path
Field
Value
Statement
Cancelled-billing processing applies only to non-Guidewire audits (Not IsGwAudit).
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.SynchronizeAudit
Outcome
ProcessCancelledBillingAudit executed or skipped
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:75-131
BR-026: No coverage cancels audit
Field
Value
Statement
When every audit policy period is missing or has no coverage, the audit is cancelled for no coverage.
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.ProcessCancelWithNoCoverage
Outcome
Audit cancelled
Confidence
Verified
SQL
SQL-025
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:133-159
BR-027: Shortened coverage cancels or resyncs audit
Field
Value
Statement
Shortened policy-period coverage cancels the audit unless it is already COMPLETED, in which case the policy periods are re-synced and a task is raised instead.
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.ProcessShortenAudit
Outcome
Cancel task or SyncPolicyPeriods
Confidence
Verified
SQL
SQL-010 , SQL-011 , SQL-038 , SQL-039 , SQL-040 , SQL-041 , SQL-042 , SQL-043 , SQL-081 , SQL-082 , SQL-091
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:175-210
BR-028: Lengthened coverage adjusts audit
Field
Value
Statement
Lengthened coverage triggers audit-period adjustment.*
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.ProcessLengthenAudit
Outcome
Audit updated
Confidence
Inferred*
SQL
SQL-010 , SQL-011 , SQL-038 , SQL-039 , SQL-040 , SQL-041 , SQL-042 , SQL-043 , SQL-081 , SQL-082 , SQL-091
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:212-249
BR-029: Coverage reinstatement with gap triggers special handling
Field
Value
Statement
Coverage reinstated with a gap triggers gap-specific handling.*
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.ProcessReinstateWithGap
Outcome
Audit updated
Confidence
Inferred*
SQL
SQL-010 , SQL-011 , SQL-038 , SQL-039 , SQL-040 , SQL-041 , SQL-042 , SQL-043 , SQL-081 , SQL-082 , SQL-091
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:251-273
BR-033: Synchronization stops after first matching change
Field
Value
Statement
Synchronization processing is short-circuited; only the first matching change type is applied during a run.*
Trigger
Audit synchronization when multiple change patterns could apply.
Enforcement
clsAuditSynchronization.SynchronizeAudit
Outcome
Later change handlers are skipped once one handler updates the audit.
Confidence
Inferred*
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:75-131
BR-034: Child-policy processing skips cancelled audits
Field
Value
Statement
Child-policy processing runs only when the audit was not cancelled.
Trigger
SynchronizeAudit
Enforcement
clsAuditSynchronization.SynchronizeAudit
Outcome
ProcessChildPolicies executed or skipped
Confidence
Verified
SQL
SQL-035 , SQL-036 , SQL-037
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:75-131
BR-035: NonZeroDecimalRequired (AuditSeqNum)
Field
Value
Statement
Audit sequence number is required.
Trigger
See source.
Enforcement
clsAudit.vb:3989
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-036: NonZeroDecimalRequired (PolicyNumber)
Field
Value
Statement
Policy number is required.
Trigger
See source.
Enforcement
clsAudit.vb:3990
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-037: TextRequired
Field
Value
Statement
Audit type, audit reason, status, selection category and audit method are each required.
Trigger
See source.
Enforcement
clsAudit.vb:3991-3995
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-038: RequiredAuditOffice
Field
Value
Statement
Audit office is required for an assigned, unfinished audit whose type allows an audit office.
Trigger
See source.
Enforcement
clsAudit.vb:4053
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-039: AllowedAuditOffice
Field
Value
Statement
An audit office may not be set for an NCCI test audit or an unassigned audit.
Trigger
See source.
Enforcement
clsAudit.vb:4040
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-040: ValidPolicy
Field
Value
Statement
Policy number must exist.
Trigger
See source.
Enforcement
clsAudit.vb:4450
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-041: ValidAuditReasonCode
Field
Value
Statement
Audit reason must exist and must belong to the reason set allowed for the audit's revision state (non-revision batch/online vs. revision); conversion audits are exempt.
Trigger
See source.
Enforcement
clsAudit.vb:4066
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-067 , SQL-068
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-042: ValidAuditStartDate
Field
Value
Statement
Start date may not exceed create date + 1 year for New Account Survey / Preliminary / Prospect; may not exceed the create date for non-batch Final, Interim, NCCI Test; batch Final may not exceed create date + 30 days. Conversion audits exempt.
Trigger
See source.
Enforcement
clsAudit.vb:4091
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-043: ValidAuditEndDate
Field
Value
Statement
End date may not precede the start date; a new audit for a period that expired more than 6 months ago may not be audited; Final audits may not end later than create date + 60 days. Manually-enterable reasons and conversion audits exempt.
Trigger
See source.
Enforcement
clsAudit.vb:4125
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-044: ValidAuditAssignmentDate
Field
Value
Statement
For an assigned, not-yet-completed Final audit the assignment date may not precede the audit end date; for revisions it may not be later than today nor earlier than the prior audit's completed date; an assignment date without an auditor is invalid.
Trigger
See source.
Enforcement
clsAudit.vb:4159
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-045: ValidAuditDueDate
Field
Value
Statement
Due date must be after the assignment date.
Trigger
See source.
Enforcement
clsAudit.vb:4191
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-046: ValidAppointmentDate
Field
Value
Statement
Appointment date must be on/after the assignment date for scheduled or assigned audits.
Trigger
See source.
Enforcement
clsAudit.vb:4202
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-047: ValidAppointmentDateAndTime
Field
Value
Statement
Appointment date and time must both be present or both absent.
Trigger
See source.
Enforcement
clsAudit.vb:4214
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-048: ValidWarningLetterDate
Field
Value
Statement
Warning letter date must be after the assignment date.
Trigger
See source.
Enforcement
clsAudit.vb:4226
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-049: ValidSubmittedDate
Field
Value
Statement
Submitted date must be on/after the assignment date and not later than today.
Trigger
See source.
Enforcement
clsAudit.vb:4238
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-050: ValidReviewDate
Field
Value
Statement
Review date may only be entered when review status is COMPL, and must be on/after 1/1/1900.
Trigger
See source.
Enforcement
clsAudit.vb:4258
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-051: ValidReviewStatusCode
Field
Value
Statement
Review status may not be set to COMPL until every review reason has a result and a reviewer and a review date is entered.
Trigger
See source.
Enforcement
clsAudit.vb:4279
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-052 , SQL-053
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-052: ValidCompletedDate
Field
Value
Statement
Completed date must be on or after the submitted date.
Trigger
See source.
Enforcement
clsAudit.vb:4302
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-053: ValidCancelReasonCode
Field
Value
Statement
Cancel reason must be valid.
Trigger
See source.
Enforcement
clsAudit.vb:4314
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-054: ValidSelectionCategoryGroupCode
Field
Value
Statement
Selection category must be valid.
Trigger
See source.
Enforcement
clsAudit.vb:4325
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-055 , SQL-056
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-055: ValidAuditor
Field
Value
Statement
Auditor must be valid.
Trigger
See source.
Enforcement
clsAudit.vb:4340
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-003 , SQL-008 , SQL-032 , SQL-033 , SQL-079
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-056: ValidAuditOffice
Field
Value
Statement
Audit office must be valid.
Trigger
See source.
Enforcement
clsAudit.vb:4400
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-057: ValidUpdatableAudit
Field
Value
Statement
An audit whose policy periods are out of sync with WCIS may not be updated.
Trigger
See source.
Enforcement
clsAudit.vb:4411
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-072 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-020: Ineligible policy types cannot be audited
Field
Value
Statement
Leasing-client, State-agency and HCW policies may not be audited.
Trigger
See source.
Enforcement
clsAudit.vb:4421
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-027 , SQL-028 , SQL-029 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-021: Duplicate audits are blocked
Field
Value
Statement
An audit for the same period and type may not already exist.
Trigger
See source.
Enforcement
`clsAudit.vb:4439; backed by DuplicateAuditExists() (clsAudit.vb:3233)`
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-001 , SQL-004 , SQL-018 , SQL-019 , SQL-020 , SQL-021 , SQL-022 , SQL-023 , SQL-024 , SQL-027 , SQL-028 , SQL-029 , SQL-076 , SQL-088
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-058: ValidTestAuditType / ValidTestAuditDifference / ValidTestAuditResult
Field
Value
Statement
Test audit type, difference and result are required when applicable.
Trigger
See source.
Enforcement
clsAudit.vb:4591,4600,4609
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-017 , SQL-069 , SQL-070 , SQL-071 , SQL-087 , SQL-095
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-059: ValidAppealReasons / ValidAppealRequestDate (×2) / ValidAppealNoticeDate / ValidHearingDate
Field
Value
Statement
Audit must be complete to enter an Appeal review reason; appeal request date must follow the assignment date and requires an Appeal review reason; appeal notice date and hearing date must follow the appeal request date.
Trigger
See source.
Enforcement
clsAudit.vb:4490-4534
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-060: ValidWCISRevision
Field
Value
Statement
At least one WCIS revision record is required before a complete date may be entered.
Trigger
See source.
Enforcement
clsAudit.vb:4535
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-061: ValidWaiverFromDate / ValidWaiverToDate
Field
Value
Statement
Waiver from-date must lie within the audit period and precede the to-date; waiver to-date must be after the audit start date and no later than 2 years after the end date.
Trigger
See source.
Enforcement
clsAudit.vb:4545,4560
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-062: WarningAuditStartDate
Field
Value
Statement
Warning on out-of-range start date (non-blocking).
Trigger
See source.
Enforcement
clsAudit.vb:4461
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-063: WarningComplianceNoAuditor
Field
Value
Statement
Warning: selection category is compliance but no auditor is assigned (non-blocking).
Trigger
See source.
Enforcement
clsAudit.vb:4478
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
BR-022: Assignment defaults missing office
Field
Value
Statement
An audit assigned without an audit office code inherits the default audit office code.
Trigger
See source.
Enforcement
clsAudit.AssignAuditToAuditor
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb:2881-2906
BR-023: Reassignment recalculates date on region change
Field
Value
Statement
On reassignment the assignment date is recalculated only when the new audit office belongs to a different policy region.
Trigger
See source.
Enforcement
clsAudit.SetAssignmentDate
Outcome
Validation or control-flow outcome.
Confidence
Verified
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb:2978-3001
BR-064: Leasing-client / State-agency / HCW policies may not have an assignment override
Field
Value
Statement
Leasing-client / State-agency / HCW policies may not have an assignment override.
Trigger
See source.
Enforcement
clsAuditAssignmentOverride.vb:445
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-005 , SQL-026 , SQL-077
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentOverride.vb
BR-065: The same auditor may not be both the "do not assign to" and the "default assignment" auditor
Field
Value
Statement
The same auditor may not be both the "do not assign to" and the "default assignment" auditor.
Trigger
See source.
Enforcement
clsAuditAssignmentOverride.vb:461
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-005 , SQL-026 , SQL-077
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentOverride.vb
BR-066: Default auditor and do-not-assign auditor must each be valid auditors
Field
Value
Statement
Default auditor and do-not-assign auditor must each be valid auditors.
Trigger
See source.
Enforcement
clsAuditAssignmentOverride.vb:470,486
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-005 , SQL-026 , SQL-077
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentOverride.vb
BR-067: Audit event code must be valid
Field
Value
Statement
Audit event code must be valid.
Trigger
See source.
Enforcement
clsAuditEvent.vb:427
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-002 , SQL-006 , SQL-007 , SQL-030 , SQL-031 , SQL-078 , SQL-089
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditEvent.vb
BR-068: An auditor-ZIP row requires an existing auditor, an assignable auditor, and an existing ZIP code
Field
Value
Statement
An auditor-ZIP row requires an existing auditor, an assignable auditor, and an existing ZIP code.
Trigger
See source.
Enforcement
clsAuditorZipCode.vb:391,406,421
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-009 , SQL-034 , SQL-074 , SQL-075 , SQL-080 , SQL-090
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditorZipCode.vb
BR-069: An audit result requires an existing result code
Field
Value
Statement
An audit result requires an existing result code.
Trigger
See source.
Enforcement
clsAuditResult.vb:540
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-013 , SQL-017 , SQL-045 , SQL-046 , SQL-047 , SQL-048 , SQL-069 , SQL-084 , SQL-087 , SQL-092 , SQL-095
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditResult.vb
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
Field
Value
Statement
A review result requires an existing reason code, result code and reviewer ID; a new review result requires a reviewer valid for new results.
Trigger
See source.
Enforcement
clsAuditReviewResult.vb:539,552,565,577
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-014 , SQL-049 , SQL-050 , SQL-051 , SQL-052 , SQL-053 , SQL-054 , SQL-085 , SQL-093
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditReviewResult.vb
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
Field
Value
Statement
Selection-override select date and exclude date must each be a valid policy-period expiration date, and may not be the same date.
Trigger
See source.
Enforcement
clsAuditSelectionOverride.vb:431,447,463
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-015 , SQL-059 , SQL-086
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionOverride.vb
BR-072: A selection test result requires a Selection Rule ID present in the PA_Selection_Rule table
Field
Value
Statement
A selection test result requires a Selection Rule ID present in the PA_Selection_Rule table.
Trigger
See source.
Enforcement
clsAuditSelectionTestResult.vb:315
Outcome
Validation or control-flow outcome.
Confidence
Verified
SQL
SQL-016 , SQL-066 , SQL-094
Source
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionTestResult.vb
Inherited business rules
From clsBusinessBase (SAIF.Framework.Core)
INH-001: Inherited rules manager orchestration
Field
Value
Statement
Each clsBusinessBase-derived object owns a clsRulesManager that evaluates registered rules and surfaces broken-rule state to callers and UI binding.*
Trigger
Any call to Rules.CheckRules, IsValid, or save-time validation.
Enforcement
clsBusinessBase / clsRulesManager
Outcome
Broken rules are recorded and exposed through the object.*
Confidence
Retrieved via dependency documentation*
Source
Retrieved from dependency library documentation via Legends CLI
INH-002: Inherited broken-rule surfacing
Field
Value
Statement
Business objects and business collections surface broken-rule state through IDataErrorInfo members exposed by the framework base classes.*
Trigger
Validation failures on BOF business objects or collections.
Enforcement
clsBusinessBase / clsBusinessCollectionBase
Outcome
Consumers can render rule failures without calling the rules engine directly.*
Confidence
Retrieved via dependency documentation*
Source
Retrieved from dependency library documentation via Legends CLI
Notes
Procedure-derived rules are documented on the relevant procedure pages and summarized in the procedure catalog.
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:2881-2906
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb:2908-2976
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb:2978-3001
Business\SAIF.Business.Policy.Audit.Premium\clsAudit.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:236-294
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentManager.vb:296-309
Business\SAIF.Business.Policy.Audit.Premium\clsAuditAssignmentOverride.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditEvent.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditResult.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditReviewResult.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:93-114
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:233-271
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionManager.vb:160-230
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionOverride.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSelectionTestResult.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:133-159
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:212-249
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:251-273
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.vb:175-210
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.SynchronizeAudit``
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.SynchronizeAudit→CancelWithNoCoverage``
Business\SAIF.Business.Policy.Audit.Premium\clsAuditorZipCode.vb
Business\SAIF.Business.Policy.Audit.Premium\clsAuditSynchronization.SynchronizeAudit