---
title: SAIF.Business.View.Claim architecture
summary: Architectural responsibilities, framework boundaries, and retrieval flows for claim view objects.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-28
library: SAIF.Business.View.Claim
reference_type: package
---

# SAIF.Business.View.Claim architecture

`SAIF.Business.View.Claim` is a read-focused BOF component that combines framework-driven API retrieval with Oracle-backed criteria objects to deliver claim-facing business views and reference data.

## Responsibilities
- Present read-only claim-domain data through public BOF business objects, collections, DTOs, and helper modules.
- Encapsulate Oracle lookup SQL and legacy stored-procedure calls behind criteria and data-portal abstractions.
- Reuse BOF API base classes for view types backed by internal API clients and route formatting.

## Component boundaries
- API-backed BOF views: `clsClaimData`, `clsClaimNoteData`, `clsClaimPersonView`, `clsClaimReserves`, `clsEAIPData`, and `clsMedicalConditionList` inherit API-focused BOF base classes and delegate transport concerns to framework services.
- Oracle-backed BOF views: `clsFinancialTransaction`, `clsFinancialTransactionCollection`, `clsMedicalConditionData`, `clsClaimResponsibilityData`, and code-table classes rely on `IBusinessCriteria` and direct SQL or stored-procedure selectors.
- DTO/model folders: `CCClaimDataApi`, `EaipApi`, `InvestigationApi`, and `LegalApi` hold public payload types consumed by API-backed views.*
- Packaging boundary: the project ships as `SAIF.BOF.Business.View.Claim` with NuGet-managed dependencies and no local project references.

## Interaction model
Consumers call BOF view objects rather than issuing SQL or API requests directly. API-oriented classes inherit transport behavior from framework base classes such as `clsBusinessApiBase`, `clsBusinessCollectionApiBase`, and `clsBusinessApiCriteriaBase`, which resolve named API clients and format routes through `IDataPortalInfo`†. Traditional read models use `IBusinessCriteria` and the BOF data portal to execute inline Oracle SQL or stored procedures. The library therefore exposes a single claim-view surface while hiding a mixed transport implementation.

## Architecture diagram
The following diagram shows the high-level split between API-backed and Oracle-backed retrieval paths.

```mermaid
flowchart TD
    Consumer[Consuming application] --> Library[SAIF.Business.View.Claim]
    Library --> ApiViews[API-backed BOF views]
    Library --> SqlViews[Oracle-backed BOF views and code tables]
    ApiViews --> ApiFramework[BOF API framework†]
    ApiFramework --> ApiClients[Named API clients†]
    SqlViews --> Criteria[IBusinessCriteria]
    Criteria --> Oracle[(Oracle tables and stored procedures)]
```

## Sequence diagram
The following diagram shows the financial-transaction retrieval path.

```mermaid
sequenceDiagram
    participant Caller
    participant Collection as clsFinancialTransactionCollection
    participant Criteria as Criteria
    participant Portal as IDataPortalInfo†
    participant Oracle
    Caller->>Collection: Retrieve by claim, policy, or reimbursement criteria
    Collection->>Criteria: Resolve RetrieveSQL
    Criteria->>Portal: Dispatch BOF read request†
    Portal->>Oracle: Execute selected `pk83407_payment_hist_trans` procedure
    Oracle-->>Portal: Return cursor/result set
    Portal-->>Collection: Populate transaction objects
    Collection-->>Caller: Return read-only financial history
```

## Design constraints
- The library spans both API-based and Oracle-based read patterns, so deployment must satisfy both internal API-client configuration and Oracle connectivity.
- Several read paths rely on stored procedures that were referenced in code but not found in Oracle during Stage 1b retry.
- Inline SQL frequently uses unqualified table names, which leaves schema resolution to the runtime Oracle context.

## 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 `†` 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.
> Statements marked with `*` were inferred from code structure or contextual evidence.

## Sources
- `Business\SAIF.Business.View.Claim\SAIF.BOF.Business.View.Claim.vbproj`
- `Business\SAIF.Business.View.Claim\SAIF.BOF.Business.View.Claim.nuspec`
- `Business\SAIF.Business.View.Claim\packages.config`
- `Business\SAIF.Business.View.Claim\clsClaimData.vb`
- `Business\SAIF.Business.View.Claim\clsClaimNoteData.vb`
- `Business\SAIF.Business.View.Claim\clsFinancialTransaction.vb`
- `Business\SAIF.Business.View.Claim\clsFinancialTransactionCollection.vb`
- `Business\SAIF.Business.View.Claim\clsMedicalConditionData.vb`
- `Business\SAIF.Business.View.Claim\clsPrisonCodeCollection.vb`
