---
title: Claim financial aggregation
summary: Adapts external Claim Financial API data into simple in-memory financial summary objects consumed by loss-summary total calculations.
status: draft
owner: SAIF
last_reviewed: 2026-07-30
library: SAIF.Business.UnitStat.Claim
reference_type: package
operation_id: OP-USC-07
trigger: Caller invokes ClaimFinancialData.GetClaimFinancialData or constructs ClaimFinancials directly
---

# Claim financial aggregation

`ClaimFinancialData` and `ClaimFinancials` are lightweight, non-CRUD adapter classes that call an external Claim Financial API/service and expose the returned amounts as simple in-memory properties. They perform no direct database access of their own and are consumed by [Loss summary maintenance](loss-summary-maintenance.md) when computing derived medical/indemnity totals.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-USC-07 |
| **Trigger** | `ClaimFinancialData.GetClaimFinancialData(claimID)` (or equivalent factory call) |
| **Inputs** | `ClaimID` |
| **Outputs** | In-memory `ClaimFinancials`/`ClaimFinancialData` object exposing aggregated financial amounts for the claim |
| **Primary components** | `ClaimFinancialData`, `ClaimFinancials` |
| **Entry point** | `Business\SAIF.Business.UnitStat.Claim\ClaimFinancialData.vb`, `Business\SAIF.Business.UnitStat.Claim\ClaimFinancials.vb` |

## Steps

1. **Request claim financials.** `ClaimFinancialData` calls out to an external Claim Financial API/service (not part of this library's own database access) to obtain the claim's current financial amounts.**
2. **Populate in-memory model.** The returned data is mapped into `ClaimFinancials` properties, which expose simple typed accessors (amounts) rather than persisted `US_*` columns — there is no `BeforeInsert`/`BeforeUpdate`/`BeforeDelete`/`BeforeRetrieve` SQL override pattern on either class, confirming these are not framework data-portal-backed business objects in the usual sense.*
3. **Exception handling.** Error handling around the external API call appears to swallow exceptions silently in at least one code path rather than surfacing them to the caller or adding a broken-rule/error entry — the caller may see default/zeroed financial values rather than an explicit failure signal if the external call fails.**
4. **Consumption.** [Loss summary maintenance](loss-summary-maintenance.md) reads these in-memory amounts as one of the inputs to its derived `Total*Amount` calculations, alongside the category/offset totals described in [Loss category and offset maintenance](loss-category-offset-maintenance.md).

## Process flow

```mermaid
flowchart TD
	Start([Caller requests claim financials]) --> Call[Call external Claim Financial API]
	Call --> Success{Call succeeded?}
	Success -->|Yes| Map[Map response into ClaimFinancials properties]
	Success -->|No| Swallow[Exception handling swallows error - unconfirmed scope]
	Map --> Done([ClaimFinancials object available])
	Swallow --> Default([Caller may see default/zeroed values])
```

## Failure and edge-case behavior
- If the external Claim Financial API call fails and the exception is swallowed as observed in at least one path, callers have no explicit signal that the returned amounts are incomplete or default rather than authoritative — this should be treated as an open risk area rather than confirmed-safe behavior.**
- Because this operation has no database CRUD of its own, it does not participate in the rows-affected/broken-rule error pattern used by the other operations in this library.*

## 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. Statements
> marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.UnitStat.Claim\ClaimFinancialData.vb`
- `Business\SAIF.Business.UnitStat.Claim\ClaimFinancials.vb`
