---
title: Check multiple claims for worker
summary: Searches for another claim belonging to the same worker within a 14-day injury-date window, to flag possible duplicate claims.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-30
library: SAIF.Business.Claim.Entry
reference_type: package
operation_id: OP-CE-06
trigger: Caller calls CheckForMultipleClaimsForWorker, typically during claim entry
---

# Check multiple claims for worker

Workers occasionally have more than one claim filed close together in time, whether from duplicate data entry or genuinely separate injuries. This operation surfaces the most recently updated other claim for the same worker within a narrow injury-date window so the caller can warn the user or investigate before proceeding.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-CE-06 |
| **Trigger** | Caller calls `CheckForMultipleClaimsForWorker`, typically while entering or saving a claim |
| **Inputs** | `WorkerID`, current `ClaimID` (to exclude the claim itself), `InjuryDate` |
| **Outputs** | The matching claim's SAIF claim number, or an empty string if no match is found |
| **Primary components** | `clsClaimEntry.CheckForMultipleClaimsForWorker` |
| **Entry point** | `Business\SAIF.Business.Claim.Entry\clsClaimEntry.vb` |

## Steps

1. **Query for other claims belonging to the same worker** whose injury date falls within 14 days of the current claim's injury date, excluding the current claim itself by `ClaimID` ([BR-CE-012](../business-rules.md#br-ce-012-multi-claim-detection-returns-the-most-recently-updated-same-worker-claim-within-a-14-day-injury-date-window), [SQL-016](../sql/SQL-016.md), [CL_INJURY_CLAIM](../database-tables.md#cl_injury_claim)).
2. **Order candidate matches by most recently updated** so that, when multiple other claims fall inside the window, the caller is shown the one most likely to be currently active or relevant.
3. **Return the matching claim's SAIF claim number.**
   - If no matching claim is found: return an empty string.
   - If one or more matching claims are found: return the SAIF claim number of the most recently updated match.

## Process flow

```mermaid
flowchart TD
	Start([Caller requests duplicate check]) --> Query[Query CL_INJURY_CLAIM for<br>same WorkerID, different ClaimID,<br>injury date within 14 days]
	Query --> Order[Order results by<br>most recently updated]
	Order --> Found{Any matches?}
	Found -->|No| Empty([Return empty string])
	Found -->|Yes| ReturnNum([Return matching<br>SaifClaimNum])
```

## Failure and edge-case behavior

- The check is advisory: it returns information for the caller to act on and does not itself prevent a new claim from being entered or saved ([BR-CE-012](../business-rules.md#br-ce-012-multi-claim-detection-returns-the-most-recently-updated-same-worker-claim-within-a-14-day-injury-date-window)).
- The 14-day window is fixed in code rather than configurable, so it applies uniformly regardless of claim type or jurisdiction.*
- If the current claim has no `InjuryDate` set yet (e.g., mid-entry), the date-window comparison may return unexpected results; no explicit null-date guard was found in the traced source.*

## Related documentation

- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources

- `Business\SAIF.Business.Claim.Entry\clsClaimEntry.vb`
