A claim context is only accepted when the supplied key is meaningful: a claim number must be non-blank after trimming, and a claim id or worker id must be greater than zero.
Invalid keys clear ClaimData, mark the context not set, and show "Please enter a valid claim number."; no database access occurs. SetWorkerContext returns silently with no message.
Security is always evaluated against a loaded claim and before any screen data is read; derived managers cannot reorder the pipeline except by overriding ChangeContext.
Source
SAIF.Application.Claim/ClaimAppManager.vb
BR-CLM-004 Context validity requires a valid retrieved claim¶
Field
Value
Statement
The context counts as set only when the retrieved claim reports itself valid.
Trigger
OnContextChanged()
Enforcement
Message = CLAIMNOTFOUND + MarkContextNotSet(), then If m_ClaimData.IsValid Then ... MarkContextSet() — ClaimAppManager.vb
Outcome
An unknown claim leaves the manager context-less with "Error: Claim not found."; downstream ValidContext is False.
A user without conflict-claim authority is denied all access to a worker-conflict claim unless a per-claim security override has been granted to that user.
Trigger
OnCheckSecurity() during a context change
Enforcement
If Not ClaimSecurity.ConflictAccess AndAlso Not CheckForSecurityOverride() Then MarkNoAccess() — ClaimAppManager.vb
Outcome
Access is set to NoAccess and the confidential-claim message is shown; the override grant (ClaimServices.HasOverrideAcess) restores view-only access.
Conflict-claim access is denied only when the claim involves a worker conflict and the user lacks the ConflictClaim resource.
Trigger
ClaimSecurity.CheckClaim
Enforcement
If inClaim.IsWorkerConflict Then If Not UserAccess.ConflictAccess ... — ClaimSecurity.vb; resource key CONFLICTSECURITYKEY = "ConflictClaim" — ClaimUserAccess.vb
Outcome
ConflictAccess is False; non-conflict claims are always accessible on this dimension.
Health-issue access is denied only when the claim is both a health-issue claim and an exposure claim and the user lacks the ExposureClaim resource.
Trigger
ClaimSecurity.CheckClaim
Enforcement
Nested If inClaim.IsHealthIssue Then If inClaim.IsExposure Then If Not UserAccess.ExposureAccess ... — ClaimSecurity.vb
Outcome
HealthIssueAccess is False. A health-issue claim that is not an exposure claim is never restricted, and the CollateralHealthClaim resource is not consulted by this rule.*
All claim applications connect to the claim database as the CLM database user through the ClaimDPI portal.
Trigger
Manager initialization
Enforcement
DataLayer.DBUser = "CLM" in OnInitialize(); DataLayer.CreateOraclePortal(ClaimAppConstants.DPIClaimKey) in OnCreateDataLayer(); DPI defaults to ClaimAppConstants.DPIClaimKey — ClaimAppManager.vb
Outcome
Every business object retrieved through DPI shares one Oracle connection identity and portal key ("ClaimDPI").
Source
SAIF.Application.Claim/ClaimAppManager.vb
BR-CLM-014 Connection failure surfaces as application exception¶
Field
Value
Statement
A failure to establish the claim database connection leaves the manager unusable and surfaces as an application exception.
Trigger
Exception in CreateOraclePortal
Enforcement
Catch ex ... MarkContextNotSet() : MarkNoAccess() : Throw New ApplicationException("Unable to Establish Database Connection", ex) — ClaimAppManager.vb
Outcome
The caller receives an ApplicationException with the original exception preserved, and the manager is in no-access, no-context state.
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.
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.