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 |
| 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