Skip to content

SAIF.Business.Provider.PaymentPreference operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under operations/. The library manages a provider location's mail/paperless EOB preference and its EFT (direct-deposit) preference, including assignment/unassignment of payment methods, correspondence-history logging, batch/collection retrieval, and read-only bank-account lookup.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
EOB preference management Retrieves, creates, updates, and deletes a provider location's paperless/mail EOB preference GetProviderEOB(s)/NewProviderEOB(s) → Save() ProviderSeqNum, ProviderLocationSeqNum, PaperlessEOBFlag, DefaultPrimaryFlag Persisted PROVIDER_EOB_INTERFACE row or InsertError/DBContentionError BR-01, BR-02, BR-03, BR-04, BR-05, BR-17, BR-18 PROVIDER_EOB_INTERFACE SQL-001, SQL-005, SQL-006, SQL-007, SQL-013, SQL-015
EFT record management Retrieves, creates, updates, and deletes a provider location's EFT (direct-deposit) record GetProviderEFT/NewProviderEFT → Save() ProviderSeqNum, ProviderLocationSeqNum, ExtUserTypeSeqNum, EffDate, ExpDate Persisted PROVIDER_EFT_INTERFACE row or InsertError/DBContentionError BR-11, BR-12, BR-13, BR-16 PROVIDER_EFT_INTERFACE, EXT_USER_TYPE, EXT_USER, PERSON SQL-003, SQL-008, SQL-014, SQL-016
EFT payment location assignment Assigns a new direct-deposit/check preference to an EFT record, or unassigns it and revokes the prior authorization AssignPaymentLocation/UnAssignPaymentLocation New clsProviderPaymentPreference, acting user Updated ProviderPaymentPreference, EffDate/ExpDate; revoked prior authorization BR-08, BR-09, BR-10, BR-11 PROVIDER_EFT_INTERFACE SQL-003, SQL-014
EFT correspondence history Records an EFT authorization-letter correspondence-history event via a stored PL/SQL package CreateHistory() ProviderSeqNum, ProviderLocationSeqNum, EffDate, ExpDate Inserted PROVIDER_CORR_HIST row or raised package exception PBR-001, PBR-002, PBR-003, PBR-004, PBR-005, PBR-006, PBR-007 PROVIDER_CORR_HIST, PROVIDER_TAX_ID, PROVIDER SQL-002
Provider EFT collection retrieval Retrieves batches of EFT/location records for a provider, or system-wide, and classifies them by assignment status GetProviderEFTColl/GetAllEFTsColl/GetProviderEFTLocations/GetProviderEFTLocEmails ProviderSeqNum (except batch), masking/context flags Populated clsProviderEFTCollection; filtered assigned/unassigned views BR-06, BR-07, BR-15 PROVIDER_EFT_INTERFACE, PROVIDER_LOCATION, PROVIDER_ADDRESS, EXT_USER_TYPE, EXT_USER, EMAIL_ADDRESS SQL-009, SQL-010, SQL-011, SQL-012
Provider bank account retrieval Retrieves non-deleted bank accounts linked to a provider's payment authorizations and decrypts/masks their fields GetProviderBankAccounts → field access ProviderSeqNum Populated clsProviderBankAccountCollection; decrypted/masked field values BR-14 BANK_ACCOUNT, PAYMENT_AUTHORIZATION, PROVIDER_LOCATION SQL-004

Process flow diagram

The following diagram visualizes the primary operational flow across operations.

flowchart TD
    Start([Provider location payment setup]) --> Choice{Preference type?}
    Choice -->|EOB delivery| EOB[EOB preference management]
    Choice -->|Payment method| EFT[EFT record management]
    EFT --> Assign[EFT payment location assignment]
    Assign --> History[EFT correspondence history]
    EOB --> Collection[Provider EFT collection retrieval]
    Assign --> Collection
    Collection --> BankAcct[Provider bank account retrieval]

Inherited operations and processes

Operations in this section originate from base classes or services provided by dependency libraries. They are inherited or delegated, not implemented in this library.

