---
title: SAIF.Business.Claim.ThirdParty architecture
summary: Architectural responsibilities, boundaries, and interaction patterns.
status: draft
owner: SAIF
last_reviewed: 2026-07-28
library: SAIF.Business.Claim.ThirdParty
reference_type: package
---

# SAIF.Business.Claim.ThirdParty architecture

SAIF.Business.Claim.ThirdParty is the claim-domain recovery library for third-party cases, bundling case, expense, lien, settlement, distribution, note, task, and prediction aggregates around a large Oracle package contract plus a small number of inline lookup queries.

## Responsibilities
- Manage the third-party recovery case lifecycle, including companion claims, notes, tasks, and status history.
- Persist and retrieve financial recovery artifacts such as expenses, liens, settlements, distributions, refunds, and bill-audit services.
- Provide search, prediction, and reporting support for case-management and unit-stat use cases.
- Coordinate package-driven sequence generation and stored-procedure workflows for recovery subdomains.

## Component boundaries
- **Case management:** `clsThirdPartyCase`, `clsThrdparty`, and related collections own recovery-case identity, participants, and high-level status.
- **Financial subdomains:** Expenses, liens, settlements, distributions, refunds, and bill-audit services are modeled as separate BOF entities with their own collection types.
- **Analysis and prediction:** Prediction, statute-date, unit-stat-prediction, and search classes provide read-heavy analytical projections over recovery data.
- **Reference and support data:** Firm, note, task, cost-category, and code-table classes isolate reusable lookup and supporting business data.

## Interaction model
Case-management workflows instantiate recovery BOF objects, most CRUD and sequence-generation requests are routed through `Pk82033_ThirdParty`, and a small set of inline Oracle queries supplement the package for adjuster assignment, closure descriptions, status history, and code-table lookups.

## Architecture diagram
The following diagram shows the high-level component interactions.

```mermaid
flowchart TD
    A[Claim recovery workflow] --> B[Third-party case aggregate]
    B --> C[Financial recovery objects]
    B --> D[Tasks notes and status history]
    B --> E[Search and prediction objects]
    C --> F[BOF data portal and criteria]
    D --> F
    E --> F
    F --> G[Pk82033_ThirdParty package]
    F --> H[Inline Oracle lookup SQL]
    B --> I[Claim and provider view packages]
```

## Sequence diagram
The following diagram shows the primary request and persistence sequence.

```mermaid
sequenceDiagram
    participant Client
    participant Case as clsThirdPartyCase
    participant Portal as IDataPortalInfo
    participant Package as Pk82033_ThirdParty
    participant Oracle
    Client->>Case: Load or save recovery aggregate
    Case->>Portal: Execute criteria request
    Portal->>Package: Call package procedures / sequence helpers
    Package->>Oracle: Read or mutate recovery tables
    Oracle-->>Package: Return rows or generated values
    Package-->>Case: Materialize business-object state
    Case-->>Client: Return case, expense, lien, settlement, or task data
```

## Inherited framework context (from Legends CLI)
- `clsBusinessBase` and `clsBusinessCollectionBase` provide the dominant entity and collection lifecycle across the library's large set of recovery objects, including validation surfacing, traversal, and deleted-item tracking.* Source: cached Legends CLI results for `saif-framework-core` (`library` docs; api/business-rules/operations-processes/dependencies queries for the named base classes).
- `IBusinessCriteria` and `IDataPortalInfo` explain the package-centric persistence design: criteria classes declare CRUD contracts and the portal abstraction routes those requests to the Oracle data-access layer.* Source: cached Legends CLI results for `saif-framework-core` (`library` docs; api/operations-processes/dependencies queries for `IBusinessCriteria` and `IDataPortalInfo`).
- Framework smart values and transport helpers such as `clsSAIFDataReader`, `clsSmartDate`, `clsSmartDecimal`, and `clsSmartString` are inherited as BOF utility types rather than local recovery logic.* Source: cached Legends CLI results for `saif-framework-core` (`library` docs; api/dependencies queries for the named types).

## Design constraints
- Most persistence and sequence generation is coupled to `Pk82033_ThirdParty`, so package contract drift has architectural impact.
- The library spans many subdomains, but all of them still share the same BOF entity-and-criteria persistence model.
- A small set of direct lookup queries complement the package and therefore must remain aligned with the underlying Oracle schema.

## 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.ThirdParty\clsThirdPartyCase.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThrdparty.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyExpense.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyLien.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThrdpartySettlement.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThirdpartyDistribution.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThirdpartyTask.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyPrediction.vb`
- `Business\SAIF.Business.Claim.ThirdParty\clsThirdPartyConstants.vb`
- `Business\SAIF.Business.Claim.ThirdParty\mdlCodeTables.vb`
- `Business\SAIF.Business.Claim.ThirdParty\packages.config`
- `Business\SAIF.Business.Claim.ThirdParty\SAIF.BOF.Business.Claim.ThirdParty.nuspec`
