﻿---
title: SAIF.Data.NHibernate dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data.NHibernate
reference_type: package
---

# SAIF.Data.NHibernate dependencies

SAIF.Data.NHibernate references `SAIF.Data` directly for entities and repository interfaces, reaches `SAIF.Data.Guidewire` transitively through `SAIF.Data`'s `ICCClaimApiService`, and depends on the SAIF.Framework persistence family, NHibernate/FluentNHibernate, and Oracle's managed data-access driver (`saif-data-nhibernate-analysis.md`).

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.Data](../saif-data/overview.md) | Project Reference | Supplies the entities, repository interfaces, and `ICCClaimApiService` that `ClaimBillEntryRepository` delegates to (`saif-data-nhibernate-analysis.md` Dependencies) |
| SAIF.Framework.Data.NHibernate | NuGet Package | Session/unit-of-work infrastructure (`NHibernateUnitOfWork`, `OracleUnitOfWorkFactory`, `OracleConfigurationFactory`) |
| SAIF.Framework.Core | NuGet Package | `Enforce.ArgumentNotNull` and `IUnitOfWork` abstractions |
| SAIF.Framework.Common | NuGet Package | Shared framework base types |

## External dependencies
| Dependency | Version | Usage |
| --- | --- | --- |
| NHibernate | 4.0.3 | ORM engine underlying the LINQ query providers and named/inline SQL execution |
| FluentNHibernate | 2.0.1 | `ClassMap<T>`/`SubclassMap<T>` mapping DSL |
| Iesi.Collections | 4.0.1 | NHibernate collection support |
| Oracle.ManagedDataAccess | 21.5.0 (assembly 4.122.21.1) | ODP.NET driver backing the Oracle-mapped entities |
| Autofac | — | Present in `packages.config`; there are no Autofac registrations in this library, registration happens in consuming `DependencyMaps` (`saif-data-nhibernate-analysis.md` Dependency injection summary)* |
| log4net | — | Present in `packages.config`, transitive with `SAIF.Data`; no confirmed direct usage in this library's persistence code* |
| Newtonsoft.Json | — | Present in `packages.config`, transitive with `SAIF.Data`; no confirmed direct usage in this library's persistence code* |
| Polly | — | Present in `packages.config`, transitive with `SAIF.Data`; no confirmed direct usage in this library's persistence code* |
| Microsoft.Extensions.* | 8.0.x | Present in `packages.config`, transitive with `SAIF.Data`; no confirmed direct usage in this library's persistence code* |

## Transitive dependencies

Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.

| Dependency | Source framework | Type | Usage |
| --- | --- | --- | --- |
| SAIF.Data.Guidewire | `SAIF.Data` | Transitive | Supplies the Guidewire HTTP client types reachable through `SAIF.Data`'s `ICCClaimApiService`, which `ClaimBillEntryRepository` calls for bill-queue processing (`saif-data-nhibernate-analysis.md` Dependencies)* |

## Dependency risks and notes
- `ClaimScoreRepository` requires a second, SQL Server session factory for `bp_clm_segmntn_complexity_score`; which factory or connection consumers configure for it is unknown (`saif-data-nhibernate-analysis.md` Open questions item 2)**.
- `Oracle.ManagedDataAccess` is referenced by the project but not declared as a nuspec dependency; whether consumers receive it transitively from `SAIF.Framework.Data.NHibernate` is unknown (`saif-data-nhibernate-analysis.md` Open questions item 6)**.
- The Edi maps bind to the personal Oracle schema `OPS$JIMMIL`, implying the application account needs grants on an individual's schema — a least-privilege and portability concern (SC-SDN-04, `saif-data-nhibernate-security-analysis.md`).
- `PolicyOutputDocumentExtensions` is duplicated across `SAIF.Data` and `SAIF.Data.NHibernate` with divergent members (`AgencyDeleted`/`NotAgencyDeleted` exist only here), risking ambiguity when both namespaces are imported (`saif-data-nhibernate-analysis.md` Open questions item 9).
- Unused legacy named queries (`ClaimBillEntry_GetNextBillFromQueue`, `ClaimBillEntry_RestoreBillToQueue`, `Collections_ApplyPayments`) are candidates for cleanup (`saif-data-nhibernate-analysis.md` Open questions item 5).
- `GroupImageRepository`'s deleted-image visibility filter is logically inverted, an authorization bypass reported as High severity (SC-SDN-01, `saif-data-nhibernate-security-analysis.md`).

## 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)
- [Procedures](procedures/index.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

## Sources
- `Data/SAIF.Data.NHibernate/SAIF.Data.NHibernate.csproj`
- `Data/SAIF.Data.NHibernate/packages.config`
- `Data/SAIF.Data.NHibernate/Repositories/ClaimBillEntryRepository.cs`
- `Data/SAIF.Data.NHibernate/Repositories/Claims/Information/ClaimScoreRepository.cs`
- `Data/SAIF.Data.NHibernate/Mappings/Edi/EdiElementMap.cs`
