---
title: Retrieve an interested party
summary: Operation details for Retrieve an interested party.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Affiliate
reference_type: package
operation_id: OP-003
trigger: A caller needs one interested-party association identified by policy, affiliate, and effective date.
---

# Retrieve an interested party

This operation documents how `clsInterestedParty.GetInterestedParty` fulfills the policy-affiliate behavior described for `SAIF.Business.Policy.Affiliate`.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-003 |
| **Trigger** | A caller needs one interested-party association identified by policy, affiliate, and effective date. |
| **Inputs** | `IDataPortalInfo`, affiliate SSN, policy number, effective date |
| **Outputs** | `clsInterestedParty` |
| **Primary components** | `clsInterestedParty.GetInterestedParty` |
| **Entry point** | `Business\SAIF.Business.Policy.Affiliate\clsInterestedParty.vb` |

## Steps

1. Create the interested-party criteria from the composite key and delegate the request to the BOF retrieve lifecycle.
2. In `BeforeRetrieve`, assign [SQL-004](../sql/SQL-004-saif-business-policy-affiliate.md) and bind the key parameters for [BUSINESS_AFFILIATE](../database-tables.md#business_affiliate) and [AFFILIATE](../database-tables.md#affiliate).
3. The SQL filters to affiliate type `1` and joins the association row to the affiliate person row by SSN ([BR-AFF-003](../business-rules.md#br-aff-003-interested-party-queries-require-type-code-1), [BR-AFF-004](../business-rules.md#br-aff-004-affiliate-associations-join-to-people-by-ssn)).
4. When a row exists, call `Fill` so the base association fields, nested affiliate, and interested-party-specific properties are all hydrated; otherwise return a default object ([BR-AFF-001](../business-rules.md#br-aff-001-missing-key-retrieval-returns-a-default-object)).
5. Return the read-only interested-party object, which resolves code descriptions through framework code collections when those properties are later read ([BR-AFF-016](../business-rules.md#br-aff-016-code-descriptions-come-from-framework-code-collections)).

## Process flow
The following diagram shows the type-1 filtered, SSN-joined retrieval and the default-object fallback.

```mermaid
flowchart TD
  Start(["Caller supplies policy, affiliate, effective date"]) --> Criteria["Build composite-key Criteria"]
  Criteria --> Before["BeforeRetrieve: assign SQL-004<br>bind policy/affiliate/date against BUSINESS_AFFILIATE + AFFILIATE"]
  Before --> Filter["SQL filters AFFILIATE_TYPE_CODE = 1<br>joins association to person by SSN"]
  Filter --> Query{"Row returned?"}
  Query -->|Yes| Fill["Fill base association, nested affiliate,<br>and interested-party fields"]
  Query -->|No| Default["Return default object"]
  Fill --> Result(["Return clsInterestedParty"])
  Default --> Result
```

## Failure and edge-case behavior

- The retrieve path is read-only; no persistence SQL is available through the criteria object.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `Business\SAIF.Business.Policy.Affiliate\clsInterestedParty.vb`
