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.GetFreeformTextand related extraction methods depend on the six-insert order established byCreateBannerPageText; if the order is not preserved, extraction of free-form segments from a banner string can silently misalign*.NoteFilterCriteria.Filter(in bothAgencies/Notes/NoteSearchCriteria.csandGroups/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*.ClaimIdentifierassumes 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.
Related documentation¶
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