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*, andclsSAIFOutputAddress. - Claim/security services:
ClaimServices,clsClaimSecurity, and CCClaimData API DTOs. - Contact/value objects:
ContactInfotypes 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, andSqlHelper. - 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.vbandclsHelpTextCollection.vbboth declare a publicclsHelpTextCollectiontype, and whether the repository compiles in this state remains unresolved.**
Note: Statements marked with
**could not be confirmed; treat as unknown until verified.
Related documentation¶
- Index
- Overview
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Procedures
- API reference
- Security and authorization
- Configuration
Sources¶
Business\SAIF.Business\ClaimServices.vbBusiness\SAIF.Business\clsClaimSecurity.vbBusiness\SAIF.Business\clsEmployeeData.vbBusiness\SAIF.Business\clsEmployeeLeave.vbBusiness\SAIF.Business\clsHelpText.vbBusiness\SAIF.Business\clsLanguageTranslation.vbBusiness\SAIF.Business\clsSAIFOutputAddress.vbBusiness\SAIF.Business\ImageServices.vbBusiness\SAIF.Business\PolicyServices.vbBusiness\SAIF.Business\ContactInfo\clsAddress.vbBusiness\SAIF.Business\mdlCodeMaps.vb