Skip to content

ProcessOB3PRetention overview

ProcessOB3PRetention determines which third-party claims are eligible for document deletion under retention policies and triggers that deletion in OnBase. It asks the Imaging API for retention records due on a given month, day, and year, sends the claim numbers to the OnBase Third Party Archival Service in batches, and then marks the retention records as processed.

Purpose

  • Select third-party claims whose retention period has elapsed for the processing date, as decided by the Imaging API.
  • Submit those claim numbers to OnBase (ArchiveDocument SOAP operation) so that OnBase can perform the document deletion for the listed claims.*
  • Record completion by marking the Imaging API retention records as processed so they are not selected again.

The application makes no eligibility decision itself: the retention policy is evaluated server-side by the Imaging API endpoint. The actual document deletion occurs downstream inside OnBase and is not visible from this repository.

Invocation

ProcessOB3PRetention.exe -Month 3 -Day 31 -Year 2026

The executable is started by a scheduler (the README names the Automic job plan ARCH.ONBASE.PROCESS.3P.RETENTION.EOM). All three arguments are optional; a run with no arguments processes the current local date.

Scheduling

Attribute Value
Frequency LAST.DAY.OF.MONTH in CALE.SAIF calendar in AE
Scheduler Automic (UC4/AE) job plan ARCH.ONBASE.PROCESS.3P.RETENTION.EOM
Expected runtime 10PM on LAST.DAY.OF.MONTH
Upstream dependencies JSCH.ARCHITECTURE in AE Client 0100

The EOM suffix of the job plan name indicates an end-of-month run. This ARCH.ONBASE.PROCESS.3P.RETENTION.EOM workflow in Automic currently has two steps/jobs: Step 1 executes this ProcessOB3PRetention console application via the ARCH.ONBASE.PROCESS.3P.RETENTION job. It does not pass any explicit Day, Month, or Year values; so, they get set to default values in code. The scheduleDate parameter in the release pipeline controls deployment timing only, not job execution. Step 2 of the workflow is AE job ARCH.ONBASE.NOTIFY.POST.3P.RETENTION - which executes the SendOB3PRetentionNotification console application afterwards.

Command-line arguments

Arguments are named, not positional. The full contract, including syntax forms and validation behavior, is on the Arguments page.

Argument Type Required Default Purpose
Day int No Current day of month Day of the processing date sent to the Imaging API
Month int No Current month Month of the processing date sent to the Imaging API
Year int No Current year Year of the processing date sent to the Imaging API

Capability summary

Capability Owning component Description
Retrieve claims due for retention ImagingApiClient GET of the ThirdPartyRetention/toProcess endpoint for the processing date
Submit claims to OnBase in batches OnBaseService One ArchiveDocument SOAP call per batch, carrying the batch's claim numbers as a keyword collection
Mark retention records processed ImagingApiClient PUT of the batch's retention ids to the processed/mark endpoint
Batch size control ThirdPartyRetentionProcessor Batch size read from the Environment API, falling back to 100

The end-to-end flow is documented in Process third-party retention. The consumed OnBase SOAP proxy is documented separately in the OBRetentionService client documentation.

Documentation Description
Index Documentation entry point
Architecture Components and composition root
Run lifecycle Execution flow and exit codes
Arguments Full argument contract
Configuration Settings and environment variables
Dependencies Packages and API dependencies
Operations and processes Operation catalog
Business rules Rules enforced during processing
Operational runbook Run and recovery procedures
Tech debt Technical debt observations

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

  • README.md
  • ProcessOB3PRetention/Program.cs
  • ProcessOB3PRetention/ArgContainer.cs
  • ProcessOB3PRetention/ThirdPartyRetentionProcessor.cs
  • ProcessOB3PRetention/Services/ImagingApiClient.cs
  • ProcessOB3PRetention/Services/OnBaseService.cs
  • Pipelines/release.yml