From clsProviderPaymentPreference, clsBankAccount (SAIF.Business.Payment.EFT)

Operation Intent Provided by Origin Embedded in
Payment preference selection Resolves a provider location's current payment-preference type (Check, DirectDeposit, DebitCard, Unspecified) and loads its authorization. clsProviderPaymentPreference SAIF.Business.Payment.EFT EFT payment location assignment
EFT authorization / consent Revokes an existing direct-deposit authorization, using an internal or external revocation path depending on the acting user. clsEFTAuthorization SAIF.Business.Payment.EFT EFT payment location assignment
Bank account management Resolves and masks a bank account's nickname, routing number, and account number for a given bank account sequence number. clsBankAccount SAIF.Business.Payment.EFT Provider bank account retrieval

Origin: These operations are defined in SAIF.Business.Payment.EFT, which is documented in the previous format (no per-operation page exists). See Payment preference selection, EFT authorization / consent, and Bank account management in the SAIF.Business.Payment.EFT documentation set.

Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under operations/.

Operation SQL Tables Type
EOB preference management SQL-001, SQL-005, SQL-006, SQL-007, SQL-013, SQL-015 PROVIDER_EOB_INTERFACE Read / Write
EFT record management SQL-003, SQL-008, SQL-014, SQL-016 PROVIDER_EFT_INTERFACE, EXT_USER_TYPE, EXT_USER, PERSON Read / Write
EFT payment location assignment SQL-003, SQL-014 PROVIDER_EFT_INTERFACE Write (via parent EFT save)
EFT correspondence history SQL-002 PROVIDER_CORR_HIST, PROVIDER_TAX_ID, PROVIDER Write (stored procedure)
Provider EFT collection retrieval SQL-009, SQL-010, SQL-011, SQL-012 PROVIDER_EFT_INTERFACE, PROVIDER_LOCATION, PROVIDER_ADDRESS, EXT_USER_TYPE, EXT_USER, EMAIL_ADDRESS Read
Provider bank account retrieval SQL-004 BANK_ACCOUNT, PAYMENT_AUTHORIZATION, PROVIDER_LOCATION Read

Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library.

Operation Description Source Link
Insert EFT correspondence history Resolves the provider's correspondence address and inserts one PROVIDER_CORR_HIST row marked as an EFT authorization-letter event. PK83548_PROVIDER_CORR_HIST.EFT_CORR_HIST Details
Fetch TIN correspondence address Internal helper that locates the provider's primary tax-ID address effective on a supplied date. PK83548_PROVIDER_CORR_HIST.FETCH_TIN_ADDRESS Details
Insert EOB correspondence history Package sibling that inserts a paperless-EOB correspondence-history row; no call site was found in this library's source.* PK83548_PROVIDER_CORR_HIST.EOB_CORR_HIST Details

Failure and edge-case behavior

  • Optimistic concurrency is the dominant failure mode across EOB and EFT persistence: every insert/update/delete checks the affected row count and adds an InsertError/DBContentionError instead of throwing (BR-03, BR-04, BR-05, BR-12, BR-13). Detailed per-operation behavior is documented on each operation page.
  • clsProviderEOB and clsProviderEFT diverge on how a retrieved-but-never-persisted row is recognized: EOB relies on UpdateNum = 0 to mark itself New (BR-18), while EFT retrieval always marks itself Old regardless of UpdateNum.
  • EFT assignment/unassignment and its child payment-preference persistence are only committed when the parent clsProviderEFT.Save() succeeds; a failed EFT insert/update leaves any staged preference change unsaved.
  • PK83548_PROVIDER_CORR_HIST.EOB_CORR_HIST exists in the Oracle package but was not found to be called anywhere in this library's .vb source; only EFT_CORR_HIST is exercised by this library.*
  • Bank account retrieval and field decryption is read-only and depends on SAIF.Business.Payment.EFT and the local SAIFEncrypt.dll for its underlying implementation; each field access issues its own lookup rather than caching the resolved bank account.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

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