Skip to content

SAIF.Business architecture

SAIF.Business mixes BOF business objects, claim-facing service facades, contact/value abstractions, and utility/reference-data helpers in one large class library. The dominant architectural pattern is retrieval-oriented BOF objects layered alongside direct-service helpers that call Oracle SQL, Oracle stored procedures, or CCClaimData API routes.

Responsibilities

  • Provide BOF retrieval and persistence surfaces for employee, leave, help-text, translation, and output-address data.
  • Expose service helpers for claims, imaging, EFT, policy, unit-stat, globalization, MCO, and bank validation.
  • Centralize security/resource checks and claim-scope visibility decisions.
  • Publish reusable contact/value objects and shared result contracts.

Component boundaries

  • BOF business objects: clsEmployeeData*, clsEmployeeLeave*, clsHelpText*, clsLanguageTranslation*, and clsSAIFOutputAddress.
  • Claim/security services: ClaimServices, clsClaimSecurity, and CCClaimData API DTOs.
  • Contact/value objects: ContactInfo types provide reusable formatting, validation, and effective-dating behavior.
  • Service helpers: imaging, EFT, policy, unit-stat, external-user, bank-validation, globalization, and MCO helpers.
  • Reference-data layer: mdlCodeMaps, Enumerations, and related helpers centralize lookup tables and code translations.

Interaction model

  • BOF objects use criteria-driven retrieval and persistence methods backed by IDataPortalInfo, IBusinessCriteria, and SqlHelper.
  • Claim and imaging flows combine claim-security flags, AD-resource checks, and targeted Oracle lookups before exposing secured data.
  • Policy, EFT, imaging-alert, and employee-leave operations delegate specialized behavior to Oracle procedures and packages.
  • Runtime configuration is resolved through environment-service abstractions and legacy XML-property lookup rather than hard-coded values.

Architecture diagram

The following diagram shows the major interaction paths across BOF objects, service helpers, Oracle data access, and external framework services.

flowchart TD
    Caller[Consumer application] --> BOF[BOF business objects]
    Caller --> Services[Service helpers]
    BOF --> Framework[SAIF BOF framework]
    Services --> Oracle[(Oracle SQL / procedures)]
    Services --> ClaimApi[CCClaimData API]
    Services --> Security[AD resource checks]
    Framework --> Oracle
    Security --> AD[(Active Directory)]

Sequence diagram

The following diagram shows the primary claim-security and data-retrieval sequence used by the service layer.

sequenceDiagram
    participant Caller
    participant ClaimServices
    participant ClaimSecurity
    participant Oracle
    participant Security as clsSecurityPrincipal
    Caller->>ClaimServices: Request claim-scoped operation
    ClaimServices->>ClaimSecurity: Load claim security flags
    ClaimSecurity-->>ClaimServices: Conflict / exposure / hostile-worker flags
    ClaimServices->>Security: Evaluate resource access
    ClaimServices->>Oracle: Query or call stored procedure
    Oracle-->>ClaimServices: Data or status
    ClaimServices-->>Caller: Authorized result

Design constraints

  • No in-repo <ProjectReference> dependencies exist; packaged dependencies supply the BOF framework and auxiliary integrations.
  • Generated Web Reference proxies were excluded from deep behavioral analysis, so any embedded business behavior in those proxies remains outside this document set.**
  • Oracle schema qualification is indirect for most inline SQL because the library does not configure connection users locally; unqualified tables remain [unqualified]**.
  • clsHelpText.vb and clsHelpTextCollection.vb both declare a public clsHelpTextCollection type, and whether the repository compiles in this state remains unresolved.**

Note: Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Business\SAIF.Business\ClaimServices.vb
  • Business\SAIF.Business\clsClaimSecurity.vb
  • Business\SAIF.Business\clsEmployeeData.vb
  • Business\SAIF.Business\clsEmployeeLeave.vb
  • Business\SAIF.Business\clsHelpText.vb
  • Business\SAIF.Business\clsLanguageTranslation.vb
  • Business\SAIF.Business\clsSAIFOutputAddress.vb
  • Business\SAIF.Business\ImageServices.vb
  • Business\SAIF.Business\PolicyServices.vb
  • Business\SAIF.Business\ContactInfo\clsAddress.vb
  • Business\SAIF.Business\mdlCodeMaps.vb