---
title: SAIF.SAIFCode.Core operations and processes
summary: Business and technical operations supported by this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# 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](operations/document-banner-instructions.md) | 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](business-rules.md#core-br-001-documents-are-routed-to-a-left-window-right-window-or-dcbs-batch-envelope), [CORE-BR-002](business-rules.md#core-br-002-banner-text-order-of-six-inserts-plus-language-marker-and-delimiter-matters-for-parsing) | — | — |
| [ClaimDetail.AlertItems](operations/claim-detail-alert-items.md) | Build the ordered claim alert list for display | Claim detail display | Claim flags and dates | Alert list | [CORE-BR-010](business-rules.md#core-br-010-claim-alerts-are-raised-for-fraud-secured-worker-preferred-worker-support-order-worker-conflict-multiple-jobs-overpayment-and-cda-full-dcs-partial-dcs-with-dates) | — | — |
| [Filter criteria](operations/filter-criteria.md) | Interpret filter-criteria sentinel values as no-filter or special selections | Note/image search | Filter criteria object | Filter applied or skipped | [CORE-BR-020](business-rules.md#core-br-020-filter-sentinels-and-producer-minus-2-or-minus-1-mean-special-or-no-filter-values) | — | — |
| [ClaimIdentifier](operations/claim-identifier.md) | 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](business-rules.md#core-br-030-a-claim-identifier-is-7-characters-plus-the-8th-check-character) | — | — |
| [TaskExtensions](operations/task-extensions.md) | Map task priority and source codes to display values | Task list mapping | Priority code, source code | Display value | [CORE-BR-040](business-rules.md#core-br-040-task-priority-codes-are-urg-info-med-low-high-source-codes-are-claim-coll-covb-image-wcis-rtw) | — | — |
| [Bill contract flags](operations/bill-contract-flags.md) | Compute bill discardable, complete, and updateable UI flags | Bill UI rendering | `BillEntrySourceCode`, `BillStatusCode` | Boolean flags | [CORE-BR-050](business-rules.md#core-br-050-a-bill-is-discardable-when-it-is-not-an-e-bill-entry-source-e-or-its-status-is-pen), [CORE-BR-051](business-rules.md#core-br-051-a-bill-is-complete-when-its-status-is-com), [CORE-BR-052](business-rules.md#core-br-052-a-bill-is-updateable-when-its-status-is-pen-ent-aud-or-sus) | — | — |
| [BillStatusCode](operations/bill-status-code.md) | Define the bill status code set | Status mapping | Status literal | Code instance | [CORE-BR-053](business-rules.md#core-br-053-the-bill-status-code-set-is-com-ent-aud-pen-app-dis-ext-rev-sus) | — | — |
| [PolicyDocumentReturnCode.AssignMessage](operations/policy-document-return-code-assign-message.md) | Map a Policy Documents API return code to a user-facing message | API response handling | Return code | Message text | [CORE-BR-060](business-rules.md#core-br-060-policy-document-api-return-codes-map-to-user-messages-usernotauthorized-is-2-usernotauthorizedforpolicy-is-3) | — | — |
| [Other computed members](operations/other-computed-members.md) | 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.

```mermaid
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.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

## 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
