Skip to content

SAIF.Services.Imaging.Import architecture

SAIF.Services.Imaging.Import is a Component-tier library* consisting of a single serializable data-transfer object, clsImageImport, that models the metadata needed to import/index a document image (plus related task and legal-case linkage) into the OnBase imaging system.* It contains no I/O, no data access, and no service calls — its only executable logic is a ToString() serializer consumed by calling libraries.

Responsibilities

  • Model batch/document identity, claim/policy linkage, agency/producer linkage, legal-case linkage, document metadata, task/workflow metadata, and audit/system fields relevant to an imaging-import job, via public auto-implemented properties on clsImageImport.
  • Expose named OnBase document type/sub-type classification constants (UseOnBaseDocTypes, OnBaseType*, OnBaseSubType*) for callers to reference when populating type/sub-type properties.*
  • Serialize the populated instance to a flat, newline-delimited KEY=VALUE text payload via ToString(), applying blank-out formatting rules for unset date and non-positive numeric defaults (BR-IMG-001, BR-IMG-002).

Component boundaries

  • clsImageImport: the library's sole public type — a <Serializable()> plain data holder with no constructors beyond the implicit parameterless one, no interfaces, no events, and no shared/static members.* It owns only in-memory state and string-formatting logic; it performs no persistence, transport, or validation beyond its own ToString() output shaping.
  • No other components exist in this library; there are no subfolders, no additional compiled source files, and no internal project references.*

Interaction model

  • A calling library (currently SAIF.Services.Printing, via clsPrint.vb's m_ImportInfo As clsImageImport field) constructs a clsImageImport instance, populates its properties, and calls .ToString() to obtain a KEY=VALUE\r\n-delimited text payload.*
  • The Legal web application references this assembly at the project level, but no direct source-level usage of clsImageImport was found within the Legal tree during Stage 1 analysis.**
  • The class itself never writes, transmits, or persists the serialized payload — producing and delivering it to the external imaging system (presumed OnBase, based on constant naming) is entirely the responsibility of the calling library.*

Design constraints

  • clsImageImport performs no validation of its own property values; the only conditional logic in the class is the blank-out formatting inside ToString() for date and non-positive numeric fields (BR-IMG-001, BR-IMG-002).
  • The .vbproj declares references to SAIF.BOF.Framework.*, Oracle.ManagedDataAccess, RestSharp, Newtonsoft.Json, and related packages, but none are used by the sole source file — these are declared-but-dormant build dependencies, not architectural coupling.*
  • The class has no dependency on any other internal SAIF library at the source level despite declaring several as build references.*
  • The exact external system that consumes the ToString()-serialized payload is inferred from constant naming only (OnBase*) and was not confirmed via a receiving integration point within this library's scope.*

Architecture diagram

The following diagram shows the library's single component and its known external collaborators.

flowchart TD
    Caller["SAIF.Services.Printing<br>clsPrint (external, holds m_ImportInfo)"] --> CII["clsImageImport<br>(this library)"]
    LegalApp["Legal web application<br>(project-level reference only)"] -.-> CII
    CII --> Payload["KEY=VALUE text payload<br>(produced by ToString())"]
    Payload --> OnBase["External imaging system<br>(presumed OnBase, inferred from constants)"]

Sequence diagram

The following diagram shows the primary populate/serialize sequence used by a calling library.

sequenceDiagram
    participant Caller as Calling library (e.g. SAIF.Services.Printing)
    participant CII as clsImageImport
    Caller->>CII: New clsImageImport()
    Caller->>CII: Set properties (BatID, ClaimID, ImageDocumentTypeCode, and other fields)
    Caller->>CII: ToString()
    CII->>CII: Append KEY=VALUE lines,<br>blank out unset dates/non-positive numbers
    CII-->>Caller: KEY=VALUE text payload
    Caller-->>Caller: Deliver payload to external imaging system (out of scope)

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

  • SAIF.Services.Imaging.Import\clsImageImport.vb
  • SAIF.Services.Imaging.Import\SAIF.Services.Imaging.Import.vbproj
  • SAIF.Services.Imaging.Import\AssemblyInfo.vb
  • SAIF.Services.Printing\clsPrint.vb
  • Legal\Legal.vbproj
  • .saifdocgen\state\runs\20260821-113120-claims-bof-web-legal\analysis\TSK010-analysis.md