﻿---
title: SAIF.Business.Claim architecture
summary: SAIF.Business.Claim architecture.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-28
library: SAIF.Business.Claim
reference_type: package
---

# SAIF.Business.Claim architecture

SAIF.Business.Claim is the core claim-domain business library for benefit schedules, awards, work status, body-part tracking, transfer processing, and claim calculation services backed by Oracle tables and stored procedures.

## Responsibilities
- Manage claim benefit schedules, benefit payments, award status, and federal/state award data.
- Persist worker work status, work release, injured body parts, and employee work address data.
- Execute claim-specific calculations such as statutory weekly wage, aggregation right dates, medically stationary dates, and timeliness of first payment.
- Provide read-only code tables and claim-list generation utilities.
- Create adjuster follow-up work through claim task generation during benefit-schedule processing.

## Component boundaries
- Business objects such as `clsBenefitSchedule`, `cls1502Transfer`, and `clsWorkerInjuredBodyPart` own claim-domain validation and persistence rules.
- Collection classes coordinate retrieval, traversal, and save semantics for grouped claim entities.
- Stored-procedure wrappers isolate calculation logic behind BOF criteria objects.
- Read-only lookup classes expose Oracle code tables without mutating lifecycle operations.
- Cross-library task creation is delegated to the claim tasks library instead of implemented locally.

## Interaction model
Most operations follow the BOF pattern: a business object or collection creates criteria, sends that criteria through `IDataPortalInfo`, executes Oracle SQL or stored procedures, applies local validation rules, and then optionally triggers downstream workflow such as adjuster-task creation. The library mixes CRUD-oriented entities with read-only calculation wrappers and dynamic query helpers.

## Inherited framework context (from Legends CLI)
- `IBusinessCriteria` supplies the standard `CreateSQL`, `RetrieveSQL`, `InsertSQL`, `UpdateSQL`, and `DeleteSQL` contract used throughout the library's BOF criteria classes.*
- `IDataPortalInfo` provides the central data-portal abstraction, including scalar/result-set execution and sequence retrieval, while routing requests to concrete Oracle or SQL portal implementations.*
- `clsBusinessBase` contributes edit lifecycle methods, link management, and the shared `clsRulesManager`-based validation model used by claim business objects.*
- `clsBusinessCollectionBase` and `clsBusinessCollection(Of T)` contribute traversal, search/sort behavior, deleted-item tracking, and aggregated validation state for claim collections.*
- `clsRetrieveOnlyBusinessCriteria` constrains read-only criteria to `RetrieveSQL`, which matches the library's lookup and list-style objects.*

## Architecture diagram
The following diagram shows the high-level claim business-object architecture.

```mermaid
flowchart TD
    Consumer["Application / service consumer"] --> ClaimObjs["Claim business objects"]
    ClaimObjs --> Collections["Claim collections and lookups"]
    ClaimObjs --> Calc["Stored procedure wrappers"]
    ClaimObjs --> Tasks["SAIF.Business.Tasks.Claim"]
    ClaimObjs --> DPI["IDataPortalInfo"]
    Collections --> DPI
    Calc --> DPI
    DPI --> Oracle["Oracle claim schema"]
```

## Sequence diagram
The following diagram shows a representative benefit-schedule processing sequence.

```mermaid
sequenceDiagram
    participant Consumer
    participant Schedule as clsBenefitSchedule
    participant DPI as IDataPortalInfo
    participant Oracle
    participant Tasks as clsClaimTaskGenerator
    Consumer->>Schedule: ProcessBenefitPayment()
    Schedule->>DPI: Retrieve / update schedule data
    DPI->>Oracle: SQL and stored procedure calls
    Oracle-->>DPI: Claim data and calculation results
    DPI-->>Schedule: Hydrated objects
    Schedule->>Tasks: Create follow-up task when review is required
    Schedule-->>Consumer: Save result and validation state
```

## Design constraints
- The library is tightly coupled to Oracle claim tables, sequences, and four stored procedures.
- Validation is embedded in BOF business objects and must run before save completion.
- Read-only lookup types should remain on retrieve-only criteria paths instead of mutating CRUD paths.
- Task-generation workflow depends on an external claim-task library rather than local workflow objects.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.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 ** could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.Claim\SAIF.BOF.Business.Claim.vbproj`
- `Business\SAIF.Business.Claim\SAIF.BOF.Business.Claim.nuspec`
- `Business\SAIF.Business.Claim\packages.config`
- `Business\SAIF.Business.Claim\Enums.vb`
- `Business\SAIF.Business.Claim\IExplanationOfBenefit.vb`
- `Business\SAIF.Business.Claim\IExplanationOfBenefitSearchCriteria.vb`
- `Business\SAIF.Business.Claim\cls1502Transfer.vb`
- `Business\SAIF.Business.Claim\clsActiveBenefitSchedule.vb`
- `Business\SAIF.Business.Claim\clsAggRightDates.vb`
- `Business\SAIF.Business.Claim\clsAwardBenefitPayment.vb`
- `Business\SAIF.Business.Claim\clsAwardBenefitPaymentCollection.vb`
- `Business\SAIF.Business.Claim\clsBenefitSchedule.vb`
- `Business\SAIF.Business.Claim\clsClaimEmployeeWorkAddress.vb`
- `Business\SAIF.Business.Claim\clsClaimListGenerator.vb`
- `Business\SAIF.Business.Claim\clsClaimWorkReleaseStatus.vb`
- `Business\SAIF.Business.Claim\clsClaimWorkStatus.vb`
- `Business\SAIF.Business.Claim\clsFederalAwardStatus.vb`
- `Business\SAIF.Business.Claim\clsFederalAwardStatusCollection.vb`
- `Business\SAIF.Business.Claim\clsFederalBenefitSchedule.vb`
- `Business\SAIF.Business.Claim\clsITimelinessOfFirstPayment.vb`
- `Business\SAIF.Business.Claim\clsMedicallyStationaryDate.vb`
- `Business\SAIF.Business.Claim\clsPPDBodyParts.vb`
- `Business\SAIF.Business.Claim\clsServiceType.vb`
- `Business\SAIF.Business.Claim\clsServiceTypeCollection.vb`
- `Business\SAIF.Business.Claim\clsSetAwardPaymentPending.vb`
- `Business\SAIF.Business.Claim\clsStatutoryWeeklyWageCalculation.vb`
- `Business\SAIF.Business.Claim\clsVocationalServicesTypes.vb`
- `Business\SAIF.Business.Claim\clsWorkerInjuredBodyPart.vb`
- `Business\SAIF.Business.Claim\clsWorkerInjuredBodyPartCollection.vb`
- `Business\SAIF.Business.Claim\mdlPPD.vb`
- `Business\SAIF.Business.Claim\mdlReserveServices.vb`