---
title: "SQL-006: clsProviderEOB"
summary: Read statement for clsProviderEOB.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider.PaymentPreference
reference_type: package
---

# SQL-006: clsProviderEOB

SELECT PROVIDER_EOB_INTERFACE by location.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-006 |
| **Operation type** | Read |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | Unqualified in SQL text |
| **Command type** | Text |
| **Business object** | `clsProviderEOB` |
| **Criteria property** | `RetrieveSqlLoc` |
| **Lifecycle method** | `BeforeRetrieve` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:ProviderLocationSeqNum` | Input | Decimal | N/A | Location-only retrieval path used when MyCriteria.ProviderSeqNum = 0. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PROVIDER_EOB_INTERFACE](../database-tables.md#provider_eob_interface) | READ | See sample SQL. |
| [EXT_USER_TYPE](../database-tables.md#ext_user_type) | READ | See sample SQL. |
| [EXT_USER](../database-tables.md#ext_user) | READ | See sample SQL. |
| [EMAIL_ADDRESS](../database-tables.md#email_address) | READ | See sample SQL. |
| [PERSON](../database-tables.md#person) | READ | See sample SQL. |

## Sample SQL

```sql
SELECT
    PROVIDER_EOB_INTERFACE.PROVIDER_SEQ_NUM AS ProviderSeqNum,
    PROVIDER_EOB_INTERFACE.PROVIDER_LOCATION_SEQ_NUM AS ProviderLocationSeqNum,
    PROVIDER_EOB_INTERFACE.EXT_USER_TYPE_SEQ_NUM AS ExtUserTypeSeqNum,
    PROVIDER_EOB_INTERFACE.PAPERLESS_EOB_FLAG AS PaperlessEOBFlag,
    PROVIDER_EOB_INTERFACE.DEFAULT_TO_PRIMARY_FLAG AS DefaultPrimaryFlag,
    PROVIDER_EOB_INTERFACE.UPDATE_DATE AS UpdateDate,
    PROVIDER_EOB_INTERFACE.UPDATE_NUM AS UpdateNum,
    PROVIDER_EOB_INTERFACE.UPDATE_USER AS UpdateUser,
    EUSR.ACTIVE_DIRECTORY_ID AS ExtUserId,
    PER.FIRST_NAME || ' ' || PER.LAST_NAME AS UserName,
    ADDR.EMAIL_ADDRESS AS emailAddress
FROM PROVIDER_EOB_INTERFACE
LEFT OUTER JOIN EXT_USER_TYPE EUT
    ON EUT.EXT_USER_TYPE_SEQ_NUM = PROVIDER_EOB_INTERFACE.EXT_USER_TYPE_SEQ_NUM
LEFT OUTER JOIN EXT_USER EUSR
    ON EUT.EXT_USER_SEQ_NUM = EUSR.EXT_USER_SEQ_NUM
LEFT OUTER JOIN EMAIL_ADDRESS ADDR
    ON ADDR.EMAIL_ADDRESS_SEQ_NUM = EUSR.EMAIL_ADDRESS_SEQ_NUM
LEFT OUTER JOIN PERSON PER
    ON PER.PERSON_SEQ_NUM = EUSR.PERSON_SEQ_NUM
WHERE PROVIDER_EOB_INTERFACE.PROVIDER_LOCATION_SEQ_NUM = :ProviderLocationSeqNum
```

## Operations and processes
- [EOB preference management](../operations/eob-preference-management.md)

## Business rules
- [BR-17: Blank EOB user names display as Paper EOB.](../business-rules.md#br-17-username-on-clsprovidereob-returns-the-constant-papereob-paper-eob-when-the-underlying-name-is-blank-indicating-no-external-user-is-linked-to-the-record)

## Sources
- `Business\SAIF.Business.Provider.PaymentPreference\clsProviderEOB.vb`


