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 |
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Database tables
- SQL catalog
- Configuration
- API reference
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.vbBusiness\SAIF.Business.Policy.Correspondence\clsCorrespondenceCode.vbBusiness\SAIF.Business.Policy.Correspondence\clsCorrespondenceCollection.vbBusiness\SAIF.Business.Policy.Correspondence\clsCorrespondenceDetail.vbBusiness\SAIF.Business.Policy.Correspondence\clsCorrespondenceDetailCollection.vbBusiness\SAIF.Business.Policy.Correspondence\clsEndorsement.vbBusiness\SAIF.Business.Policy.Correspondence\clsEndorsementCollection.vbBusiness\SAIF.Business.Policy.Correspondence\clsOutputDocumentInserter.vb