Skip to content

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.

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.

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.

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