Skip to content

ProcessOB3PRetention dependencies

The application depends on six internal SAIF packages and seven external packages, calls one REST API through SAIF.Web.API.Clients, and consumes one SOAP service. It has no database dependency.

Internal dependencies

Dependency Reference Type Project path Usage
SAIF.Framework.Windows NuGet Package n/a Console runner and lifecycle base classes (SaifStandardProgramBase, ConsoleBase, StandardArgumentContainerBase); version 4.8.26280.1 (stable, .csproj)
SAIF.Framework.Core NuGet Package n/a IEnvironmentService and shared interfaces; version 4.8.26280.1 (stable, .csproj)
SAIF.Framework.Common NuGet Package n/a Common extensions such as ToStringAll; version 4.8.26279.2 (stable, .csproj)
SAIF.Web.API.Clients NuGet Package n/a JsonHttpClient used by ImagingApiClient; version 4.8.26280.3 (stable, .csproj)
SAIF.Framework.Data.NHibernate NuGet Package n/a Registered by the framework but never used by application code; version 4.8.26279.4 (stable, .csproj)
SAIF.HashUtil NuGet Package n/a Referenced but never used by application code; version 4.8.26280.2 (stable, .csproj)

External dependencies

Dependency Version Usage
Autofac 3.5.2 Dependency-injection container; used directly in Program.cs registrations
log4net 2.0.17 Framework logging dependency
RestSharp 106.12.0 Transitive HTTP client for JsonHttpClient
NHibernate 4.0.3.4000 Transitive via SAIF.Framework.Data.NHibernate; unused
FluentNHibernate 2.0.1.0 Transitive via SAIF.Framework.Data.NHibernate; unused
FluentValidation 5.5.0.0 Transitive framework dependency
Iesi.Collections 4.0.1.4000 Transitive via NHibernate; unused

Transitive dependencies

Dependency Source framework Type Usage
IEnvironmentService SAIF.Framework.Core Interface Configuration-setting abstraction consumed by the application†
WindowsEnvironmentService SAIF.Framework.Core Service Concrete implementation registered for IEnvironmentService; resolves configuration settings from the Environment API†
IConsoleLogService SAIF.Framework.Common Interface Console logging abstraction consumed by the application†
ConsoleLogService SAIF.Framework.Windows Service Concrete implementation registered for IConsoleLogService, writing stdout and stderr output†
JsonHttpClient SAIF.Web.API.Clients HTTP client NTLM-authenticated JSON calls with retry; see API dependencies†
IUnitOfWorkFactory (named singletons) SAIF.Framework.Windows Registration Registered by the framework; never resolved by this application†

API dependencies

Endpoint Method Called from Base URL config key Source library Reached via Usage
/v1/integration/ThirdPartyRetention/toProcess?month={month}&day={day}&year={year} GET ImagingApiClient.GetClaimIdsForRetentionProcessing (ImagingApiClient.cs) imagingapiurl SAIF.Web.API.Clients This application: ImagingApiClient.GetClaimIdsForRetentionProcessing → SAIF.Web.API.Clients: JsonHttpClient.GetResults<T> Returns claims due for retention on the processing date†
v1/integration/ThirdPartyRetention/processed/mark?updateUser=ProcessOB3PRetention PUT ImagingApiClient.MarkRetentionClaimsAsProcessed (ImagingApiClient.cs) imagingapiurl SAIF.Web.API.Clients This application: ImagingApiClient.MarkRetentionClaimsAsProcessed → SAIF.Web.API.Clients: JsonHttpClient.PutJson<T> Marks a batch of retention records as processed†

JsonHttpClient authenticates with NTLM, sends Client-Name, Application-ID, and Client-User headers, and retries up to three times after one second on status 0, 502, 503, and 401.† The leading slash differs between the two paths as written in source; see Tech debt.

Service dependencies

Service Protocol Called from Address configuration Usage
OnBase Third Party Archival Service (OBRetentionService) SOAP (basicHttpBinding, Transport security) OnBaseService.ProcessRetention calling HylandOutBoundContractClient.ArchiveDocument ProcessOB3PRetention.WSPEndPointUrl Submits a batch of claim numbers for retention processing
Environment API REST WindowsEnvironmentService EnvironmentApiUrl environment variable Supplies configuration settings†
OpenTelemetry collector OTLP Framework telemetry OTEL_EXPORTER_OTLP_* environment variables Optional trace export

The SOAP proxy is documented in the OBRetentionService client documentation.

Dependency risks and notes

  • All six internal packages are declared as stable versions in the project file, which sets RestoreProjectStyle to PackageReference. The legacy packages.config was removed, so the project file is the only package manifest, and its versions are expected to govern restore.* What the CI restore step runs is defined outside this repository.* See Tech debt.
  • SAIF.Framework.Data.NHibernate and SAIF.HashUtil are unused, and the NHibernate stack adds dependencies the application does not need.
  • There are no database connections, so no database section applies.
Documentation Description
Index Documentation entry point
Overview Purpose and capabilities
Architecture Components and composition root
Run lifecycle Execution flow and exit codes
Arguments Argument contract
Configuration Settings and environment variables
Operations and processes Operation catalog
Business rules Rules enforced during processing
Operational runbook Run and recovery procedures
Tech debt Technical debt observations
OBRetentionService client Consumed SOAP proxy documentation

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with * were inferred from code structure or contextual evidence.

Sources

  • ProcessOB3PRetention/ProcessOB3PRetention.csproj
  • ProcessOB3PRetention/Program.cs
  • ProcessOB3PRetention/Services/ImagingApiClient.cs
  • ProcessOB3PRetention/Services/OnBaseService.cs
  • ProcessOB3PRetention/App.config