---
title: SAIF.Business.Provider.PaymentPreference database tables
summary: Database tables used by this library with relationships and usage context.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider.PaymentPreference
reference_type: package
---

# SAIF.Business.Provider.PaymentPreference database tables

This page catalogs database tables accessed by this library.

## Table catalog

| Table | Database | Schema/Link | CRUD | Purpose | Primary business object |
| --- | --- | --- | --- | --- | --- |
| [BANK_ACCOUNT](#bank_account) | Oracle | Unqualified in SQL text | R | Used by clsProviderBankAccountCollection for r operations. | `clsProviderBankAccountCollection` |
| [EMAIL_ADDRESS](#email_address) | Oracle | Unqualified in SQL text | R | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection for r operations. | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection` |
| [EXT_USER](#ext_user) | Oracle | Unqualified in SQL text | R | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection for r operations. | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection` |
| [EXT_USER_TYPE](#ext_user_type) | Oracle | Unqualified in SQL text | R | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory for r operations. | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory` |
| [PAYMENT_AUTHORIZATION](#payment_authorization) | Oracle | Unqualified in SQL text | R | Used by clsProviderBankAccountCollection for r operations. | `clsProviderBankAccountCollection` |
| [PERSON](#person) | Oracle | Unqualified in SQL text | R | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection for r operations. | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection` |
| [PROVIDER](#provider) | Oracle | Unqualified in SQL text | R | Used by clsProviderEFT.CreateHistory for r operations. | `clsProviderEFT.CreateHistory` |
| [PROVIDER_ADDRESS](#provider_address) | Oracle | Unqualified in SQL text | R | Used by clsProviderEFTCollection for r operations. | `clsProviderEFTCollection` |
| [PROVIDER_CORR_HIST](#provider_corr_hist) | Oracle | Unqualified in SQL text | C | Used by clsProviderEFT.CreateHistory for c operations. | `clsProviderEFT.CreateHistory` |
| [PROVIDER_EFT_INTERFACE](#provider_eft_interface) | Oracle | Unqualified in SQL text | CRUD | Used by clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory for c,r,u,d operations. | `clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory` |
| [PROVIDER_EOB_INTERFACE](#provider_eob_interface) | Oracle | Unqualified in SQL text | CRUD | Used by clsProviderEOB, clsProviderEOBCollection for c,r,u,d operations. | `clsProviderEOB, clsProviderEOBCollection` |
| [PROVIDER_LOCATION](#provider_location) | Oracle | Unqualified in SQL text | R | Used by clsProviderEOBCollection, clsProviderEFTCollection, clsProviderBankAccountCollection for r operations. | `clsProviderEOBCollection, clsProviderEFTCollection, clsProviderBankAccountCollection` |
| [PROVIDER_TAX_ID](#provider_tax_id) | Oracle | Unqualified in SQL text | R | Used by clsProviderEFT.CreateHistory for r operations. | `clsProviderEFT.CreateHistory` |

## BANK_ACCOUNT

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderBankAccountCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderBankAccountCollection |
| **Business objects** | `clsProviderBankAccountCollection` |

### Operations referencing this table
- [Provider bank account retrieval](operations/provider-bank-account-retrieval.md)

### Business rules referencing this table
- [BR-14: Deleted bank accounts are excluded from provider bank-account retrieval.](business-rules.md#br-14-bank-account-status-delet-is-excluded-from-all-bank-account-retrievals-for-a-provider)

### SQL referencing this table
- [SQL-004: SELECT provider bank accounts by provider](sql/SQL-004-select-provider-bank-accounts-by-provider.md)

---
## EMAIL_ADDRESS

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection |
| **Business objects** | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [EOB preference management](operations/eob-preference-management.md)

### Business rules referencing this table
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [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)

### SQL referencing this table
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)

---
## EXT_USER

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection |
| **Business objects** | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFTCollection` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [EFT record management](operations/eft-record-management.md)
- [EOB preference management](operations/eob-preference-management.md)

### Business rules referencing this table
- [BR-06: An EFT record is active only when today falls within the effective window.](business-rules.md#br-06-an-eft-record-is-considered-active-only-when-today-falls-within-effdate-expdate-inclusive-if-either-date-is-null-isactive-false)
- [BR-07: LocationHasEFT requires direct deposit and non-revoked authorization.](business-rules.md#br-07-a-provider-location-has-eft-direct-deposit-only-when-paymentpreferencetype-directdeposit-and-isrevokedatenull-authorization-has-not-been-revoked)
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [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)

### SQL referencing this table
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-008: SELECT PROVIDER_EFT_INTERFACE by provider/location](sql/SQL-008-select-provider-eft-interface-by-provider-location.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)

---
## EXT_USER_TYPE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory |
| **Business objects** | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [EFT record management](operations/eft-record-management.md)
- [EOB preference management](operations/eob-preference-management.md)

### Business rules referencing this table
- [BR-06: An EFT record is active only when today falls within the effective window.](business-rules.md#br-06-an-eft-record-is-considered-active-only-when-today-falls-within-effdate-expdate-inclusive-if-either-date-is-null-isactive-false)
- [BR-07: LocationHasEFT requires direct deposit and non-revoked authorization.](business-rules.md#br-07-a-provider-location-has-eft-direct-deposit-only-when-paymentpreferencetype-directdeposit-and-isrevokedatenull-authorization-has-not-been-revoked)
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [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)

### SQL referencing this table
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-008: SELECT PROVIDER_EFT_INTERFACE by provider/location](sql/SQL-008-select-provider-eft-interface-by-provider-location.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)

---
## PAYMENT_AUTHORIZATION

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderBankAccountCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderBankAccountCollection |
| **Business objects** | `clsProviderBankAccountCollection` |

### Operations referencing this table
- [Provider bank account retrieval](operations/provider-bank-account-retrieval.md)

### Business rules referencing this table
- [BR-14: Deleted bank accounts are excluded from provider bank-account retrieval.](business-rules.md#br-14-bank-account-status-delet-is-excluded-from-all-bank-account-retrievals-for-a-provider)

### SQL referencing this table
- [SQL-004: SELECT provider bank accounts by provider](sql/SQL-004-select-provider-bank-accounts-by-provider.md)

---
## PERSON

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection |
| **Business objects** | `clsProviderEOB, clsProviderEOBCollection, clsProviderEFT, clsProviderEFTCollection` |

### Operations referencing this table
- [EFT record management](operations/eft-record-management.md)
- [EOB preference management](operations/eob-preference-management.md)

### Business rules referencing this table
- [BR-06: An EFT record is active only when today falls within the effective window.](business-rules.md#br-06-an-eft-record-is-considered-active-only-when-today-falls-within-effdate-expdate-inclusive-if-either-date-is-null-isactive-false)
- [BR-07: LocationHasEFT requires direct deposit and non-revoked authorization.](business-rules.md#br-07-a-provider-location-has-eft-direct-deposit-only-when-paymentpreferencetype-directdeposit-and-isrevokedatenull-authorization-has-not-been-revoked)
- [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)

### SQL referencing this table
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-008: SELECT PROVIDER_EFT_INTERFACE by provider/location](sql/SQL-008-select-provider-eft-interface-by-provider-location.md)

---
## PROVIDER

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEFT.CreateHistory for r operations. |
| **Access pattern** | Stored procedure |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEFT.CreateHistory |
| **Business objects** | `clsProviderEFT.CreateHistory` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [EFT record management](operations/eft-record-management.md)
- [EOB preference management](operations/eob-preference-management.md)
- [Provider EFT collection retrieval](operations/provider-eft-collection-retrieval.md)
- [EFT correspondence history](operations/eft-correspondence-history.md)
- [Provider bank account retrieval](operations/provider-bank-account-retrieval.md)

### Business rules referencing this table
- [BR-01: PaperlessEOBFlag is set to Y only when ExtUserTypeSeqNum is populated.](business-rules.md#br-01-paperlesseobflag-is-set-to-y-only-when-extusertypeseqnum-is-non-zero-and-non-empty-at-insert-time-otherwise-defaults-to-n)
- [BR-02: DefaultPrimaryFlag is initialized to N on new EOB creation.](business-rules.md#br-02-defaultprimaryflag-is-always-initialized-to-n-on-new-eob-creation)
- [BR-03: EOB insert must affect exactly one row.](business-rules.md#br-03-insert-contention-check-if-rowsaffected-1-after-insert-an-inserterror-error-message-is-added-and-the-record-is-not-marked-old)
- [BR-04: EOB updates enforce optimistic concurrency.](business-rules.md#br-04-update-contention-check-if-rowsaffected-1-after-update-dbcontentionerror-is-added-updatenum-must-match-for-the-where-clause-to-succeed)
- [BR-05: EOB deletes must affect exactly one row.](business-rules.md#br-05-delete-contention-check-if-rowsaffected-1-after-delete-dbcontentionerror-is-added)
- [BR-06: An EFT record is active only when today falls within the effective window.](business-rules.md#br-06-an-eft-record-is-considered-active-only-when-today-falls-within-effdate-expdate-inclusive-if-either-date-is-null-isactive-false)
- [BR-07: LocationHasEFT requires direct deposit and non-revoked authorization.](business-rules.md#br-07-a-provider-location-has-eft-direct-deposit-only-when-paymentpreferencetype-directdeposit-and-isrevokedatenull-authorization-has-not-been-revoked)
- [BR-08: Replacing active EFT authorization revokes the existing authorization first.](business-rules.md#br-08-when-assigning-a-new-payment-preference-to-an-eft-that-is-already-saved-and-currently-direct-deposit-the-existing-authorization-is-revoked-before-the-new-one-is-applied-if-the-existing-eft-is-new-unsaved-or-is-a-check-type-it-is-simply-overwritten)
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [BR-10: Unassigning EFT expires the record and revokes authorization.](business-rules.md#br-10-on-unassignpaymentlocation-expdate-is-set-to-today-and-the-active-authorization-is-revoked-for-saif-employees-isusersaifemployee-true-authorization-is-revoked-with-false-internal-path-for-non-employees-with-true-external-path)
- [BR-11: External user type selection depends on expiry and admin context.](business-rules.md#br-11-extusertypeseqnum-is-cleared-set-empty-when-the-eft-is-being-expired-expdate-minvalue-and-no-explicit-new-value-supplied-or-when-no-admin-user-is-present-it-is-set-from-the-incoming-invalue-when-a-new-eft-is-being-opened-and-from-adminuserseqnum-otherwise)
- [BR-12: EFT insert must succeed before child payment preference save.](business-rules.md#br-12-eft-insert-contention-rowsaffected-1-triggers-inserterror-child-payment-preferences-are-saved-only-after-a-successful-insert-savechildobject-called-in-afterinsert)
- [BR-13: EFT update increments update number only on success.](business-rules.md#br-13-eft-update-contention-rowsaffected-1-triggers-dbcontentionerror-updatenum-is-incremented-and-child-preferences-saved-only-on-success)
- [BR-14: Deleted bank accounts are excluded from provider bank-account retrieval.](business-rules.md#br-14-bank-account-status-delet-is-excluded-from-all-bank-account-retrievals-for-a-provider)
- [BR-15: EFT location retrieval requires an active physical address.](business-rules.md#br-15-provider-location-eft-eligibility-requires-an-active-physical-address-provideraddresscode-phy-effdate-truncsysdate-expdate-truncsysdate-or-expdate-is-null)
- [BR-16: EFT updates default missing effective dates to today.](business-rules.md#br-16-if-effdate-is-dateminvalue-at-update-time-it-is-defaulted-to-todaydate-before-persisting)
- [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)

### SQL referencing this table
- [SQL-001: INSERT PROVIDER_EOB_INTERFACE](sql/SQL-001-insert-provider-eob-interface.md)
- [SQL-002: PK83548_PROVIDER_CORR_HIST.EFT_CORR_HIST](sql/SQL-002-pk83548-provider-corr-hist-eft-corr-hist.md)
- [SQL-003: INSERT PROVIDER_EFT_INTERFACE](sql/SQL-003-insert-provider-eft-interface.md)
- [SQL-004: SELECT provider bank accounts by provider](sql/SQL-004-select-provider-bank-accounts-by-provider.md)
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-008: SELECT PROVIDER_EFT_INTERFACE by provider/location](sql/SQL-008-select-provider-eft-interface-by-provider-location.md)
- [SQL-009: SELECT all PROVIDER_EFT_INTERFACE rows](sql/SQL-009-select-all-provider-eft-interface-rows.md)
- [SQL-010: SELECT PROVIDER_EFT_INTERFACE by provider](sql/SQL-010-select-provider-eft-interface-by-provider.md)
- [SQL-011: SELECT provider EFT locations](sql/SQL-011-select-provider-eft-locations.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)
- [SQL-013: UPDATE PROVIDER_EOB_INTERFACE](sql/SQL-013-update-provider-eob-interface.md)
- [SQL-014: UPDATE PROVIDER_EFT_INTERFACE](sql/SQL-014-update-provider-eft-interface.md)
- [SQL-015: DELETE PROVIDER_EOB_INTERFACE](sql/SQL-015-delete-provider-eob-interface.md)
- [SQL-016: DELETE PROVIDER_EFT_INTERFACE](sql/SQL-016-delete-provider-eft-interface.md)

---
## PROVIDER_ADDRESS

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEFTCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEFTCollection |
| **Business objects** | `clsProviderEFTCollection` |

### Operations referencing this table
- [Provider EFT collection retrieval](operations/provider-eft-collection-retrieval.md)

### Business rules referencing this table
- [BR-15: EFT location retrieval requires an active physical address.](business-rules.md#br-15-provider-location-eft-eligibility-requires-an-active-physical-address-provideraddresscode-phy-effdate-truncsysdate-expdate-truncsysdate-or-expdate-is-null)

### SQL referencing this table
- [SQL-011: SELECT provider EFT locations](sql/SQL-011-select-provider-eft-locations.md)

---
## PROVIDER_CORR_HIST

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEFT.CreateHistory for c operations. |
| **Access pattern** | Stored procedure |
| **CRUD operations** | C |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | PROVIDER_CORR_HIST_SEQ |
| **Related tables** | clsProviderEFT.CreateHistory |
| **Business objects** | `clsProviderEFT.CreateHistory` |

### Operations referencing this table
- [EFT correspondence history](operations/eft-correspondence-history.md)

### SQL referencing this table
- [SQL-002: PK83548_PROVIDER_CORR_HIST.EFT_CORR_HIST](sql/SQL-002-pk83548-provider-corr-hist-eft-corr-hist.md)

---
## PROVIDER_EFT_INTERFACE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory for c,r,u,d operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | C,R,U,D |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory |
| **Business objects** | `clsProviderEFT, clsProviderEFTCollection, clsProviderEFT.CreateHistory` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [EFT record management](operations/eft-record-management.md)
- [Provider EFT collection retrieval](operations/provider-eft-collection-retrieval.md)
- [EFT correspondence history](operations/eft-correspondence-history.md)

### Business rules referencing this table
- [BR-06: An EFT record is active only when today falls within the effective window.](business-rules.md#br-06-an-eft-record-is-considered-active-only-when-today-falls-within-effdate-expdate-inclusive-if-either-date-is-null-isactive-false)
- [BR-07: LocationHasEFT requires direct deposit and non-revoked authorization.](business-rules.md#br-07-a-provider-location-has-eft-direct-deposit-only-when-paymentpreferencetype-directdeposit-and-isrevokedatenull-authorization-has-not-been-revoked)
- [BR-08: Replacing active EFT authorization revokes the existing authorization first.](business-rules.md#br-08-when-assigning-a-new-payment-preference-to-an-eft-that-is-already-saved-and-currently-direct-deposit-the-existing-authorization-is-revoked-before-the-new-one-is-applied-if-the-existing-eft-is-new-unsaved-or-is-a-check-type-it-is-simply-overwritten)
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [BR-10: Unassigning EFT expires the record and revokes authorization.](business-rules.md#br-10-on-unassignpaymentlocation-expdate-is-set-to-today-and-the-active-authorization-is-revoked-for-saif-employees-isusersaifemployee-true-authorization-is-revoked-with-false-internal-path-for-non-employees-with-true-external-path)
- [BR-11: External user type selection depends on expiry and admin context.](business-rules.md#br-11-extusertypeseqnum-is-cleared-set-empty-when-the-eft-is-being-expired-expdate-minvalue-and-no-explicit-new-value-supplied-or-when-no-admin-user-is-present-it-is-set-from-the-incoming-invalue-when-a-new-eft-is-being-opened-and-from-adminuserseqnum-otherwise)
- [BR-12: EFT insert must succeed before child payment preference save.](business-rules.md#br-12-eft-insert-contention-rowsaffected-1-triggers-inserterror-child-payment-preferences-are-saved-only-after-a-successful-insert-savechildobject-called-in-afterinsert)
- [BR-13: EFT update increments update number only on success.](business-rules.md#br-13-eft-update-contention-rowsaffected-1-triggers-dbcontentionerror-updatenum-is-incremented-and-child-preferences-saved-only-on-success)
- [BR-15: EFT location retrieval requires an active physical address.](business-rules.md#br-15-provider-location-eft-eligibility-requires-an-active-physical-address-provideraddresscode-phy-effdate-truncsysdate-expdate-truncsysdate-or-expdate-is-null)
- [BR-16: EFT updates default missing effective dates to today.](business-rules.md#br-16-if-effdate-is-dateminvalue-at-update-time-it-is-defaulted-to-todaydate-before-persisting)

### SQL referencing this table
- [SQL-002: PK83548_PROVIDER_CORR_HIST.EFT_CORR_HIST](sql/SQL-002-pk83548-provider-corr-hist-eft-corr-hist.md)
- [SQL-003: INSERT PROVIDER_EFT_INTERFACE](sql/SQL-003-insert-provider-eft-interface.md)
- [SQL-008: SELECT PROVIDER_EFT_INTERFACE by provider/location](sql/SQL-008-select-provider-eft-interface-by-provider-location.md)
- [SQL-009: SELECT all PROVIDER_EFT_INTERFACE rows](sql/SQL-009-select-all-provider-eft-interface-rows.md)
- [SQL-010: SELECT PROVIDER_EFT_INTERFACE by provider](sql/SQL-010-select-provider-eft-interface-by-provider.md)
- [SQL-011: SELECT provider EFT locations](sql/SQL-011-select-provider-eft-locations.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)
- [SQL-014: UPDATE PROVIDER_EFT_INTERFACE](sql/SQL-014-update-provider-eft-interface.md)
- [SQL-016: DELETE PROVIDER_EFT_INTERFACE](sql/SQL-016-delete-provider-eft-interface.md)

---
## PROVIDER_EOB_INTERFACE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOB, clsProviderEOBCollection for c,r,u,d operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | C,R,U,D |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOB, clsProviderEOBCollection |
| **Business objects** | `clsProviderEOB, clsProviderEOBCollection` |

### Operations referencing this table
- [EOB preference management](operations/eob-preference-management.md)

### Business rules referencing this table
- [BR-01: PaperlessEOBFlag is set to Y only when ExtUserTypeSeqNum is populated.](business-rules.md#br-01-paperlesseobflag-is-set-to-y-only-when-extusertypeseqnum-is-non-zero-and-non-empty-at-insert-time-otherwise-defaults-to-n)
- [BR-02: DefaultPrimaryFlag is initialized to N on new EOB creation.](business-rules.md#br-02-defaultprimaryflag-is-always-initialized-to-n-on-new-eob-creation)
- [BR-03: EOB insert must affect exactly one row.](business-rules.md#br-03-insert-contention-check-if-rowsaffected-1-after-insert-an-inserterror-error-message-is-added-and-the-record-is-not-marked-old)
- [BR-04: EOB updates enforce optimistic concurrency.](business-rules.md#br-04-update-contention-check-if-rowsaffected-1-after-update-dbcontentionerror-is-added-updatenum-must-match-for-the-where-clause-to-succeed)
- [BR-05: EOB deletes must affect exactly one row.](business-rules.md#br-05-delete-contention-check-if-rowsaffected-1-after-delete-dbcontentionerror-is-added)
- [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)

### SQL referencing this table
- [SQL-001: INSERT PROVIDER_EOB_INTERFACE](sql/SQL-001-insert-provider-eob-interface.md)
- [SQL-005: SELECT PROVIDER_EOB_INTERFACE by provider/location](sql/SQL-005-select-provider-eob-interface-by-provider-location.md)
- [SQL-006: SELECT PROVIDER_EOB_INTERFACE by location](sql/SQL-006-select-provider-eob-interface-by-location.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-013: UPDATE PROVIDER_EOB_INTERFACE](sql/SQL-013-update-provider-eob-interface.md)
- [SQL-015: DELETE PROVIDER_EOB_INTERFACE](sql/SQL-015-delete-provider-eob-interface.md)

---
## PROVIDER_LOCATION

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEOBCollection, clsProviderEFTCollection, clsProviderBankAccountCollection for r operations. |
| **Access pattern** | Direct SQL |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEOBCollection, clsProviderEFTCollection, clsProviderBankAccountCollection |
| **Business objects** | `clsProviderEOBCollection, clsProviderEFTCollection, clsProviderBankAccountCollection` |

### Operations referencing this table
- [EFT payment location assignment](operations/eft-payment-location-assignment.md)
- [Provider EFT collection retrieval](operations/provider-eft-collection-retrieval.md)
- [EOB preference management](operations/eob-preference-management.md)
- [Provider bank account retrieval](operations/provider-bank-account-retrieval.md)

### Business rules referencing this table
- [BR-09: Assigning EFT always queues customer email notification.](business-rules.md#br-09-on-assignpaymentlocation-customeremailnotificationflag-is-always-set-to-y-and-customercontactemailaddress-is-populated-from-extuseremailaddr-ensuring-the-customer-receives-notification-of-an-eft-assignment)
- [BR-14: Deleted bank accounts are excluded from provider bank-account retrieval.](business-rules.md#br-14-bank-account-status-delet-is-excluded-from-all-bank-account-retrievals-for-a-provider)
- [BR-15: EFT location retrieval requires an active physical address.](business-rules.md#br-15-provider-location-eft-eligibility-requires-an-active-physical-address-provideraddresscode-phy-effdate-truncsysdate-expdate-truncsysdate-or-expdate-is-null)
- [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)

### SQL referencing this table
- [SQL-004: SELECT provider bank accounts by provider](sql/SQL-004-select-provider-bank-accounts-by-provider.md)
- [SQL-007: SELECT provider locations with EOB preference](sql/SQL-007-select-provider-locations-with-eob-preference.md)
- [SQL-011: SELECT provider EFT locations](sql/SQL-011-select-provider-eft-locations.md)
- [SQL-012: SELECT provider EFT locations with external-user email](sql/SQL-012-select-provider-eft-locations-with-external-user-email.md)

---
## PROVIDER_TAX_ID

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | Unqualified in SQL text |
| **Purpose** | Used by clsProviderEFT.CreateHistory for r operations. |
| **Access pattern** | Stored procedure |
| **CRUD operations** | R |
| **Key columns used** | See related SQL documents for column-level references. |
| **Sequence** | N/A |
| **Related tables** | clsProviderEFT.CreateHistory |
| **Business objects** | `clsProviderEFT.CreateHistory` |

### Operations referencing this table
- [EFT correspondence history](operations/eft-correspondence-history.md)

### SQL referencing this table
- [SQL-002: PK83548_PROVIDER_CORR_HIST.EFT_CORR_HIST](sql/SQL-002-pk83548-provider-corr-hist-eft-corr-hist.md)

---

## Table relationship diagram

The following diagram shows relationships between tables used by this library.

```mermaid
erDiagram
    PROVIDER_LOCATION ||--o{ PROVIDER_EOB_INTERFACE : has
    EXT_USER_TYPE ||--o{ PROVIDER_EOB_INTERFACE : assigned_to
    EXT_USER ||--o{ EXT_USER_TYPE : groups
    EMAIL_ADDRESS ||--o{ EXT_USER : uses
    PERSON ||--o{ EXT_USER : identifies
    EXT_USER_TYPE ||--o{ PROVIDER_EFT_INTERFACE : assigned_to
    PROVIDER_LOCATION ||--o{ PROVIDER_EFT_INTERFACE : has
    PROVIDER_LOCATION ||--o{ PROVIDER_ADDRESS : has
    BANK_ACCOUNT ||--o{ PAYMENT_AUTHORIZATION : authorizes
    PROVIDER_LOCATION ||--o{ PAYMENT_AUTHORIZATION : applies_to
    PROVIDER ||--o{ PROVIDER_TAX_ID : primary_tax_id
    PROVIDER_CORR_HIST }o--|| PROVIDER_LOCATION : records
    PROVIDER_CORR_HIST }o--|| PROVIDER : records
    PROVIDER_CORR_HIST }o--|| EXT_USER_TYPE : references
```

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)
- [Configuration](configuration.md)

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


