Skip to content

SAIF.Business.Claim.SupportOrder architecture

SAIF.Business.Claim.SupportOrder is a focused BOF component that persists support-order headers and claim-to-order links, using nested criteria classes and Oracle inline SQL to manage worker-scoped support orders plus their attached claim connections.

Responsibilities

  • Represent a single support-order header and its financial, effective-date, and worker identity fields.
  • Manage collections of support orders by worker and collections of claim connections by support-order identifier.
  • Enforce optimistic-concurrency checks around support-order updates and connection persistence.
  • Lazy-load support-order connections so consumers can inspect linked claims only when required.

Component boundaries

  • Support-order entity: clsClaimSupportOrder owns order fields, save semantics, and the worker-scoped aggregate boundary.
  • Support-order collection: clsClaimSupportOrderCollection retrieves and manages support orders for a worker, including the all-claim filter path.
  • Connection entity: clsClaimSupportOrderConnection models the row that links a claim to a support order.
  • Connection collection: clsClaimSupportOrderConnectionCollection loads and manages the link set for a support-order record.

Interaction model

Consumers retrieve support-order collections by worker ID, create or update header rows through the entity criteria class, and access connections through a lazily populated child collection that queries the connection table by SupportOrderID.

Architecture diagram

The following diagram shows the high-level component interactions.

flowchart TD
    A[Claim maintenance workflow] --> B[Support order collection]
    B --> C[Support order entity]
    C --> D[Connection collection]
    C --> E[BOF data portal and criteria]
    D --> E
    E --> F[CL_CLAIM_SUPPORT_ORDER]
    E --> G[CL_CLAIM_SUPPORT_ORDER_CONN]

Sequence diagram

The following diagram shows the primary request and persistence sequence.

sequenceDiagram
    participant Client
    participant Orders as clsClaimSupportOrderCollection
    participant Order as clsClaimSupportOrder
    participant Portal as IDataPortalInfo
    participant Oracle
    Client->>Orders: GetClaimSupportOrderCollection(workerId)
    Orders->>Portal: Execute retrieve SQL
    Portal->>Oracle: Select support-order rows by worker
    Oracle-->>Orders: Return support orders
    Client->>Order: Access Connections
    Order->>Portal: Retrieve connection rows by SupportOrderID
    Portal->>Oracle: Select from CL_CLAIM_SUPPORT_ORDER_CONN
    Oracle-->>Order: Return linked claims

Inherited framework context (from Legends CLI)

  • clsBusinessBase and clsBusinessCollectionBase provide the BOF entity and collection lifecycle used by both support-order object pairs, including validation surfacing and collection traversal behavior.† Source: cached Legends CLI results for saif-framework-core (library docs; api/business-rules/operations-processes/dependencies queries for the named base classes).
  • IBusinessCriteria supplies the CRUD SQL contract that the nested criteria classes fulfill with inline Oracle statements, while IDataPortalInfo is the routing abstraction for those requests.† Source: cached Legends CLI results for saif-framework-core (library docs; api/operations-processes/dependencies queries for IBusinessCriteria and IDataPortalInfo).
  • IDataRequest, clsSAIFDataReader, and clsSmartDate are inherited framework transport or helper types in the BOF data-access path rather than local support-order domain logic.† Source: cached Legends CLI results for saif-framework-core (library docs; api/dependencies queries for the named types).

Design constraints

  • Update semantics depend on UPDATE_NUM optimistic concurrency in CL_CLAIM_SUPPORT_ORDER.
  • Connection retrieval is intentionally child-scoped and should remain lazy to preserve the current aggregate boundary.
  • All persistence is defined as inline Oracle SQL inside criteria classes, so schema changes require code changes rather than only package updates.

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. They describe inherited behavior from the indicated origin library and should be verified if the dependency version changes.

Sources

  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrder.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderCollection.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnection.vb
  • Business\SAIF.Business.Claim.SupportOrder\clsClaimSupportOrderConnectionCollection.vb
  • Business\SAIF.Business.Claim.SupportOrder\packages.config
  • Business\SAIF.Business.Claim.SupportOrder\SAIF.BOF.Business.Claim.SupportOrder.nuspec