﻿---
title: clsClaimSecurity
summary: API reference for clsClaimSecurity.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business
reference_type: package
---

# clsClaimSecurity

`clsClaimSecurity` is a public class in `SAIF.Business` that inherits `clsBusinessApiBase` and represents the security-related claim data returned by the GeneralClaimData API routes.

## Purpose
- Exposes claim identifiers, policy information, worker name data, and claim-security flags for a retrieved claim.
- Normalizes hostile-worker and worker-conflict fields into descriptive and Boolean convenience properties.
- Retrieves claim-security data by claim ID or claim number and checks whether an RTW user is assigned to the claim.

## Context
- Namespace: `SAIF.Business`
- Assembly/package: `SAIF.Business`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `DataHandlingMode` | `Public Enum DataHandlingMode` | Defines the `Exclude`, `Include`, and `Mask` modes used by the criteria object when claim data is prepared for retrieval. |
| `CheckCharacter` | `Public ReadOnly Property CheckCharacter() As String` | Returns the single-character claim check value. |
| `ClaimID` | `Public ReadOnly Property ClaimID() As Decimal` | Returns the numeric claim identifier used as the record key. |
| `ClaimNumber` | `Public ReadOnly Property ClaimNumber() As String` | Returns the claim number without the trailing check character, trimming it to seven characters when needed. |
| `HostileWorkerCode` | `Public ReadOnly Property HostileWorkerCode() As String` | Returns the stored hostile-worker restriction code. |
| `HostileWorkerDescription` | `Public ReadOnly Property HostileWorkerDescription() As String` | Translates hostile-worker code `T` to `No Trespassing`, `R` to `Regular`, and any other value to an empty string. |
| `IsHostileWorker` | `Public ReadOnly Property IsHostileWorker() As Boolean` | Returns `True` when any hostile-worker code is present. |
| `IsWorkerConflict` | `Public ReadOnly Property IsWorkerConflict() As Boolean` | Returns `True` when the worker-conflict flag equals `clsConstants.Yes`. |
| `SAIFClaimNumber` | `Public ReadOnly Property SAIFClaimNumber() As String` | Returns the claim number concatenated with its check character. |
| `WorkerConflictFlag` | `Public ReadOnly Property WorkerConflictFlag() As String` | Returns the raw worker-conflict flag value. |
| `WorkerName` | `Public ReadOnly Property WorkerName() As clsName` | Returns the `clsName` object populated from the worker's name fields. |
| `WorkerNameFormatted` | `Public ReadOnly Property WorkerNameFormatted() As String` | Returns the worker name formatted with `clsName.ToStandardLast`. |
| `PolicyNumber` | `Public ReadOnly Property PolicyNumber() As Decimal` | Returns the policy number loaded from the API response when present. |
| `PolicyName` | `Public Property PolicyName() As String` | Gets or sets the policy name associated with the claim. |
| `Equals` | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Returns `True` when both objects are `clsClaimSecurity` instances representing the same claim. |
| `Equals` | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Compares this instance with another object by delegating to the typed `Equals` overload. |
| `Equals` | `Public Overloads Function Equals(ByVal inObject As clsClaimSecurity) As Boolean` | Returns `True` when both claim-security objects have the same `ClaimID`. |
| `GetHashCode` | `Public Overrides Function GetHashCode() As Integer` | Returns the hash code of `ClaimID`. |
| `New` | `Public Sub New()` | Initializes the object and registers the `ValidClaim` business rule. |
| `New` | `<code>Public Sub New(ByVal inClaimID As Decimal, ByVal inClaimNumber As String, ByVal inClaimCheckValue As String, ByVal inExposureCode As String, ByVal inHealthIssueDataFlag As String,<br>ByVal inHostileWorkerCode As String, ByVal inWorkerConflictFlag As String, ByVal inWorkerFirstName As String, ByVal inWorkerMiddleName As String,<br>ByVal inWorkerLastName As String, ByVal inWorkerNameExtension As String)</code>` | Builds an in-memory claim-security object from supplied claim, worker, and hostility values. |
| `ValidClaim` | `Public Function ValidClaim(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean` | Business rule that succeeds only when `ClaimID` is greater than zero. |
| `GetClaimSecurity` | `<code>Public Shared Function GetClaimSecurity(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inClaimID As Decimal,<br>Optional ByVal inMaskData As Boolean = False) As clsClaimSecurity</code>` | Retrieves claim-security data by claim ID through the API access layer. |
| `GetClaimSecurity` | `<code>Public Shared Function GetClaimSecurity(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inClaimNum As String,<br>Optional ByVal inMaskData As Boolean = False) As clsClaimSecurity</code>` | Retrieves claim-security data by claim number, trimming the incoming value to seven characters when longer. |
| `RTWAssignedToClaim` | `<code>Public Shared Function RTWAssignedToClaim(ByVal inDataPortalInfo As IDataPortalInfo,<br>ByVal inClaimId As Decimal,<br>ByVal inUserId As String<br>) As Boolean</code>` | Executes the RTW assignment query and returns whether the specified user is assigned to the claim. |
| `ToString` | `Public Overrides Function ToString() As String` | Returns the claim number when a claim is loaded; otherwise returns the type name. |

## Behavioral notes
- `BeforeRetrieve` chooses the API route by `ClaimID` when present and otherwise uses the claim-number route.
- `HandleApiException` suppresses only the specific "there is no claim associated with claimnumber" error so `AfterRetrieve` can complete and the object can fail validation through `ValidClaim`.
- `Fill` trims string values from the API response before assigning them and updates the criteria object with both `ClaimID` and `ClaimNum` after retrieval.
- `GetClaimSecurity(ByVal inClaimNum As String, ...)` truncates incoming claim numbers longer than seven characters before retrieval.
- Both shared `GetClaimSecurity` overloads accept `inMaskData`, but neither overload forwards that argument into the `Criteria` constructor.
- The long constructor assigns claim ID, claim number, check value, hostile-worker data, conflict flag, and worker-name parts; `inExposureCode` and `inHealthIssueDataFlag` are not used in its body.
- `RTWAssignedToClaim` runs a scalar `count(*)` query against `cl_injury_claim`, `rtw_case`, and `rtw_load_assignment`, then wraps failures in an `ApplicationException` with an `Error getting RTW Access` prefix.

## Constraints and usage notes
- Callers should use `IsValid` or `ValidClaim` semantics to distinguish a missing claim from a successfully loaded one.
- `ClaimNumber` never includes the check character; use `SAIFClaimNumber` when both pieces are required.
- `HostileWorkerDescription` recognizes only the `T` and `R` codes defined in this source file.
- `RTWAssignedToClaim` requires both a numeric claim ID and a user ID string to build its query parameters.

## Sources
- `Business\SAIF.Business\clsClaimSecurity.vb`
