clsProviderPaymentPreference¶
clsProviderPaymentPreference is the medical/service-provider payment-method preference business object. It implements the iPaymentPreference interface defined in SAIF.Business.Payment, scoped specifically to provider payees rather than claimants.
Purpose¶
- Persist and retrieve payment method preferences for medical/service providers.
- Implement the
iPaymentPreferencecontract for the provider context. - Expose
AllowDebitCardto control whether the debit-card option is available to the provider.
Context¶
- Namespace:
SAIF.Business.Payment.EFT - Assembly/package:
SAIF.BOF.Business.Payment.EFT(NuGet) - Implements:
iPaymentPreference(SAIF.Business.Payment),IBusinessCriteria - Inherits:
clsBusinessBase(SAIF.BOF.Framework)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
PAYMENT_PREFERENCE_TYPE_CHECK |
Public Const PAYMENT_PREFERENCE_TYPE_CHECK = "CHK" |
Code constant representing the check payment preference type. |
PAYMENT_PREFERENCE_TYPE_DIRECTDEPOSIT |
Public Const PAYMENT_PREFERENCE_TYPE_DIRECTDEPOSIT = "DD" |
Code constant representing the direct-deposit payment preference type. |
PAYMENT_PREFERENCE_TYPE_DEBITCARD |
Public Const PAYMENT_PREFERENCE_TYPE_DEBITCARD = "DC" |
Code constant representing the debit-card payment preference type. |
PROVIDER_PAYEE_TYPE |
Public Const PROVIDER_PAYEE_TYPE = "PROV" |
Code constant identifying the provider payee type. |
AllowDebitCard |
Public ReadOnly Property AllowDebitCard As Boolean |
Indicates whether debit-card payment is allowed for this provider payee.* |
BankAccountNumber |
Public Property BankAccountNumber As String |
Gets or sets the decrypted (or masked, per MyCriteria.MaskBankNumbers) bank account number stored on PaymentAuthorization.BankAccount. |
BankAccountTypeCode |
Public Property BankAccountTypeCode As String |
Gets or sets the bank account type code delegated to PaymentAuthorization.BankAccount.BankAccountTypeCode. |
BankRoutingNumber |
Public Property BankRoutingNumber As String |
Gets or sets the decrypted (or masked) bank routing number stored on PaymentAuthorization.BankAccount. |
Payee |
Public ReadOnly Property Payee As iPayee |
The provider payee associated with this payment preference. |
IsBusinessAccount |
Public Property IsBusinessAccount As Boolean |
Gets or sets whether the bank account is a business account, mapped to clsConsumerBusinessCode.BUSINESS/CONSUMER on PaymentAuthorization.BankAccount. |
SendEmailNotification |
Public Property SendEmailNotification As Boolean |
Gets or sets whether the provider payee receives email notifications for the payment authorization. |
PaymentPreferenceType |
Public ReadOnly Property PaymentPreferenceType As iPaymentPreference.PaymentPreferenceTypes |
The strongly-typed payment preference type (Check, DirectDeposit, DebitCard) selected for this provider. |
PaymentPreferenceTypeCode |
Public ReadOnly Property PaymentPreferenceTypeCode As String |
The short code (CHK/DD/DC) corresponding to PaymentPreferenceType. |
ProviderId |
Public Property ProviderId As Decimal |
The provider identifier this payment preference belongs to. |
BankAccountNickName |
Public Property BankAccountNickName As String |
A user-supplied friendly name for the provider's bank account.* |
MaskedBankAccountNumber |
Public ReadOnly Property MaskedBankAccountNumber As String |
The masked bank account number from PaymentAuthorization.BankAccount. |
MaskedBankRoutingNumber |
Public ReadOnly Property MaskedBankRoutingNumber As String |
The masked bank routing number from PaymentAuthorization.BankAccount. |
PayeeHasForeignOrIATAddress |
Public ReadOnly Property PayeeHasForeignOrIATAddress As Boolean |
True when any IAT address field is populated, or the provider payee's address is foreign. |
IsIAT |
Public Property IsIAT As Boolean |
Gets or sets PaymentAuthorization.IATFlag (International ACH Transaction flag) as a boolean. |
IATCity |
Public Property IATCity As String |
Gets or sets PaymentAuthorization.IATCity. |
IATCountryCode |
Public Property IATCountryCode As String |
Gets or sets PaymentAuthorization.IATCountryCode. |
CountryCodeList |
Public ReadOnly Property CountryCodeList As SAIF.Business.CodeMappings.clsCountryCodeList |
Lazily-loaded, statically-cached country code list retrieved via SAIF.Business.CodeMappings.GetCountryCodeList. |
IATCountryName |
Public ReadOnly Property IATCountryName As String |
The description text for IATCountryCode looked up from CountryCodeList. |
IATStateOrProvince |
Public Property IATStateOrProvince As String |
Gets or sets PaymentAuthorization.IATStateProvince. |
IATPostalCode |
Public Property IATPostalCode As String |
Gets or sets PaymentAuthorization.IATPostalCode. |
IATStreet |
Public Property IATStreet As String |
Gets or sets PaymentAuthorization.IATStreetAddress. |
SecondBankAccountNumber |
Public Property SecondBankAccountNumber As String |
A secondary bank account number used for confirmation/re-entry during account entry or change.* |
BankAccount |
Public Property BankAccount As clsBankAccount |
The bank account associated with the provider's payment authorization. |
PaymentAuthorization |
Public ReadOnly Property PaymentAuthorization As clsEFTAuthorization |
The underlying clsEFTAuthorization child object that backs most bank-account and IAT properties on this class. |
BankAccountTypeDescription |
Public ReadOnly Property BankAccountTypeDescription As String |
Localized description ("Checking"/"Savings") for the bank account type, resolved from Resources.Business_Payment_EFT. |
PaymentPreferenceTypeDescription |
Public ReadOnly Property PaymentPreferenceTypeDescription As String |
Localized description of PaymentPreferenceType ("Check"/"Debit card"/"Direct deposit"), resolved from Resources.Business_Payment_EFT. |
IsUserSAIFEmployee |
Public ReadOnly Property IsUserSAIFEmployee As Boolean |
Indicates whether the current user is a SAIF employee, used to gate masking/validation behavior. |
NewPaymentPreference |
Public Shared Function NewPaymentPreference(inDataPortal As IDataPortalInfo, inProviderId As Decimal, inProviderLocationId As Decimal, inPaymentPreferenceType As iPaymentPreference.PaymentPreferenceTypes, inIsSAIFUser As Boolean, inMaskBankNumbers As Boolean, inBankValidatorXMLDocument As XDocument, Optional inBankAccount As clsBankAccount = Nothing) As clsProviderPaymentPreference |
Creates a new, unsaved clsProviderPaymentPreference for the given provider, location, and preference type. |
GetPaymentPreference |
Public Shared Function GetPaymentPreference(inDataPortal As IDataPortalInfo, inProviderId As Decimal, inProviderLocationId As Decimal, inIsUserSAIFEmployee As Boolean, inMaskBankNumbers As Boolean, inBankValidatorXMLDocument As XDocument) As clsProviderPaymentPreference |
Retrieves the existing payment preference for the given provider and location. |
IsValidPayee |
Public Function IsValidPayee() As Boolean |
Validates that the provider payee has a usable name/identity. |
IsValid |
Public Overrides ReadOnly Property IsValid As Boolean |
Triggers bank-number validation when needed, validates child objects, and returns true only when no validation errors are outstanding. |
IsDirty |
Public Overrides ReadOnly Property IsDirty As Boolean |
True when the base object or the PaymentAuthorization child object has unsaved changes. |
ConvertToPaymentPreferenceType |
Public Shared Function ConvertToPaymentPreferenceType(inPaymentPreferenceTypeCode As String) As iPaymentPreference.PaymentPreferenceTypes |
Converts a short payment-preference code (CHK/DD/DC) to the corresponding iPaymentPreference.PaymentPreferenceTypes value. |
GetPayee |
Public Function GetPayee() As iPayee |
Returns the iPayee representation of the provider for this payment preference.* |
SetPaymentPreferenceDefaults |
Public Sub SetPaymentPreferenceDefaults(inPaymentPreferenceType As iPaymentPreference.PaymentPreferenceTypes) |
Resets/initializes default field values appropriate to the given payment preference type.* |
Save |
Public Overrides Function Save() As Boolean |
Persists the payment preference and its child objects through the data portal. |
Inherited public members¶
| Member | Signature | Purpose |
|---|---|---|
DataPortalInfo (via Criteria) |
Public Property DataPortalInfo() As IDataPortalInfo implemented from IBusinessCriteria on the nested Criteria class |
Carries the data-portal connection/context information used for retrieve/insert/update/delete operations.* |
Behavioral notes¶
- Functionally analogous to
clsPaymentPreferencebut scoped to provider context.* AllowDebitCardgoverns debit-card option availability; exact eligibility condition not traced.**
Constraints and usage notes¶
- Use
clsPaymentPreferencefor claimant payment preferences. - The
iPaymentPreferencecontract is defined inSAIF.BOF.Business.Payment.
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
Business\SAIF.Business.Payment.EFT\clsProviderPaymentPreference.vb