Skip to content

SAIF.Business.Claim architecture

SAIF.Business.Claim is the core claim-domain business library for benefit schedules, awards, work status, body-part tracking, transfer processing, and claim calculation services backed by Oracle tables and stored procedures.

Responsibilities

  • Manage claim benefit schedules, benefit payments, award status, and federal/state award data.
  • Persist worker work status, work release, injured body parts, and employee work address data.
  • Execute claim-specific calculations such as statutory weekly wage, aggregation right dates, medically stationary dates, and timeliness of first payment.
  • Provide read-only code tables and claim-list generation utilities.
  • Create adjuster follow-up work through claim task generation during benefit-schedule processing.

Component boundaries

  • Business objects such as clsBenefitSchedule, cls1502Transfer, and clsWorkerInjuredBodyPart own claim-domain validation and persistence rules.
  • Collection classes coordinate retrieval, traversal, and save semantics for grouped claim entities.
  • Stored-procedure wrappers isolate calculation logic behind BOF criteria objects.
  • Read-only lookup classes expose Oracle code tables without mutating lifecycle operations.
  • Cross-library task creation is delegated to the claim tasks library instead of implemented locally.

Interaction model

Most operations follow the BOF pattern: a business object or collection creates criteria, sends that criteria through IDataPortalInfo, executes Oracle SQL or stored procedures, applies local validation rules, and then optionally triggers downstream workflow such as adjuster-task creation. The library mixes CRUD-oriented entities with read-only calculation wrappers and dynamic query helpers.

Inherited framework context (from Legends CLI)

  • IBusinessCriteria supplies the standard CreateSQL, RetrieveSQL, InsertSQL, UpdateSQL, and DeleteSQL contract used throughout the library's BOF criteria classes.*
  • IDataPortalInfo provides the central data-portal abstraction, including scalar/result-set execution and sequence retrieval, while routing requests to concrete Oracle or SQL portal implementations.*
  • clsBusinessBase contributes edit lifecycle methods, link management, and the shared clsRulesManager-based validation model used by claim business objects.*
  • clsBusinessCollectionBase and clsBusinessCollection(Of T) contribute traversal, search/sort behavior, deleted-item tracking, and aggregated validation state for claim collections.*
  • clsRetrieveOnlyBusinessCriteria constrains read-only criteria to RetrieveSQL, which matches the library's lookup and list-style objects.*

Architecture diagram

The following diagram shows the high-level claim business-object architecture.

flowchart TD
    Consumer["Application / service consumer"] --> ClaimObjs["Claim business objects"]
    ClaimObjs --> Collections["Claim collections and lookups"]
    ClaimObjs --> Calc["Stored procedure wrappers"]
    ClaimObjs --> Tasks["SAIF.Business.Tasks.Claim"]
    ClaimObjs --> DPI["IDataPortalInfo"]
    Collections --> DPI
    Calc --> DPI
    DPI --> Oracle["Oracle claim schema"]

Sequence diagram

The following diagram shows a representative benefit-schedule processing sequence.

sequenceDiagram
    participant Consumer
    participant Schedule as clsBenefitSchedule
    participant DPI as IDataPortalInfo
    participant Oracle
    participant Tasks as clsClaimTaskGenerator
    Consumer->>Schedule: ProcessBenefitPayment()
    Schedule->>DPI: Retrieve / update schedule data
    DPI->>Oracle: SQL and stored procedure calls
    Oracle-->>DPI: Claim data and calculation results
    DPI-->>Schedule: Hydrated objects
    Schedule->>Tasks: Create follow-up task when review is required
    Schedule-->>Consumer: Save result and validation state

Design constraints

  • The library is tightly coupled to Oracle claim tables, sequences, and four stored procedures.
  • Validation is embedded in BOF business objects and must run before save completion.
  • Read-only lookup types should remain on retrieve-only criteria paths instead of mutating CRUD paths.
  • Task-generation workflow depends on an external claim-task library rather than local workflow objects.

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\SAIF.BOF.Business.Claim.vbproj
  • Business\SAIF.Business.Claim\SAIF.BOF.Business.Claim.nuspec
  • Business\SAIF.Business.Claim\packages.config
  • Business\SAIF.Business.Claim\Enums.vb
  • Business\SAIF.Business.Claim\IExplanationOfBenefit.vb
  • Business\SAIF.Business.Claim\IExplanationOfBenefitSearchCriteria.vb
  • Business\SAIF.Business.Claim\cls1502Transfer.vb
  • Business\SAIF.Business.Claim\clsActiveBenefitSchedule.vb
  • Business\SAIF.Business.Claim\clsAggRightDates.vb
  • Business\SAIF.Business.Claim\clsAwardBenefitPayment.vb
  • Business\SAIF.Business.Claim\clsAwardBenefitPaymentCollection.vb
  • Business\SAIF.Business.Claim\clsBenefitSchedule.vb
  • Business\SAIF.Business.Claim\clsClaimEmployeeWorkAddress.vb
  • Business\SAIF.Business.Claim\clsClaimListGenerator.vb
  • Business\SAIF.Business.Claim\clsClaimWorkReleaseStatus.vb
  • Business\SAIF.Business.Claim\clsClaimWorkStatus.vb
  • Business\SAIF.Business.Claim\clsFederalAwardStatus.vb
  • Business\SAIF.Business.Claim\clsFederalAwardStatusCollection.vb
  • Business\SAIF.Business.Claim\clsFederalBenefitSchedule.vb
  • Business\SAIF.Business.Claim\clsITimelinessOfFirstPayment.vb
  • Business\SAIF.Business.Claim\clsMedicallyStationaryDate.vb
  • Business\SAIF.Business.Claim\clsPPDBodyParts.vb
  • Business\SAIF.Business.Claim\clsServiceType.vb
  • Business\SAIF.Business.Claim\clsServiceTypeCollection.vb
  • Business\SAIF.Business.Claim\clsSetAwardPaymentPending.vb
  • Business\SAIF.Business.Claim\clsStatutoryWeeklyWageCalculation.vb
  • Business\SAIF.Business.Claim\clsVocationalServicesTypes.vb
  • Business\SAIF.Business.Claim\clsWorkerInjuredBodyPart.vb
  • Business\SAIF.Business.Claim\clsWorkerInjuredBodyPartCollection.vb
  • Business\SAIF.Business.Claim\mdlPPD.vb
  • Business\SAIF.Business.Claim\mdlReserveServices.vb