Skip to content

SAIF.Business.Claim.Entry architecture

SAIF.Business.Claim.Entry is the claim-entry business component for creating and editing injury claims, persisting Online 801 submission artifacts, managing pharmacy eligibility records, and brokering several API-backed lookup and submission flows.

Responsibilities

  • Provide the abstract claim-entry aggregate that creates, inserts, updates, numbers, and deletes injury claims.
  • Extend the base claim-entry workflow with state-specific logic such as county resolution, work-release management, and multiple-employer letter requests.
  • Persist Online 801 submissions, submission detail, and document records through PK82538_ONLINE_801_CLAIM.
  • Expose pharmacy eligibility CRUD and collection retrieval workflows.
  • Broker API-backed worker lookup, claim submission, and claim search requests for Online 801 scenarios.

Inherited framework context (from Legends CLI)

Cached resolvedTypes[].queries[] results for SAIF.Business.Claim.Entry indicate the following inherited framework behavior:

  • IBusinessCriteria provides the BOF criteria contract that supplies overridable create/retrieve/insert/update/delete request slots for database and API-backed requests.† (source: saif-framework-core library docs)
  • IDataPortalInfo supplies connection, data-access-layer, API-client, and scalar-execution context to business objects during persistence and retrieval.† (source: saif-framework-core library docs)
  • IDataRequest represents the request abstraction used by the Oracle and SQL portal implementations beneath BOF business objects.† (source: saif-framework-core library docs)
  • clsAddress is identified as a framework address type, but the cached Legends results did not return deeper indexed behavior for it.† (source: saif-framework-core library docs)
  • clsBusinessApiBase provides the API-oriented single-object lifecycle used by REST-backed worker lookup, submission, and search objects.† (source: saif-framework-core library docs)
  • clsBusinessApiCriteriaBase supplies API-route dictionaries and SQL-like CRUD slots for API-backed criteria objects in the hybrid BOF model.† (source: saif-framework-core library docs)
  • clsBusinessBase contributes edit lifecycle support and a per-object clsRulesManager used to surface validation state.† (source: saif-framework-core library docs)
  • clsBusinessCollection(Of T) contributes typed collection traversal, deleted-item tracking, and collection-level validation surfacing.† (source: saif-framework-core library docs)
  • clsResultSet is identified as a framework result-wrapper type, but no deeper indexed behavior was returned by the cached Legends results.† (source: saif-framework-core library docs)
  • clsRuleArgs is identified as the V1 rule-handler argument type used by the framework rules engine, though no deeper indexed behavior was returned.† (source: saif-framework-core library docs)
  • clsSAIFDataReader is identified as a framework data-reader abstraction, but no deeper indexed behavior was returned by the cached Legends results.† (source: saif-framework-core library docs)
  • clsSmartDate is part of the BOF smart-value wrapper set used to carry null-safe date values through business objects.† (source: saif-framework-core library docs)
  • clsSmartDecimal is part of the BOF smart-value wrapper set used to carry null-safe decimal values through business objects.† (source: saif-framework-core library docs)
  • clsSmartString is part of the BOF smart-value wrapper set used to carry null-safe string values through business objects.† (source: saif-framework-core library docs)

Component boundaries

  • Claim-entry boundary: clsClaimEntry owns the shared injury-claim aggregate, core lifecycle methods, numbering logic, and inline validation behavior.
  • State-entry boundary: clsStateClaimEntry owns county lookup, work-release child management, and multiple-employer letter-request creation.
  • Online 801 boundary: Online801\Submission\* and Online801\Search\* own submission persistence, document persistence, search DTOs, and API wrappers.
  • Pharmacy boundary: clsPharmacyEligibilityReport and its collection own pharmacy-eligibility reporting records and retrieval filters.
  • API integration boundary: clsFindWorkerAPI, clsSubmitClaimByAPI, and clsClaimSearchApi isolate REST-backed flows from Oracle-backed BOF objects.

Interaction model

Application callers create or retrieve claim-entry objects, the business objects populate criteria SQL or stored-procedure definitions, and IDataPortalInfo routes those requests to Oracle. Online 801 workflows add a second path where API-backed business objects format routes and call framework-managed API clients instead of Oracle.

Architecture diagram

The following diagram shows high-level component interactions.


flowchart TD

    A[Claim entry application] --> B[Claim entry business objects]

    B --> C[State claim extensions]

    B --> D[Online 801 persistence]

    B --> E[Pharmacy eligibility]

    D --> F[PK82538_ONLINE_801_CLAIM]

    B --> G[Claim tables]

    D --> H[Framework API clients]

    C --> G

    E --> G

Sequence diagram

The following diagram shows the primary request/response sequence.


sequenceDiagram

    participant App as Claim entry UI

    participant Entry as clsStateClaimEntry

    participant Child as Child claim objects

    participant DPI as IDataPortalInfo

    participant DB as Oracle claim tables

    App->>Entry: Save new state claim

    Entry->>Child: Create work-release and state child data

    Entry->>DPI: Submit claim insert and status activity SQL

    DPI->>DB: Insert CL_INJURY_CLAIM and related activity rows

    DB-->>DPI: Rowcount and generated identifiers

    DPI-->>Entry: Persisted claim state

    Entry-->>App: Claim ID and claim number

Design constraints

  • The library mixes large inline SQL statements for claim entry with stored-procedure-backed Online 801 workflows, so both persistence styles must evolve together.
  • clsClaimEntryBusinessRules.vb contains commented-out rule methods, which means active validation lives primarily inside business-object lifecycle code instead of a centralized rules class.
  • Several child objects referenced by the entry workflow are defined outside this library, increasing coupling to adjacent claim-domain packages.
  • No local environment-setting or app-setting usage was detected, so API endpoint and portal configuration remains an inherited runtime concern rather than a library-owned one.

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with ** could not be confirmed; treat them as unknown until verified.

Sources

  • Business\SAIF.Business.Claim.Entry\clsClaimEntry.vb
  • Business\SAIF.Business.Claim.Entry\clsStateClaimEntry.vb
  • Business\SAIF.Business.Claim.Entry\clsClaimEntryBusinessRules.vb
  • Business\SAIF.Business.Claim.Entry\clsPharmacyEligibility.vb
  • Business\SAIF.Business.Claim.Entry\enums.vb
  • Business\SAIF.Business.Claim.Entry\packages.config
  • Business\SAIF.Business.Claim.Entry\SAIF.BOF.Business.Claim.Entry.nuspec
  • Business\SAIF.Business.Claim.Entry\app.config
  • Business\SAIF.Business.Claim.Entry\nuget.config
  • Business\SAIF.Business.Claim.Entry\Pipelines\build-vars.yml
  • Business\SAIF.Business.Claim.Entry\Pipelines\build.yml
  • Business\SAIF.Business.Claim.Entry\Pipelines\release.yml
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801Document.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801Submission.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801SubmissionData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\clsFindWorkerAPI.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\clsSubmitClaimByAPI.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\clsClaimSearchResult.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\clsClaimSearchCriteria.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\CCClaimDataApi\clsClaimSearchApi.vb
  • Business\SAIF.Business.Claim.Entry\Online801\CCClaimDataAPIResponseData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\ClaimCenterAPIResponseData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\clsRecordInfo.vb
  • Business\SAIF.Business.Claim.Entry\Online801\mdlCodeTables.vb
  • Business\SAIF.Business.Claim.Entry\SAIF.BOF.Business.Claim.Entry.vbproj