Skip to content

SAIF.Business.Policy.Correspondence operations and processes

This page catalogs the business and technical operations implemented by SAIF.Business.Policy.Correspondence. The library creates and updates correspondence rows, loads endorsement collections and detail elements, resolves code metadata, queues output documents, and reconciles image references against Imaging. Each operation's detailed logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Create a new correspondence or endorsement Create an unsaved correspondence or endorsement and seed audit fields and keys. Caller invokes NewCorrespondence(...) or NewEndoresment(...). IDataPortalInfo, policy number, correspondence code, effective date, optional policy-period effective date. A new clsCorrespondence or clsEndorsement instance marked new. BR-004, BR-006, BR-007 ENDORSEMENT SQL-001
Retrieve a correspondence item Load a correspondence or endorsement by sequence number or by policy-period/code key. Caller invokes GetCorrespondence, GetInformationPage, or GetEndorsement. Sequence number, or policy number + policy-period effective date + correspondence code. A populated clsCorrespondence or clsEndorsement. BR-001, BR-008, BR-009 ENDORSEMENT, OUTPUT_LOG, ENDORSE_CODE SQL-005, SQL-006, SQL-013
Retrieve endorsement collections for a policy or policy period Load all endorsements for a policy, optionally constrained to one policy period. Caller invokes one of the GetEndorsements(...) overloads. Policy number, with optional period effective and expiration dates. A populated clsEndorsementCollection. BR-001, BR-002, BR-003, BR-010 ENDORSEMENT, POLICY_PERIOD, ENDORSE_CODE, OUTPUT_LOG SQL-009, SQL-014, SQL-015
Persist a correspondence or endorsement Insert or update a correspondence row through the BOF save lifecycle. Caller saves a clsCorrespondence, clsEndorsement, or their collection wrappers. A dirty correspondence object plus any edit-session state held by the framework. An inserted or updated ENDORSEMENT row or a recorded error. BR-011, BR-012, BR-013, BR-014 ENDORSEMENT SQL-002, SQL-016
Look up a correspondence image sequence number Read the current output-log image sequence for a correspondence item. Caller invokes clsCorrespondence.GetImageSequenceNumber. Correspondence sequence number. The matching OUTPUT_LOG.IMAGE_SEQ_NUM value, if any. None OUTPUT_LOG SQL-007
Insert an output-log entry Call the legacy print-request stored procedure and return its output file name and copy count. Caller invokes clsCorrespondence.InsertOutputLog. A correspondence object and program name. otFileName and otCopies returned by reference. None N/A SQL-003
Insert a policy output document Persist a policy output-document record through the pk73343_output_document Oracle package. Caller invokes InsertOutputDocument or InsertAgencyDeliveredOutputDocument on clsOutputDocumentInserter. An OutputDocumentInsert DTO containing policy, image, delivery, release, and description fields. A stored OUTPUT_DOCUMENT / POLICY_OUTPUT_DOCUMENT pair. BR-005, BR-024, BR-025, BR-026, BR-027, BR-028, BR-029, BR-030, BR-031, BR-032 OUTPUT_DOCUMENT, POLICY_OUTPUT_DOCUMENT, OUTPUT_DOCUMENT_TYPE_CODE SQL-004
Reconcile endorsement image sequence numbers with the Imaging API Check that stored image sequence numbers still exist in Imaging and clear any stale values. Caller invokes ClearImageSequenceNumbersForDeletedImages after loading an endorsement collection. The in-memory collection image sequence numbers and the ImagingApiUrl configuration setting. Any endorsement whose image is missing has ImageSequenceNumber reset to 0. BR-015, BR-016 N/A None
Load correspondence detail elements Retrieve the display-oriented name/value detail elements attached to a correspondence item. Caller invokes GetCorrespondenceDetail or GetCorrespondenceDetailCollection. Correspondence sequence number, with optional data-element name for the single-row variant. One clsCorrespondenceDetail or a clsCorrespondenceDetailCollection. BR-017 POLICY_CORRESPOND_DATA, ENDORSEMENT, CORRESPOND_DATA_ELEMENT SQL-011, SQL-012

Process flow diagram

The following diagram shows the main correspondence lifecycle.

