SAIF.Business.Claim.Payment architecture¶
SAIF.Business.Claim.Payment is the claim-payment business component for financial transactions, benefit periods and schedules, payees, awards, payment posting, and wage and time-loss calculation workflows backed primarily by Oracle package contracts.
Responsibilities¶
- Persist and retrieve financial transactions, transaction detail, transaction remarks, and payment postings.
- Maintain benefit remarks, benefit periods, benefit schedules, payees, awards, and award offsets.
- Expose payment-list and pending-award retrieval workflows for payment operations.
- Calculate wage, offset, and time-loss payment data across primary and secondary calculation models.
- Support adjustment and recovery scenarios that depend on payment and financial-transaction state.
Inherited framework context (from Legends CLI)¶
Cached resolvedTypes[].queries[] results for SAIF.Business.Claim.Payment indicate the following inherited framework behavior:
IBusinessCriteriaprovides the BOF criteria contract that supplies overridable create/retrieve/insert/update/delete request slots for database and API-backed requests.† (source:saif-framework-corelibrary docs)IDataPortalInfosupplies connection, data-access-layer, API-client, and scalar-execution context to business objects during persistence and retrieval.† (source:saif-framework-corelibrary docs)IDataRequestrepresents the request abstraction used by the Oracle and SQL portal implementations beneath BOF business objects.† (source:saif-framework-corelibrary docs)clsBusinessBasecontributes edit lifecycle support and a per-objectclsRulesManagerused to surface validation state.† (source:saif-framework-corelibrary docs)clsBusinessCollection(Of T)contributes typed collection traversal, deleted-item tracking, and collection-level validation surfacing.† (source:saif-framework-corelibrary docs)clsBusinessCollectionBasecontributes collection traversal, deleted-item tracking, andIDataErrorInfovalidation surfacing for collection objects.† (source:saif-framework-corelibrary docs)clsResultSetis identified as a framework result-wrapper type, but no deeper indexed behavior was returned by the cached Legends results.† (source:saif-framework-corelibrary docs)clsSAIFDataReaderis identified as a framework data-reader abstraction, but no deeper indexed behavior was returned by the cached Legends results.† (source:saif-framework-corelibrary docs)clsSmartDateis part of the BOF smart-value wrapper set used to carry null-safe date values through business objects.† (source:saif-framework-corelibrary docs)clsSmartDecimalis part of the BOF smart-value wrapper set used to carry null-safe decimal values through business objects.† (source:saif-framework-corelibrary docs)clsSmartStringis part of the BOF smart-value wrapper set used to carry null-safe string values through business objects.† (source:saif-framework-corelibrary docs)
Component boundaries¶
- Financial-transaction boundary:
FinancialTransaction\*classes own transaction header, detail, remark, posting, and payment-total persistence. - Benefit and payee boundary:
clsBenefitRemark,Periods\clsBenefitPeriod*,Payees\*, andPayments\clsPaymentBaseown benefit- and payee-centric payment state. - Award boundary:
Payments\StateAwardPayments\*owns award, award-offset, and state-award payee behavior. - Payment-list boundary:
clsPaymentList*owns filtered list retrieval for operational payment queues. - Wage and time-loss boundary:
Wage and Job\*and related timeloss classes own wage-period, earnings, offset, and time-loss calculation state.
Interaction model¶
Consumers save or retrieve BOF payment objects and collections, each object fills criteria SQL or stored-procedure names, and IDataPortalInfo routes those requests to Oracle. Financial-transaction and benefit modules depend heavily on package contracts, while wage-calculation classes persist their own calculation tables through many criteria-specific CRUD objects.
Architecture diagram¶
The following diagram shows high-level component interactions.
flowchart TD
A[Payment applications] --> B[Payment business objects]
B --> C[Financial transaction layer]
B --> D[Benefit and payee layer]
B --> E[Wage and timeloss calculations]
C --> F[PK82343_FINANCIAL_TRANS]
D --> G[PK82394_CLAIM_BENEFIT]
E --> H[Payment calculation tables]
F --> I[Oracle payment tables]
G --> I
Sequence diagram¶
The following diagram shows the primary request/response sequence.
sequenceDiagram
participant App as Payment application
participant Trans as clsFinancialTrans
participant DPI as IDataPortalInfo
participant Proc as pk82343_financial_trans
participant DB as Payment tables
App->>Trans: Save financial transaction
Trans->>DPI: Submit insert or update request
DPI->>Proc: Execute financial transaction package method
Proc->>DB: Persist transaction header and detail state
DB-->>Proc: Rowcount and transaction data
Proc-->>DPI: Package result
DPI-->>Trans: Materialized payment object
Trans-->>App: Updated transaction state
Design constraints¶
- The payment library is package-heavy: benefit, financial-transaction, payment-list, and posting workflows depend on Oracle package contracts rather than purely inline SQL.
- Stage 1b could not retrieve source for
PK82394_CLAIM_BENEFIT,PK82343_FINANCIAL_TRANS, orPK82395_OVERPAYMENTS, so database-side behavior is only traceable to caller contracts and live SQL signatures. - Wage and time-loss calculations add a large number of criteria-driven table mappings, increasing schema-coupling and regression scope.
- No local security or configuration surface was identified, so runtime behavior depends mainly on BOF infrastructure and Oracle contracts rather than library-owned settings.
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. Statements marked with**could not be confirmed; treat them as unknown until verified.
Sources¶
Business\SAIF.Business.Claim.Payment\clsBenefitRemark.vbBusiness\SAIF.Business.Claim.Payment\clsPaymentListCollection.vbBusiness\SAIF.Business.Claim.Payment\Adjustments\clsAdjustmentCategory.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTrans.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransCollection.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransDtl.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTranRemark.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentPosting.vbBusiness\SAIF.Business.Claim.Payment\Payees\clsPayeeBase.vbBusiness\SAIF.Business.Claim.Payment\Payments\clsPaymentBase.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsBenefitSchedule.vbBusiness\SAIF.Business.Claim.Payment\Periods\clsBenefitPeriod.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsClaimTimelossCalculation.vbBusiness\SAIF.Business.Claim.Payment\Pipelines\build-vars.ymlBusiness\SAIF.Business.Claim.Payment\packages.configBusiness\SAIF.Business.Claim.Payment\SAIF.BOF.Business.Claim.Payment.nuspecBusiness\SAIF.Business.Claim.Payment\Adjustments\Refunds\clsNdRefund.vbBusiness\SAIF.Business.Claim.Payment\Adjustments\clsBillPaymentAdjustment.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransDtlCollection.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentPostingCollection.vbBusiness\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentTotalManager.vbBusiness\SAIF.Business.Claim.Payment\Payees\clsAwardPayeeInfo.vbBusiness\SAIF.Business.Claim.Payment\Payees\clsPayeeCollection.vbBusiness\SAIF.Business.Claim.Payment\Payees\clsSupportPayee.vbBusiness\SAIF.Business.Claim.Payment\Payments\NonRecurringPayments\clsEmployerRefundPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\SettlementPayments\clsDCSPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\SettlementPayments\clsSettlementPayment.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAward.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardCollection.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardSSOffset.vbBusiness\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardSSOffsetCollection.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsBenefitScheduleCollection.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsOffsetWageCalcPeriod.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsOffsetWageCalcPeriods.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsOffsetWageCalculation.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsSupplementalWagePeriod.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsSupplementalWagePeriods.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsSupplementalWages.vbBusiness\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsTimelossPayment.vbBusiness\SAIF.Business.Claim.Payment\Periods\clsBenefitPeriodCollection.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsInjuryClaimWageAndJob.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsSecTimelossCalculation.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsSecWageCalcPeriodEarnings.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsSecWageCalculationPeriod.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsWageCalcPeriodEarnings.vbBusiness\SAIF.Business.Claim.Payment\Wage and Job\clsWageCalculationPeriod.vbBusiness\SAIF.Business.Claim.Payment\SAIF.BOF.Business.Claim.Payment.vbproj