SAIF.Application.Claim operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Application.Claim. Each operation's detailed, step-by-step logic lives in its own page under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules |
|---|---|---|---|---|---|
| Set claim context and retrieve | Establish the current claim context from a claim number or claim ID and retrieve claim data | Caller (concrete claim-screen application manager) supplies a claim number or claim ID | inClaimNumber As String or inClaimID As Decimal |
Updated Context, ClaimData, Message, security state |
BR-CLM-001, BR-CLM-002, BR-CLM-003, BR-CLM-004, BR-CLM-006, BR-CLM-007 |
| Set worker context | Establish the current context from a worker ID | Caller supplies a worker ID (e.g., navigation from a worker-centric screen) | inWorkerID As Decimal |
Updated Context, ClaimData, security state |
BR-CLM-001 through BR-CLM-004 |
| Security enforcement | Recompute per-claim access flags and gate access on context change | Step 3 of ChangeContext(), whenever context is successfully set |
Current ClaimData |
SecurityRole, Message |
BR-CLM-001, BR-CLM-005 |
| Save | Persist pending claim changes within a transaction | Caller requests persistence | None (in-memory state built by concrete subclass) | Boolean success/failure |
None directly |
| Save task list | Persist the current task list as part of a subclass save | Subclass calling it from its own OnWrite() implementation |
None (Tasks collection state) |
Boolean |
None directly |
| Establish data layer | Establish the Oracle data portal for the claim domain | Application manager initialization (inherited lifecycle) | None | Configured DataLayer DPI or thrown exception |
None directly |
Process flow diagram¶
The following diagram visualizes the primary operational flow from context change through security enforcement and retrieval.
flowchart TD
Start([Caller sets claim/worker context]) --> Validate{Input valid?}
Validate -->|No| Invalid([ClaimData cleared<br>MarkContextNotSet<br>Message: PLEASEENTERCLAIM])
Validate -->|Yes| ChangeContext[ChangeContext]
ChangeContext --> OnContextChanged[OnContextChanged:<br>GetClaimData]
OnContextChanged --> Valid{ClaimData.IsValid?}
Valid -->|No| NotFound([Message: CLAIMNOTFOUND<br>context not set])
Valid -->|Yes| MarkSet[MarkContextSet]
MarkSet --> Security[OnCheckSecurity:<br>CheckClaim + MarkViewOnly]
Security --> Conflict{ConflictAccess or<br>SecurityOverride?}
Conflict -->|No| Denied([MarkNoAccess<br>ConfidentialAccessDeniedMessage])
Conflict -->|Yes| Retrieve[OnRetrieve<br>subclass-implemented]
Database interactions¶
SAIF.Application.Claim performs no SQL of its own; all data reads/writes are delegated to externally-packaged business objects (clsClaimData, clsEmployeeData, clsClaimTaskGenerator) reached through the Oracle DPI established by Establish data layer. No database-tables.md/sql/ documentation set is generated for this library.
Failure and edge-case behavior¶
- Blank or placeholder ("claim #") claim number: rejected per BR-CLM-006.
- Claim data not retrievable for the set context: reported per BR-CLM-007.
- Worker ID
<= 0: no context change, no message set — no explicit error handling*. - Exception during
OnCreateDataLayer(): context marked not set, access marked denied, wrappedApplicationExceptionre-thrown. - Exception during
OnWrite():OnTransactionStop(False)explicitly forces rollback before re-throw; theFinallyblock'sOnTransactionStop(WriteResult)may then also execute, potentially invokingOnTransactionStoptwice on the exception path*.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Security and authorization
- Configuration
- API reference
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¶
SAIF.Application.Claim\ClaimAppManager.vbSAIF.Application.Claim\ClaimSecurity.vbSAIF.Application.Claim\ClaimAppConstants.vb