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, andclsMedicalConditionListinherit 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 onIBusinessCriteriaand direct SQL or stored-procedure selectors. - DTO/model folders:
CCClaimDataApi,EaipApi,InvestigationApi, andLegalApihold public payload types consumed by API-backed views.* - Packaging boundary: the project ships as
SAIF.BOF.Business.View.Claimwith 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.
Related documentation¶
- Index
- Overview
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Procedures
- API reference
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.vbprojBusiness\SAIF.Business.View.Claim\SAIF.BOF.Business.View.Claim.nuspecBusiness\SAIF.Business.View.Claim\packages.configBusiness\SAIF.Business.View.Claim\clsClaimData.vbBusiness\SAIF.Business.View.Claim\clsClaimNoteData.vbBusiness\SAIF.Business.View.Claim\clsFinancialTransaction.vbBusiness\SAIF.Business.View.Claim\clsFinancialTransactionCollection.vbBusiness\SAIF.Business.View.Claim\clsMedicalConditionData.vbBusiness\SAIF.Business.View.Claim\clsPrisonCodeCollection.vb