---
title: SAIF.Domain dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Domain
reference_type: package
---

# SAIF.Domain dependencies

SAIF.Domain depends on three same-repository libraries via project references — SAIF.Core for contracts, SAIF.Data for entities and query providers, and SAIF.Data.Guidewire for ClaimCenter API clients — plus a set of external NuGet packages declared in `Domain/SAIF.Domain/packages.config`, most notably the `SAIF.Framework.*` libraries that supply the `IRepositoryFactory` / `IUnitOfWork` data-access abstractions this library builds on; SAIF.Services is the only production consumer of SAIF.Domain.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.Core](../saif-saifcode-core/overview.md) | Project Reference | Supplies `SAIF.Core.Contracts.*` interfaces, `BillStatusCode` and EDI interfaces referenced throughout the ebilling and bill classes |
| [SAIF.Data](../saif-data/overview.md) | Project Reference | Supplies `IDataEntity`, NHibernate-mapped entities, and query-provider interfaces (`IBillQueryProvider`, `IProviderQueryProvider`, `IReserveQueryProvider`, `CertificateHolderQueryProvider`) consumed via `IRepositoryFactory`/`IUnitOfWork` |
| [SAIF.Data.Guidewire](../saif-data-guidewire/overview.md) | Project Reference | Supplies Guidewire ClaimCenter API clients and models (`IClaimDataApiClient`, `ICCClaimApiService`, `IMedicalBillingApiService`) used for claim reads and EOB payment extracts |
| SAIF.Framework.Core | NuGet Package | Supplies `IRepositoryFactory`, `IUnitOfWork`, `IDataEntity`, and extension helpers (`IsNull`, `IsIn`) used by the domain base classes |
| SAIF.Framework.Common | NuGet Package | Supplies `IUserProfileService` (used by `Employee`) and other shared framework helpers |
| SAIF.Framework.Common.Files | NuGet Package | Referenced in `packages.config`; specific file-helper usage was not confirmed in the scanned files** |
| SAIF.HashUtil | NuGet Package | Referenced in `packages.config`; no observed usage was confirmed in the scanned files** |
| SAIF.Web.API.Clients | NuGet Package | Supplies the Guidewire/medical-billing API client types consumed by `Claim`, `ClaimReserveGenerator` and the ebilling EOB/indexing classes |

## External dependencies
| Dependency | Version | Usage |
| --- | --- | --- |
| Autofac | 3.5.2 | Referenced in `packages.config`; no container registrations were found within SAIF.Domain itself |
| AutoMapper | 2.2.1 | Static maps configured in `ClaimsMappingHelper`, `BillMappingHelper`, and the `Claim` static constructor |
| FluentValidation | 5.5 | Referenced in `packages.config`; no validator usage was confirmed in the scanned files** |
| log4net | 2.0.5 | Logging (for example, indexing and error-condition log messages) |
| Newtonsoft.Json | 8.0.3 | Serialization |
| RestSharp | 106.12 | Pulled in transitively for the Guidewire/medical-billing API clients supplied by SAIF.Web.API.Clients* |

## Dependency risks and notes
- Autofac and FluentValidation are declared in `packages.config` but no usage was found in the compiled SAIF.Domain source; they may be vestigial or used only by consumers that share the same package set**.
- SAIF.Framework.Common.Files and SAIF.HashUtil are declared dependencies whose specific usage inside this library was not confirmed by the source scan**.
- SAIF.Domain has no configuration or authorization dependencies of its own; it relies entirely on SAIF.Services callers for transaction (`IUnitOfWork.Begin`/`Commit`) boundaries.
- Consumers of this library: `Services/SAIF.Services/SAIF.Services.csproj` (production), `Tests/SAIF.Services.Tests`, and `SAIF.Data.Guidewire.Test`.
- SAIF.Domain has no nuspec or pipeline of its own; it ships as `lib\net462\SAIF.Domain.dll` inside the `SAIF.SAIFCode.Core` NuGet package built from `Core/SAIF.Core/SAIF.SAIFCode.Core.csproj` / `.nuspec`, alongside SAIF.Data, SAIF.Data.Guidewire, SAIF.Data.NHibernate, SAIF.Services, SAIF.Services.Web.Proxies and SAIF.Services.ClaimInfoApi.Core.
- `ClaimQueryProvider` and `WorkerQueryProvider` (supplied by SAIF.Data and consumed here via `IRepositoryFactory`) are REST-API-only clients against Guidewire ClaimCenter — they perform no direct database access despite the query-provider naming convention*; see [Operations and processes](operations-processes.md) for the affected operations.
- `File837Extractor` has a `NotImplementedException` code path (around line 843) whose trigger conditions are unverified**.
- Data access is entirely ORM-mediated (NHibernate via `IRepositoryFactory`/`IUnitOfWork`); there is no raw SQL, no stored-procedure calls, and no `IBusinessCriteria` usage anywhere in this library. See [Database tables](database-tables.md) and the [SQL catalog](sql/index.md) for the full catalog of 33 ORM operations, and [Operations and processes](operations-processes.md) for the additional 98 indirect reads mediated through SAIF.Data query providers.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **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
- `Domain/SAIF.Domain/SAIF.Domain.csproj`
- `Domain/SAIF.Domain/packages.config`
- `Domain/SAIF.Domain/app.config`
- `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec`
- `Pipelines/build.yml`, `Pipelines/build.release.yml`, `Pipelines/release.yml`, `Pipelines/build-vars.yml`
- `nuget.config`
- `Data/SAIF.Data.NHibernate/Mappings/Claims/Bills/CbpBillMap.cs`
