---
title: ConfigurationService
summary: API reference for ConfigurationService.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# ConfigurationService

Implements `IConfigurationService` to build the imaging-API request payloads (`ImageConfig`, `ImageTaskConfig`) needed to upload an e-bill document image and, when appropriate, raise a workflow task for the claim's adjuster or legal team. It resolves document classification overrides through `IDocumentOverrideService`, builds claim domain data through `IClaimDomainBuilder`, retrieves claim records through `ICCClaimApiService`, and reads e-billing data through `IEbillingQueryProvider`.

## Purpose
- Determines whether a claim should trigger a legal-team alert (`AlertLegal`) based on the claim's security attributes.
- Derives an image security/alert code (`CLICONFL` for conflict claims, `CLISECUR` for secure claims) from a claim's computed security attributes (`GetImageClaimAlertSecurity`).
- Resolves the OnBase document classification (file code, category code, document-type code) for an e-bill document, applying any configured provider-type/document-type override (`GetImageClassification`, `AddImageClassification`).
- Computes the document date to stamp on an image, using the minimum service date for bill documents or the maximum service date otherwise (`AddDocumentDate`).
- Assembles the full `ImageConfig` used to upload a document image, including claim ID, claim number, and worker display name pulled from the claim API (`AddClaimData`, `GetImageConfiguration`).
- Builds the `ImageTaskConfig` used to notify the responsible adjuster (and legal, when flagged) of a newly imaged document (`GetImageTaskConfiguration`).

## Context
- Namespace: `SAIF.Services.Claims.Ebilling.Imaging`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ConfigurationService | `public ConfigurationService(IEbillingQueryProvider queryProvider, IDocumentOverrideService docOverrideService, IClaimDomainBuilder claimDomainBuilder, ICCClaimApiService claimApiService)` | Wires the e-billing query provider, document-override resolver, claim domain builder, and claim API client used to build imaging configuration. |
| AlertLegal(long) | `public bool AlertLegal(long claimId)` | Reports whether the claim identified by ID should trigger a legal alert, by loading the claim and delegating to the claim-instance overload. |
| AlertLegal(InjuryClaim) | `public bool AlertLegal(InjuryClaim claim)` | Reports whether the given claim is flagged in the image query provider as requiring a legal alert. |
| GetImageClaimAlertSecurity(InjuryClaim) | `public string GetImageClaimAlertSecurity(InjuryClaim claim)` | Returns `"CLICONFL"` for a conflict claim, `"CLISECUR"` for a secure claim, or an empty string if neither applies. |
| GetImageClaimAlertSecurity(long) | `public string GetImageClaimAlertSecurity(long claimId)` | Loads the claim by ID and returns its image alert/security code. |
| GetProviderType | `protected string GetProviderType(EbillDocument doc)` | Returns the billing provider's provider-type code for a document, or an empty string if the document has no billing provider/type. |
| GetImageClassification | `protected ImageClassification GetImageClassification(EbillDocument document)` | Builds the default file/category/document-type classification for a document from its document type, then applies any provider-type-specific override found via `IDocumentOverrideService`. |
| AddImageClassification | `protected void AddImageClassification(ImageConfig config, EbillDocument document)` | Populates an `ImageConfig`'s classification, discoverability, and external-view fields from the document's resolved classification and type metadata. |
| AddDocumentDate | `protected void AddDocumentDate(ImageConfig config, EbillDocument document, bool isBillDocument)` | Sets the image's document date to the ebill's minimum service date (bill documents) or maximum service date (other documents), defaulting to today if no service date exists. |
| AddClaimData | `protected void AddClaimData(ImageConfig config, EbillDocument document)` | Populates an `ImageConfig`'s claim ID, claim number, and formatted worker display name from the claim resolved via `ICCClaimApiService`. |
| GetImageConfiguration | `public ImageConfig GetImageConfiguration(long ebillDocumentId, int numberOfPages, bool isBillDocument, string currentUser)` | Assembles a complete `ImageConfig` (spec `OnBase16`, batch job `AUTOIMPORT`, comment text, page count, document date, classification, and claim data) for uploading a document's image. |
| GetImageTaskConfiguration | `public ImageTaskConfig GetImageTaskConfiguration(long claimId, bool isBillingDocument)` | Builds a `CLAIM`/`MED`-priority "New Document" task addressed to the claim's responsible adjuster (and `{LEGAL}` if legal alert applies), returning `null` for billing documents or a zero claim ID. |

## Behavioral notes
- `AddClaimData` calls `ICCClaimApiService.GetClaim` synchronously via `GetAwaiter().GetResult()`, blocking on the underlying async claim lookup.
- Document classification defaults come from the document's configured type/subtype, but are overridden per provider type when `IDocumentOverrideService.CheckForOverride` returns a match.

## Sources
- Services/SAIF.Services/Claims/EBilling/Imaging/ConfigurationService.cs
