---
title: clsSAIFOutputAddress
summary: API reference for clsSAIFOutputAddress.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business
reference_type: package
---

# clsSAIFOutputAddress

`clsSAIFOutputAddress` is a public class in `SAIF.Business` that retrieves, classifies, and formats the `XSAIF` location addresses used for xPressions reporting.

## Purpose
- Retrieves SAIF output addresses from the `LOCATION` table for the fixed `XSAIF` location code.
- Maps location-name codes into the `Corporate` and `ClaimsConfidential` address descriptions.
- Returns either a cloned `clsAddress` object or a preformatted address block with phone and fax lines for report output.

## Context
- Namespace: `SAIF.Business`
- Assembly/package: `SAIF.Business`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `SAIFOutputCode` | `Public Const SAIFOutputCode As String = "XSAIF"` | Defines the location code used when retrieving SAIF output addresses. |
| `AddressDescriptions` | `Public Enum AddressDescriptions` | Defines the supported address-description values `Corporate` and `ClaimsConfidential`. |
| `GetAddressDescriptionCodeMap` | `Public Shared Function GetAddressDescriptionCodeMap() As clsAddressDescriptionCodeMap` | Returns the shared code-map object that translates database address-description codes into enum values. |
| `AddressDescriptionCodeMap` | `Public ReadOnly Property AddressDescriptionCodeMap() As clsAddressDescriptionCodeMap` | Exposes the shared address-description code map from an instance. |
| `AddressDescription` | `Public ReadOnly Property AddressDescription() As AddressDescriptions` | Returns the most recently loaded address description while records are being filled. |
| `clsAddressDescriptionCodeMap` | `Public Class clsAddressDescriptionCodeMap` | Declares the nested extended code-map type that contains the `CORPORATE` and `CLAIMS_CONFIDENTIAL` mappings. |
| `Equals` | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Returns `True` only when both objects are `clsSAIFOutputAddress` instances and the instance comparison succeeds. |
| `Equals` | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Returns `True` for any `clsSAIFOutputAddress` instance. |
| `GetHashCode` | `Public Overrides Function GetHashCode() As Integer` | Returns a hash code based on the constant `SAIFOutputCode`. |
| `ToString` | `Public Overrides Function ToString() As String` | Returns the fixed `SAIFOutputCode` value. |
| `GetSAIFOutputAddresses` | `Public Shared Function GetSAIFOutputAddresses(ByVal inDataportal As IDataPortalInfo) As clsSAIFOutputAddress` | Retrieves the set of available SAIF output addresses for xPressions reporting. |
| `GetFormattedAddress` | `Public Function GetFormattedAddress(ByVal inDescription As AddressDescriptions) As String` | Returns the formatted address block for the requested address description. |
| `GetAddress` | `Public Function GetAddress(ByVal inDescription As AddressDescriptions) As clsAddress` | Returns a cloned `clsAddress` instance for the requested address description. |

## Behavioral notes
- Retrieval uses a single query against `LOCATION` and always binds `LocationCode` to `XSAIF`.
- `Fill` formats phone and fax values with `PhoneFormat.SAIFStandard`, turns on `ActiveFormating`, and appends `P:` and optional `F:` lines to the formatted address text.
- Address records are stored in sorted lists keyed by `AddressDescriptions`, and `GetAddress` returns a clone rather than the internal stored `clsAddress` instance.
- The business rules add `ValidObject`, which requires at least one address and uses the message `No xPression address found.` when validation fails.

## Constraints and usage notes
- Only the `Corporate` and `ClaimsConfidential` description codes are mapped by the nested code-map class.
- `GetFormattedAddress` and `GetAddress` expect the requested description to have been loaded from the data source before use.
- `GetSAIFOutputAddresses` requires a valid `IDataPortalInfo` and performs all retrieval through the data portal.

## Sources
- `Business\SAIF.Business\clsSAIFOutputAddress.vb`
