Skip to content

SAIF.SAIFCode.Core operations and processes

This page is the operation catalog and cross-operation hub for this library. SAIF.SAIFCode.Core has no service operations; its logic-bearing contract members are pure in-memory computations on DTOs — none of them touches SQL, database tables, or delegates to another library, except where noted. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
DocumentBannerInstructions Route a document to an envelope and assemble its banner-page text Document banner creation or parse Document metadata, six ordered inserts, language marker Envelope type, banner string CORE-BR-001, CORE-BR-002 — —
ClaimDetail.AlertItems Build the ordered claim alert list for display Claim detail display Claim flags and dates Alert list CORE-BR-010 — —
Filter criteria Interpret filter-criteria sentinel values as no-filter or special selections Note/image search Filter criteria object Filter applied or skipped CORE-BR-020 — —
ClaimIdentifier Split a claim number into its 7-character number and check character Claim number parse Raw claim number string Number, check character CORE-BR-030 — —
TaskExtensions Map task priority and source codes to display values Task list mapping Priority code, source code Display value CORE-BR-040 — —
Bill contract flags Compute bill discardable, complete, and updateable UI flags Bill UI rendering BillEntrySourceCode, BillStatusCode Boolean flags CORE-BR-050, CORE-BR-051, CORE-BR-052 — —
BillStatusCode Define the bill status code set Status mapping Status literal Code instance CORE-BR-053 — —
PolicyDocumentReturnCode.AssignMessage Map a Policy Documents API return code to a user-facing message API response handling Return code Message text CORE-BR-060 — —
Other computed members Compute reserve totals and validate address-error arguments Contract population Reserve line items, address error arguments Computed totals, validation result — — —

Process flow diagram

The following diagram visualizes the primary operational flow: a caller populates or reads a SAIF.SAIFCode.Core contract, and the contract's own computed members derive UI-facing state without any external call.

flowchart TD
    Start([Caller populates or reads a contract]) --> Compute["Contract computes derived state<br>e.g. Bill flags, ClaimDetail.AlertItems"]
    Compute --> Decision{Computation requires<br>only in-memory data?}
    Decision -->|Yes| Return([Computed value returned to caller])
    Decision -->|No, external lookup needed| Delegate(["Caller uses a SAIF.Core.Services<br>interface implemented in SAIF.Services"])

Database interactions

This library has no database interactions of its own — 0 IBusinessCriteria, 0 SQL properties, 0 stored procedures, and no NHibernate sessions, repositories, or connections were found. The only data-related item is the IDbConnectionService interface (Core/SAIF.Core/Services/IDbConnectionService.cs), which has no implementation anywhere in this repository**.

Failure and edge-case behavior

  • DocumentBannerInstructions.GetFreeformText and related extraction methods depend on the six-insert order established by CreateBannerPageText; if the order is not preserved, extraction of free-form segments from a banner string can silently misalign*.
  • NoteFilterCriteria.Filter (in both Agencies/Notes/NoteSearchCriteria.cs and Groups/Notes/NoteFilterCriteria.cs) treats the sentinel keys "---" and "-100", and producer -2/-1, as no-filter or special selections; a caller passing an unrecognized sentinel receives normal filtering behavior rather than an error*.
  • ClaimIdentifier assumes an 8-character input (7-character number plus 1 check character); behavior for shorter or malformed input is unverified**.

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

  • Core/SAIF.Core/Contracts/Documents/DocumentBannerInstructions.cs
  • Core/SAIF.Core/Contracts/Claims/Information/ClaimDetail.cs
  • Core/SAIF.Core/Contracts/Claims/ClaimIdentifier.cs
  • Core/SAIF.Core/Contracts/Agencies/Notes/NoteSearchCriteria.cs
  • Core/SAIF.Core/Contracts/Groups/Notes/NoteFilterCriteria.cs
  • Core/SAIF.Core/Contracts/Tasks/Extensions/TaskExtensions.cs
  • Core/SAIF.Core/Contracts/Claims/Bills/Bill.cs
  • Core/SAIF.Core/Contracts/Claims/Bills/BillStatusCode.cs
  • Core/SAIF.Core/Contracts/Policies/PolicyDocumentsApi/PolicyDocumentReturnCode.cs
  • Core/SAIF.Core/Services/IDbConnectionService.cs