Skip to content

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.

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.

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.

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