Skip to content

SAIF.Business.Imaging architecture

SAIF.Business.Imaging is a component-tier BOF business library (class library, no program entry point) that catalogs and indexes document images, associates them with business entities (affiliations), manages imaging code tables, and tracks batch indexing jobs. It does not store image binaries itself; that is presumably delegated to ImagingAPI.Client*.

Responsibilities

  • Catalog and index stored document images (clsImage/clsImageCollection, clsImageIdx).
  • Associate images with business-entity/claim affiliation context (clsImageAffiliation).
  • Manage imaging code tables (category, document name/type, file type).
  • Track batch image-indexing jobs (clsIndexBatch/clsIndexBatchCollection).
  • Track external (customer/portal-facing) view update state for image files (clsImageFileExternalViewUpdate).
  • Provide a legacy/transitional EAIP specialist lookup query (clsEAIP)*.

Component boundaries

  • clsImage / clsImageCollection: core image record entity and collection.
  • clsImageAffiliation / clsImageAffiliationCollection: image-to-entity affiliation association.
  • clsImageCache: caching wrapper business object for image data*.
  • clsImageCategoryCode / clsImageCategoryCodeCollection, clsImageDocumentNameCode, clsImageDocumentTypeCode (+ clsImageDocumentTypeCodeCollection), clsImageFileCode / clsImageFileCodeCollection: code-table lookups.
  • clsImageFileExternalViewUpdate: external-view update tracking.
  • clsImageIdx: image indexing record — full CRUD BOF business object.
  • clsImgsys: imaging system reference/configuration business object (TOWID owner).
  • clsIndexBatch / clsIndexBatchCollection: batch indexing job entity and collection.
  • clsEAIP / clsEAIPMessages: EAIP specialist lookup helper; not a live BOF business object since its base-class inheritance is commented out — a legacy/transitional artifact*.
  • clsExternalImageInfo, clsImageMsgConst, clsStoreClassValues, mdlCodeMaps: supporting data/message-constant classes and shared code-map module.
  • Generated Institutions typed DataSet: excluded from hand-authored business surface.

Interaction model

  • This library has a comparatively shallow internal dependency footprint (only SAIF.BOF.Business and framework/common libraries) relative to other Business.* libraries, suggesting it sits low/mid in the dependency graph and is widely consumed rather than a heavy consumer itself*.
  • All CRUD persistence flows through the standard BOF IBusinessCriteria pattern against an Oracle database, evidenced by :-prefixed bind-variable syntax (e.g., :inClaimID in clsEAIP.vb) and Oracle client configuration sections in app.config.
  • clsEAIPMessages.SQLGetEAIPSpecialist defines an EAIP-specialist lookup query, but since clsEAIP is not a live business object, the calling mechanism that invokes this query was not located in this pass**.
  • No presentation-layer types, WCF, or Web API surface were detected in this library's own source.

Architecture diagram

The following diagram shows the high-level component grouping within the library and its position relative to consuming and Oracle persistence layers.

flowchart TD
    Caller[Consuming application / BOF layer] --> Image[clsImage / clsImageCollection]
    Caller --> ImageIdx[clsImageIdx]
    Caller --> IndexBatch[clsIndexBatch / clsIndexBatchCollection]
    ImageIdx --> Affiliation[clsImageAffiliation / clsImageAffiliationCollection]
    ImageIdx --> ViewUpdate[clsImageFileExternalViewUpdate]
    ImageIdx --> CodeTables[Image code tables<br>category / document / file]
    ImageIdx --> Imgsys[clsImgsys]
    Legacy[clsEAIP / clsEAIPMessages<br>legacy non-BOF] -.-> EAIPQuery[SQLGetEAIPSpecialist query]
    Framework[SAIF.BOF.Framework<br>clsBusinessBase / clsBusinessCollectionBase] --> ImageIdx
    Framework --> IndexBatch
    ImageIdx --> DB[(Oracle database)]
    IndexBatch --> DB
    Image --> DB

Sequence diagram

The following diagram shows the primary batch-indexing sequence for a newly indexed image.

sequenceDiagram
    participant Caller
    participant IndexBatch as clsIndexBatch
    participant ImageIdx as clsImageIdx
    participant Oracle as Oracle database
    Caller->>IndexBatch: Create/Retrieve batch (IMGSYS)
    IndexBatch->>Oracle: Execute batch CRUD SQL (SQL-012 / SQL-031 / SQL-038)
    Caller->>ImageIdx: Insert indexed image record
    ImageIdx->>Oracle: Execute InsertSQL (SQL-010, bind variables)
    Oracle-->>ImageIdx: Row count / sequence value
    ImageIdx->>Oracle: Conditional: InsertEAIPSQL (SQL-007) if EAIP
    ImageIdx->>Oracle: Conditional: InsertImageAgencySQL (SQL-008) if AGNCY
    ImageIdx->>Oracle: Conditional: InsertImageGroupSQL (SQL-009) if GROUP
    Oracle-->>ImageIdx: Row counts
    ImageIdx-->>Caller: Persisted image record

Design constraints

  • Targets Oracle exclusively; no other database provider evidence was found.
  • No security/authorization framework interaction was detected in this library.
  • No configuration framework (IEnvironmentService, ConfigurationManager.AppSettings, DbConnectionManager) interaction was detected.
  • clsEAIP is a possible dead/transitional artifact: its Inherits clsBusinessBase line is commented out, so it is treated as a plain object rather than a BOF business object per analysis rules*.
  • Dependencies are resolved entirely as NuGet package references per the .nuspec; no local <ProjectReference>s were found*.

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.Imaging\clsImage.vb
  • Business\SAIF.Business.Imaging\clsImageAffiliation.vb
  • Business\SAIF.Business.Imaging\clsImageCache.vb
  • Business\SAIF.Business.Imaging\clsImageIdx.vb
  • Business\SAIF.Business.Imaging\clsImgsys.vb
  • Business\SAIF.Business.Imaging\clsIndexBatch.vb
  • Business\SAIF.Business.Imaging\clsIndexBatchCollection.vb
  • Business\SAIF.Business.Imaging\clsEAIP.vb
  • Business\SAIF.Business.Imaging\clsImageFileExternalViewUpdate.vb
  • Business\SAIF.Business.Imaging\mdlCodeMaps.vb
  • Business\SAIF.Business.Imaging\SAIF.BOF.Business.Imaging.nuspec