Skip to content

SAIF.Application.Claim business rules

This page captures business rules enforced by SAIF.Application.Claim.

BR-001: Conflict claims require conflict access or an override

Field Value
Statement Users without conflict-claim access cannot continue into a worker-conflict claim unless an explicit override exists.
Trigger ClaimSecurity.CheckClaim(ClaimData) marks ConflictAccess = False for a claim where IsWorkerConflict is true.
Enforcement ClaimAppManager.OnCheckSecurity() checks ClaimSecurity.ConflictAccess and then calls CheckForSecurityOverride().
Outcome The application is marked NoAccess and returns the confidential-access message when both checks fail.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimAppManager.vb; Application\SAIF.Application.Claim\ClaimSecurity.vb

BR-002: Exposure claims require exposure access

Field Value
Statement Claims flagged as exposure claims require the current user to have the ExposureClaim resource.
Trigger clsClaimData.IsExposure is true during ClaimSecurity.CheckClaim().
Enforcement ClaimSecurity.CheckClaim() sets ExposureAccess = False when ClaimUserAccess.ExposureAccess is false.
Outcome The claim security snapshot records that the user does not have exposure access for the active claim.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimSecurity.vb; Application\SAIF.Application.Claim\ClaimUserAccess.vb

BR-003: Hostile-worker claims require secure-claim access

Field Value
Statement Claims flagged as hostile-worker claims require the current user to have the SecureClaim resource.
Trigger clsClaimData.IsHostileWorker is true during ClaimSecurity.CheckClaim().
Enforcement ClaimSecurity.CheckClaim() sets SecureClaimAccess = False when ClaimUserAccess.SecureClaimAccess is false.
Outcome The claim security snapshot records that the user does not have secure-claim access for the active claim.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimSecurity.vb; Application\SAIF.Application.Claim\ClaimUserAccess.vb

BR-004: Health-issue exposure claims reuse exposure authorization

Field Value
Statement Health-issue claims are denied only when the claim is also an exposure claim and the user lacks exposure access.
Trigger clsClaimData.IsHealthIssue and clsClaimData.IsExposure are both true during ClaimSecurity.CheckClaim().
Enforcement ClaimSecurity.CheckClaim() evaluates ClaimUserAccess.ExposureAccess instead of a separate health-issue resource check.
Outcome HealthIssueAccess is set to false only for health-issue claims that also fail the exposure-access check.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimSecurity.vb

BR-005: Claim retrieval requires a populated and valid context

Field Value
Statement Retrieval runs only when claim context is set, claim data is valid, and the application is not in the NoAccess security role.
Trigger Retrieve() or subclass retrieval depends on ValidContext.
Enforcement ClaimAppManager.OnValidContext() checks ContextSet, SecurityRole <> AppSecurityRole.NoAccess, and ClaimData.IsValid.
Outcome OnRetrieve() does not execute when the claim context is missing, the claim cannot be found, or security has denied access.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimAppManager.vb

BR-006: Invalid claim input returns the standard claim message

Field Value
Statement Blank claim numbers and non-positive claim IDs are rejected before context change processing begins.
Trigger SetClaimContext(String) receives a blank value or SetClaimContext(Decimal) receives 0 or a negative value.
Enforcement Both overloads clear m_ClaimData, call MarkContextNotSet(), and set Message = ClaimAppConstants.PLEASEENTERCLAIM.
Outcome The application remains out of context and returns the standard invalid-claim message to the caller.
Confidence Verified
Source Application\SAIF.Application.Claim\ClaimAppManager.vb; Application\SAIF.Application.Claim\ClaimAppConstants.vb

Notes

  • Rule identifiers in this document are documentation identifiers for this generated library set.

Sources

  • Application\SAIF.Application.Claim\ClaimAppManager.vb
  • Application\SAIF.Application.Claim\ClaimSecurity.vb
  • Application\SAIF.Application.Claim\ClaimUserAccess.vb
  • Application\SAIF.Application.Claim\ClaimAppConstants.vb