SAIF.Application.Policy operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Application.Policy. Each operation's step-by-step logic lives in its own page under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Establish the policy data layer | Create the policy portal and fixed database identity | Manager initialization | Security principal, portal configuration | Initialized portal and DPI |
BR-101, BR-102 | — | — |
| Resolve and authorize the policy context | Validate the policy number, load policy data, and apply access decisions | Retrieve() or context change |
Policy number, security principal, user access level | Updated manager context, access state, and message | BR-103, BR-104, BR-105, BR-106, BR-107 | — | — |
| Determine Business Online access | Resolve external-account access and last-logon text | First read of Business Online properties | Policy number, policy validity, environment state | Access flag, last-logon date, rendered access text | BR-108, BR-109 | — | — |
| Build the policy header settings | Construct header settings and default visibility flags | First read of PolicyHeaderSettings |
DPI, security principal, selected association type |
Initialized IPolicyHeaderSettings |
BR-110, BR-111, BR-117 | — | — |
| Determine visible association types | Compute which association types the current principal may see | Header settings or provider needs validated types | DPI, security principal |
Authorized association-type set | BR-112 | — | — |
| Filter associations and select the default | Apply ownership filters and choose the selected association type | Header associations are loaded or default selection is needed | Policy-header associations, security principal | Filtered associations or unknown-type fallback | BR-113, BR-114, BR-115, BR-116, BR-117 | — | — |
| Assemble the policy header payload | Compose the rendered policy-header values, messages, help text, and cancellation status | A consumer reads header-provider members | DPI, policy number, security principal, optional target association types |
Fully composed header data | BR-112, BR-116, BR-118, BR-119, BR-120, BR-121, BR-122, BR-123, BR-124, BR-125 | POLICY, POLICY_STATUS_CODE, POLICY_DEMAND, POLICY_PERIOD_PAYROLL_AUDIT, AUDIT_CODE, CANCELLATION, COLLECTION_LEGAL_ACTION | SQL-001 |
| Classify principal roles | Derive policy-facing role flags from authorization resources and domain | First read of Security or any role flag |
Security principal | Cached role decisions | BR-126, BR-127 | — | — |
| Manage the transaction envelope | Guard begin/commit/rollback behavior for the policy portal | Transaction start or stop request | Portal transaction state, commit flag | Idempotent transaction boundary behavior | BR-128 | — | — |
Process flow diagram¶
The following diagram visualizes the primary application-layer flow across policy retrieval and header composition.
flowchart TD
Start([Policy request]) --> Init[Establish the policy data layer]
Init --> Resolve[Resolve and authorize the policy context]
Resolve --> Access{Context valid and allowed?}
Access -->|No| Deny([Return message and access state])
Access -->|Yes| Settings[Build the policy header settings]
Settings --> Types[Determine visible association types]
Types --> Assoc[Filter associations and select the default]
Assoc --> Header[Assemble the policy header payload]
Resolve --> BO[Determine Business Online access]
Resolve --> Roles[Classify principal roles]
Header --> Done([Return application-layer policy view])
BO --> Done
Roles --> Done
Database interactions¶
The following table summarizes the operation that directly touches database logic owned by this library. Delegated reads inside referenced libraries are described in the operation detail pages.
| Operation | SQL | Tables | Type |
|---|---|---|---|
| Assemble the policy header payload | SQL-001 | POLICY, POLICY_STATUS_CODE, POLICY_DEMAND, POLICY_PERIOD_PAYROLL_AUDIT, AUDIT_CODE, CANCELLATION, COLLECTION_LEGAL_ACTION | Read |
Failure and edge-case behavior¶
- Missing policy numbers and invalid policies fail before authorization evaluation.
- Unauthorized policies keep the context set but mark no access so callers can distinguish denial from not-found behavior.
- Non-web hosts bypass policy-level authorization because
UserCanAccessPolicyreturnsTruewhenHttpContext.Current Is Nothing.** - Shared authorization caches and user-number caches persist for the process lifetime unless the host recycles.*
Stored procedure operations¶
Operations implemented in Oracle function logic referenced by this library.
| Operation | Description | Source | Link |
|---|---|---|---|
| PROC-OP-01 | Load policy status context | SP72268_GET_CANCEL_STATUS |
Details |
| PROC-OP-02 | Derive pending-cancel status | SP72268_GET_CANCEL_STATUS.pending_cancel_status |
Details |
| PROC-OP-03 | Derive cancelled-policy status | SP72268_GET_CANCEL_STATUS.cancel_status |
Details |
| PROC-OP-04 | Derive saifQuote status for applications | SP72268_GET_CANCEL_STATUS.saifquote_status |
Details |
| PROC-OP-05 | Return derived status to the caller | SP72268_GET_CANCEL_STATUS |
Details |
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.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Security and authorization
- Database tables
- SQL catalog
- Configuration
- API reference
Sources¶
Application\SAIF.Application.Policy\PolicyAppManager.vbApplication\SAIF.Application.Policy\clsPolicySecurity.vbApplication\SAIF.Application.Policy\PolicyHeader\clsPolicyHeaderSecurityManager.vbApplication\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vbApplication\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderSettings.vb