BR-07: A provider location has EFT (direct deposit) only when PaymentPreferenceType = DirectDeposit AND IsRevokeDateNull (authorization has not been revoked).¶
Field
Value
Statement
A provider location has EFT (direct deposit) only when PaymentPreferenceType = DirectDeposit AND IsRevokeDateNull (authorization has not been revoked).
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEFT.LocationHasEFT
Outcome
A provider location has EFT (direct deposit) only when PaymentPreferenceType = DirectDeposit AND IsRevokeDateNull (authorization has not been revoked).
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.¶
Field
Value
Statement
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.
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEFT.ProviderPaymentPreference setter
Outcome
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: On AssignPaymentLocation, CustomerEmailNotificationFlag is always set to "Y" and CustomerContactEmailAddress is populated from ExtUserEmailAddr, ensuring the customer receives notification of an EFT assignment.¶
Field
Value
Statement
On AssignPaymentLocation, CustomerEmailNotificationFlag is always set to "Y" and CustomerContactEmailAddress is populated from ExtUserEmailAddr, ensuring the customer receives notification of an EFT assignment.
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEFT.AssignPaymentLocation
Outcome
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: 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).¶
Field
Value
Statement
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).
Trigger
Invoking the related property, save hook, or retrieval path.
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: 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.¶
Field
Value
Statement
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.
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEFT.SetExtUserTypeSeqNum
Outcome
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 contention: RowsAffected <> 1 triggers InsertError. Child payment preferences are saved only after a successful insert (SaveChildObject called in AfterInsert).¶
Field
Value
Statement
EFT insert contention: RowsAffected <> 1 triggers InsertError. Child payment preferences are saved only after a successful insert (SaveChildObject called in AfterInsert).
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEFT.AfterInsert
Outcome
EFT insert contention: RowsAffected <> 1 triggers InsertError. Child payment preferences are saved only after a successful insert (SaveChildObject called in AfterInsert).
BR-17: UserName on clsProviderEOB returns the constant PAPER_EOB = "Paper EOB" when the underlying name is blank, indicating no external user is linked to the record.¶
Field
Value
Statement
UserName on clsProviderEOB returns the constant PAPER_EOB = "Paper EOB" when the underlying name is blank, indicating no external user is linked to the record.
Trigger
Invoking the related property, save hook, or retrieval path.
Enforcement
clsProviderEOB.UserName getter
Outcome
UserName on clsProviderEOB returns the constant PAPER_EOB = "Paper EOB" when the underlying name is blank, indicating no external user is linked to the record.
BR-18: A retrieved EOB preference row with UpdateNum equal to zero is treated as unsaved and marked New so Save falls through to Insert instead of Update.¶
Field
Value
Statement
A retrieved EOB preference row with UpdateNum equal to zero is treated as unsaved and marked New so Save falls through to Insert instead of Update.
Trigger
clsProviderEOB.Fill runs after any retrieval — a single-object GetProviderEOB fetch or a row loaded into clsProviderEOBCollection via GetProviderEOBs.
Enforcement
clsProviderEOB.Fill: If Row.GetDecimal("UpdateNum") = 0 Then MarkNew() Else MarkOld().
Outcome
Provider locations that have never had an EOB preference row still appear in the collection (via the left-outer-joined listing query) but are flagged New, so editing and saving one performs an Insert instead of failing an Update against a nonexistent row.