---
title: SAIF.Business.Tasks.Claim operations and processes
summary: Operation catalog and cross-operation hub for Claims-source and Coverage B claim tasks, batch task generation, and legacy task-code lookups.
status: draft
owner: SAIF
last_reviewed: 2026-07-30
library: SAIF.Business.Tasks.Claim
reference_type: package
---

# SAIF.Business.Tasks.Claim operations and processes

This page is the operation catalog and cross-operation hub for `SAIF.Business.Tasks.Claim`. The library specializes the shared BOF task framework (`SAIF.Business.Tasks`) for two Claims-source task families — `clsClaimTask`/`clsClaimTaskCollection`/`clsMyTaskCollection` and Coverage B's `clsCoverageBTask`/`clsCoverageBTaskCollection` — adds a batch task-creation helper (`clsClaimTaskGenerator`) used across other libraries, and exposes a small legacy task-code lookup. Each operation's detailed, step-by-step logic lives in its own page under `operations/`.

## Operation catalog

| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Retrieve claim tasks](operations/retrieve-claim-tasks.md) | Load Claims-source tasks, sorted for general use or for a caller-specific "my tasks" view with confidential-data masking | Caller calls `clsClaimTaskCollection.GetTasks` or `clsMyTaskCollection.GetTasks` | `IDataPortalInfo`, task retrieval criteria | Sorted `clsClaimTaskCollection` or `clsMyTaskCollection`, with `WorkerName` masked on restricted `clsMyTaskCollection` rows | [BR-011](business-rules.md#br-011-restricted-claim-attributes-mask-the-worker-name-on-task-lists) | — | — |
| [Claim task lifecycle — create, enrich, validate, save](operations/claim-task-lifecycle.md) | Create a claim task, enrich it with supplemental claim metadata, validate it, and persist it | Caller calls `clsClaimTask.NewTask` and, after edits, `Save()`/`SaveChild()` | `ClaimID`/`ClaimNum`, `MailID`, `Text`, `TaskDate`, `PriorityTask`, `CategoryCode`, `CreateUser` | Saved `clsClaimTask`; populated claim-number, worker, policy, work-status, and confidentiality fields | [BR-001](business-rules.md#br-001-claim-number-must-be-valid), [BR-002](business-rules.md#br-002-task-dates-cannot-be-more-than-two-years-in-the-future), [BR-003](business-rules.md#br-003-mail-id-must-be-valid), [BR-004](business-rules.md#br-004-task-text-is-required), [BR-005](business-rules.md#br-005-task-text-is-limited-to-4000-characters), [BR-006](business-rules.md#br-006-external-rtw-assignments-must-belong-to-the-claim), [BR-010](business-rules.md#br-010-additional-claim-fields-come-from-the-oracle-package-contract) | — | [SQL-001](sql/sql-001-pk82284_claim_task-select_additional_fields.md) |
| [Coverage B task management](operations/coverage-b-task-management.md) | Retrieve, create, validate, and save Coverage B tasks | Caller calls `clsCoverageBTaskCollection.GetTasks` to retrieve, or `clsCoverageBTask.NewTask` and `Save()` to create | `IDataPortalInfo`, claim list/date filters for retrieval; `ClaimID`/`ClaimNum`, `Text`, `TaskDate`, `MailID` for create | Populated `clsCoverageBTaskCollection`; saved `clsCoverageBTask`; resolved worker name and category description | [BR-007](business-rules.md#br-007-coverage-b-task-claim-numbers-must-be-valid), [BR-008](business-rules.md#br-008-coverage-b-task-text-is-required), [BR-012](business-rules.md#br-012-coverage-b-task-due-dates-are-bounded-to-one-year) | — | — |
| [Generate batch claim tasks](operations/generate-batch-claim-tasks.md) | Build and save one or more claim tasks from a single orchestration object, with defaulted assignee, due date, category, and priority | Caller constructs `clsClaimTaskGenerator`, calls one or more `AddTask` overloads, and calls `Save()` | `IDataPortalInfo`, optional default claim, per-task text/assignee/due date/priority/category/notepad flag | Populated `Tasks` collection; batch `Save()` result; `ErrorCount`/`ErrorMessages` | [BR-009](business-rules.md#br-009-batch-task-generation-requires-a-valid-claim-id) | — | — |
| [Retrieve legacy task codes](operations/retrieve-legacy-task-codes.md) | Load the full legacy task-code lookup table | Caller calls `clsLegacyTaskCodeCollection.GetLegacyTaskCodeCollection` | `IDataPortalInfo` | Populated `clsLegacyTaskCodeCollection` | None documented* | [legacy_task_code](database-tables.md#legacy_task_code) | [SQL-002](sql/sql-002-select.md) |

## Process flow diagram

The following diagram shows how the five operations relate: claim tasks and Coverage B tasks each follow a retrieve/create/validate/save path built on the shared BOF task framework, batch generation wraps claim-task creation and save behind one orchestration object, and legacy task-code lookup is an independent, unfiltered reference read.

```mermaid
flowchart TD
	Start([Caller requests task work]) --> Which{Which task family?}
	Which -->|Claims task| RetrieveClaim[Retrieve claim tasks]
	Which -->|Coverage B task| CoverageB[Coverage B task management]
	Which -->|Batch generation| Generator[Generate batch claim tasks]
	Which -->|Legacy code lookup| Legacy[Retrieve legacy task codes]
	RetrieveClaim --> EditClaim[Caller edits properties]
	EditClaim --> LifecycleOp[Claim task lifecycle:<br>create, enrich, validate, save]
	Generator --> AddTasks[AddTask builds one<br>clsClaimTask per call]
	AddTasks --> LifecycleOp
	CoverageB --> ValidateCoverage{Validate:<br>claim number, text, due date}
	ValidateCoverage -->|Fails| CoverageError([Broken rules returned])
	ValidateCoverage -->|Passes| SaveCoverage[Save Coverage B task]
	LifecycleOp --> ValidateClaim{Validate:<br>six claim-task rules}
	ValidateClaim -->|Fails| ClaimError([Broken rules returned])
	ValidateClaim -->|Passes| SaveClaim[Save via inherited<br>task pipeline]
	Generator --> BatchSave[Save persists entire batch]
	BatchSave --> SaveClaim
	Legacy --> LegacyDone([Return unfiltered collection])
	SaveClaim --> Done([Task persisted])
	SaveCoverage --> Done
```

## Inherited operations and processes

Operations in this section originate from base classes or services provided by dependency framework libraries. They are inherited or delegated, not implemented in this library.

### From `clsTask` / `clsTaskCollection` (`SAIF.Business.Tasks`)

| Operation | Intent | Provided by | Origin | Embedded in |
| --- | --- | --- | --- | --- |
| Retrieve task collection | Build and execute the filtered `TASK` query and materialize typed task rows† | `clsTaskCollection` | `SAIF.Business.Tasks` | [Retrieve claim tasks](operations/retrieve-claim-tasks.md), [Coverage B task management](operations/coverage-b-task-management.md) |
| Insert / update / soft-delete task | Persist a task row and enforce row-version and row-count checks† | `clsTask` | `SAIF.Business.Tasks` | [Claim task lifecycle — create, enrich, validate, save](operations/claim-task-lifecycle.md), [Coverage B task management](operations/coverage-b-task-management.md), [Generate batch claim tasks](operations/generate-batch-claim-tasks.md) |
| Due-date rule (`TASK2`) and `OverrideRules` extension point | Enforce a default task due-date window that a subclass can narrow† | `clsTask` | `SAIF.Business.Tasks` | [Coverage B task management](operations/coverage-b-task-management.md) |

> **Origin**: These operations are defined in `SAIF.Business.Tasks` / `clsTask` and `clsTaskCollection` and inherited or delegated by this component. That library is documented in the previous format, so no per-operation page exists; see [Operations and processes](../saif-business-tasks/operations-processes.md) in the `SAIF.Business.Tasks` documentation set.

### From `clsBusinessBase` (`SAIF.Framework.Core`)

| Operation | Intent | Provided by | Origin | Embedded in |
| --- | --- | --- | --- | --- |
| Save entity lifecycle | Provide BOF create, validation, and save orchestration for non-task business objects† | `clsBusinessBase` | `SAIF.Framework.Core` | [Generate batch claim tasks](operations/generate-batch-claim-tasks.md), [Retrieve legacy task codes](operations/retrieve-legacy-task-codes.md) |

> **Origin**: This flow is defined in `SAIF.Framework.Core` / `clsBusinessBase` and inherited by `clsClaimTaskGenerator` and `clsLegacyTaskCode`/`clsLegacyTaskCodeCollection`. No documentation set exists yet for `SAIF.Framework.Core` in this repository.

## Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under `operations/`.

| Operation | SQL | Tables | Type |
| --- | --- | --- | --- |
| [Claim task lifecycle — create, enrich, validate, save](operations/claim-task-lifecycle.md) | [SQL-001](sql/sql-001-pk82284_claim_task-select_additional_fields.md) | — | Read (stored-procedure enrichment) |
| [Retrieve legacy task codes](operations/retrieve-legacy-task-codes.md) | [SQL-002](sql/sql-002-select.md) | [legacy_task_code](database-tables.md#legacy_task_code) | Read |

## Failure and edge-case behavior
- Batch task generation (`clsClaimTaskGenerator.AddTask`/`NewTask`) throws an `ApplicationException` when a task's claim ID cannot be resolved, rather than returning a validation failure — this happens before the task is added to the batch, so it aborts task creation immediately.
- Claim task validation (`clsClaimTask`) can dynamically add the `RTWAssignedClaim` rule during `ValidMailId`, so whether that rule runs at all depends on the caller's resource access at validation time.
- Coverage B's `OverrideRules` narrows the inherited two-year due-date window to one year, but only for dirty, non-deleted tasks — a clean or deleted task is not re-checked against the narrower window.
- `clsMyTaskCollection` masks `WorkerName` to "Confidential" for restricted claim attributes, but does not mask the underlying `IsExposure`, `isHealthIssue`, `isHostileWrkr`, or `IsWorkerConflict` flags themselves.
- Legacy task-code retrieval has no filter parameters and always loads every row; its `Criteria` class throws on any create/update/delete SQL access, confirming it is read-only.
- Package-backed claim-field enrichment (`PK82284_CLAIM_TASK.SELECT_ADDITIONAL_FIELDS`) is a hard dependency for `clsClaimTask` when it is not bound to a claim at fill time; failures in the underlying package call are not caught locally.

## Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library.

| Operation | Description | Source | Link |
| --- | --- | --- | --- |
| PK82284_CLAIM_TASK.select_additional_fields | Retrieves supplemental claim-identification, policy, work-status, and confidentiality-flag fields for a claim task. | `PK82284_CLAIM_TASK` | [Details](procedures/pk82284-claim-task.md#operations) |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

> **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 `†` are derived from dependency
> library documentation via the Legends CLI. They describe inherited behavior
> from the indicated origin library and should be verified if the dependency
> version changes.

## Sources
- `Business\SAIF.Business.Tasks.Claim\clsClaimTask.vb`
- `Business\SAIF.Business.Tasks.Claim\clsClaimTaskCollection.vb`
- `Business\SAIF.Business.Tasks.Claim\clsClaimTaskGenerator.vb`
- `Business\SAIF.Business.Tasks.Claim\clsCoverageBTask.vb`
- `Business\SAIF.Business.Tasks.Claim\clsCoverageBTaskCollection.vb`
- `Business\SAIF.Business.Tasks.Claim\clsLegacyTaskCode.vb`
- `Business\SAIF.Business.Tasks.Claim\clsLegacyTaskCodeCollection.vb`
- `Business\SAIF.Business.Tasks.Claim\clsMyTaskCollection.vb`