flowchart TD
    Start([Caller]) --> Create[Create or retrieve correspondence]
    Create --> Details[Load details and code metadata]
    Details --> Imaging[Optional imaging reconciliation]
    Details --> Output[Optional output-document insert]
    Create --> Save[Persist correspondence]
    Output --> End([Caller continues])
    Imaging --> End
    Save --> End

Inherited operations and processes

Operations in this section come from documented BOF base classes and are inherited rather than implemented directly in local source.

From clsBusinessBase (SAIF.Framework.Core)

Operation Intent Provided by Origin Embedded in
Create or retrieve business object Execute the inherited data-portal lifecycle for create and retrieve requests.† clsBusinessBase SAIF.Framework.Core Create a new correspondence or endorsement, Retrieve a correspondence item, Load correspondence detail elements
Save business object Route insert or update requests through the inherited BOF save pipeline.† clsBusinessBase SAIF.Framework.Core Persist a correspondence or endorsement

From clsBusinessCollectionBase (SAIF.Framework.Core)

Operation Intent Provided by Origin Embedded in
Manage edit session Provide collection-level edit, apply, and rollback behavior used before save.† clsBusinessCollectionBase SAIF.Framework.Core Persist a correspondence or endorsement
Save managed collection Persist child items and stop on the first child failure.† clsBusinessCollectionBase SAIF.Framework.Core Persist a correspondence or endorsement

Database interactions

The following table summarizes which operations touch the database. Detailed per-step citations live on each operation page.

Operation SQL Tables Type
Create a new correspondence or endorsement SQL-001 ENDORSEMENT Write
Retrieve a correspondence item SQL-005, SQL-006, SQL-013 ENDORSEMENT, OUTPUT_LOG, ENDORSE_CODE Read
Retrieve endorsement collections for a policy or policy period SQL-009, SQL-014, SQL-015 ENDORSEMENT, POLICY_PERIOD, ENDORSE_CODE, OUTPUT_LOG Read
Persist a correspondence or endorsement SQL-002, SQL-016 ENDORSEMENT Write
Look up a correspondence image sequence number SQL-007 OUTPUT_LOG Read
Insert an output-log entry SQL-003 N/A — stored procedure body unavailable Write
Insert a policy output document SQL-004 OUTPUT_DOCUMENT, POLICY_OUTPUT_DOCUMENT, OUTPUT_DOCUMENT_TYPE_CODE Write
Load correspondence detail elements SQL-011, SQL-012 POLICY_CORRESPOND_DATA, ENDORSEMENT, CORRESPOND_DATA_ELEMENT Read

Failure and edge-case behavior

  • The legacy output-log path depends on a procedure that should be confirmed before reuse.*
  • Collection period retrieval changes behavior for Guidewire versus non-Guidewire policy periods.
  • Imaging reconciliation clears stale IDs instead of throwing when an image is simply missing from the returned result set.
  • Correspondence-detail APIs remain read-only because the live mutating SQL paths are disabled.

Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library.

Operation Description Source Link
Insert a policy output document Inserts output-document and policy-output-document rows and derives release status. WCIS_DBA.pk73343_output_document.insert_policy_output_document Details
Insert an output-log entry Legacy output-log request path referenced by application code; treat as possibly dead until the Oracle object is confirmed.* pk77001_output_log.insert_output_log Details

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. Statements marked with † are derived from dependency library documentation via the Legends CLI.

Sources

  • Business\SAIF.Business.Policy.Correspondence\clsCorrespondence.vb
  • Business\SAIF.Business.Policy.Correspondence\clsCorrespondenceCode.vb
  • Business\SAIF.Business.Policy.Correspondence\clsCorrespondenceCollection.vb
  • Business\SAIF.Business.Policy.Correspondence\clsCorrespondenceDetail.vb
  • Business\SAIF.Business.Policy.Correspondence\clsCorrespondenceDetailCollection.vb
  • Business\SAIF.Business.Policy.Correspondence\clsEndorsement.vb
  • Business\SAIF.Business.Policy.Correspondence\clsEndorsementCollection.vb
  • Business\SAIF.Business.Policy.Correspondence\clsOutputDocumentInserter.vb