Skip to content

SAIF.Framework.Validation dependencies

SAIF.Framework.Validation keeps a deliberately small dependency surface so it can be referenced by both a web front end and an overnight batch process without pulling in hosting concerns. It takes one internal framework dependency for tracing and environment access, one internal package for shared policy value types, and two external packages for XML rule set handling and logging. It references no data access assembly, which is why rule evaluation behaves identically in interactive and batch callers.

Internal dependencies

Dependency Reference Type Usage
SAIF.Framework.Core NuGet Package Supplies ValidationComponentBase, framework tracing, and the initialization guard that ValidationEngine inherits.
SAIF.Framework.Policy.Types NuGet Package Provides the PolicyPeriod and JurisdictionCode value types used by date-range and state-scoped rules.
SAIF.Framework.Validation.Rules.Tests Project Reference Test-only project reference used to exercise rule types against sample claim records during the build.

External dependencies

Dependency Version Usage
System.Xml.Linq 4.0.0.0 Parses rule set XML in RuleSetLoader and materializes ValidationRule instances.
log4net 2.0.15 Writes rule set load failures and evaluation timing to the shared application log.
Newtonsoft.Json 13.0.3 Serializes ValidationResult for the batch error log written by SAIF.PremiumAudit.Batch.

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.Framework.Environment SAIF.Framework.Core Transitive Resolves environment configuration values that ValidationComponentBase reads during initialization.†
SAIF.Framework.Diagnostics SAIF.Framework.Core Transitive Provides the trace listener that WriteTrace routes component trace entries to.†

Dependency risks and notes

  • log4net 2.0.15 is the version pinned across the SAIF .NET Framework 4.8 estate. Upgrading this library alone would produce assembly binding redirect conflicts in SAIF.Claims.Intake.
  • SAIF.Framework.Core is consumed as a NuGet package rather than a project reference, so a base class change ships only when the package version is bumped in this library's project file.
  • The library has no data access dependency by design. Adding one would let rules issue queries and break the guarantee that batch and web evaluation produce the same result for the same record.
  • Newtonsoft.Json is used only for batch error output. If the batch logger moves to structured logging, this dependency can be removed.

Sources

  • src/SAIF.Framework.Validation/SAIF.Framework.Validation.vbproj
  • src/SAIF.Framework.Validation/packages.config
  • src/SAIF.Framework.Validation/SAIF.Framework.Validation.nuspec
  • src/SAIF.Framework.Validation/RuleSetLoader.vb