---
title: SAIF.Business.External.Users overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.External.Users
reference_type: package
---

# SAIF.Business.External.Users overview

> **Documentation context:** Packaged Component (NuGet)

SAIF.Business.External.Users is a component-tier BOF (Business Object Framework) class library that manages identity, credentials, access groups, and security questions for external (non-employee, policyholder-portal) users, and provides auditor/zip-code assignment data used by claim audit-assignment workflows. It implements the standard SAIF BOF layered pattern against an Oracle database and is distributed as a NuGet package consumed by calling application layers.

## Purpose
- Manage external-user account identity, credentials, status flags, and the `IsAuthorizedUser` authorization data flag persisted to the Oracle `EXT_USER` table.
- Enforce deny-self-registration block-list rules and security question/answer records for password recovery.
- Provide user-type/role classification and user access-group membership management, including AD-group association lookups.
- Manage premium auditor entities, geographic zip-code assignments, and audit-assignment override records used by claim audit workflows.

## Responsibilities
- External-user CRUD (create, retrieve, update) against `EXT_USER` and related tables.
- Deny-self-registration block-list maintenance (`EXT_USER_DENY_SELF_REG`).
- Security question management (`EXT_USER_SECURITY_QUESTION`, `EXT_USER_SEC_QUESTION_CODE`).
- User-type and access-group management (`EXT_USER_TYPE`, `EXT_USER_ACCESS_GROUP` and related code tables).
- Auditor entity and zip-code assignment management (`PA_AUDITOR`, `PA_AUDITOR_ZIP_CODE`).
- Audit assignment override management (`PA_ASSIGN_OVERRIDE`).
- Supporting code-table lookups and helper modules for group association and extension methods.

## Key components
- `clsUser` / `clsUserCollection`: core external-user entity with CRUD lifecycle and multi-criteria search.
- `clsAuditor` / `clsAuditorCollection`: premium auditor entity and collection for audit-assignment workflows.
- `clsAuditAssignmentOverride`: policy-level override for default and do-not-assign auditors.
- `clsAuditorZipCode` / `clsAuditorZipCodeCollection`: geographic zip-code range assignments for auditors.
- `clsUserAccessGroup`: access-group membership with AD-group reconciliation support.
- `clsUserDenySelfRegistration`: deny-list entries that block self-registration.
- `clsUserSecurityQuestion`: security question/answer records for password recovery.
- `clsUserType`: user type/role classification with provider and ePay behavior hooks.
- `clsZipCode`: standalone zip-code routing lookup.
- `mdlAuditor`, `mdlCodeMaps`, `mdlExtensions`, `mdlGroupAssociation`: shared helper modules.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.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)
- [Configuration](configuration.md)

## Sources
- `Business\SAIF.Business.External.Users\SAIF.BOF.Business.External.Users.vbproj`
- `Business\SAIF.Business.External.Users\SAIF.BOF.Business.External.Users.nuspec`
- `Business\SAIF.Business.External.Users\clsUser.vb`
- `Business\SAIF.Business.External.Users\clsAuditor.vb`
