---
title: clsProviderEOB
summary: API reference for clsProviderEOB.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider.PaymentPreference
reference_type: package
---

# clsProviderEOB

clsProviderEOB is a public type in `SAIF.Business.Provider.PaymentPreference`.

## Purpose
- Business object that represents one provider-location paperless EOB preference row.

## Context
- Namespace: `SAIF.Business.Provider.PaymentPreference`
- Assembly/package: `SAIF.BOF.Business.Provider.PaymentPreference`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| PAPER_EOB | `Public Const PAPER_EOB As String = "Paper EOB"` | Default display name returned when no external user name is stored |
| ProviderSeqNum | `Public Property ProviderSeqNum() As Decimal` | Key field |
| ProviderLocationSeqNum | `Public Property ProviderLocationSeqNum() As Decimal` | Key field |
| ExtUserTypeSeqNum | `Public Property ExtUserTypeSeqNum() As Decimal` | Smart decimal, nullable |
| DefaultPrimaryFlag | `Public Property DefaultPrimaryFlag() As String` | `"Y"`/`"N"` |
| PaperlessEOBFlag | `Public Property PaperlessEOBFlag() As String` | `"Y"`/`"N"` |
| UpdateDate | `Public Property UpdateDate() As Date` | Audit timestamp |
| UpdateNum | `Public Property UpdateNum() As Decimal` | Optimistic concurrency counter |
| UpdateUser | `Public Property UpdateUser() As String` | Audit user ID |
| UserName | `Public Property UserName() As String` | Returns `PAPER_EOB` when blank |
| emailAddress | `Public Property emailAddress() As String` | External user email |
| ExtUserId | `Public Property ExtUserId As String` | Active Directory ID |
| ProviderLocation | `Public ReadOnly Property ProviderLocation As clsProviderLocation` | Lazy-loaded cross-library read |
| LocationPhysicalAddress | `Public ReadOnly Property LocationPhysicalAddress As String` | Delegated to `clsProviderLocation` |
| LocationAddressActive | `Public ReadOnly Property LocationAddressActive As Boolean` | Checks active physical address count |
| LocationName | `Public ReadOnly Property LocationName As String` | Delegated to `clsProviderLocation.BusinessName` |
| IsValid | `Public Overrides ReadOnly Property IsValid() As Boolean` | Delegates to `MyBase.IsValid` |
| IsDirty | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Delegates to `MyBase.IsDirty` |
| NewProviderEOB | `Public Shared Function NewProviderEOB(inDataportal, inProviderSeqNum, inProviderLocSeqNum) As clsProviderEOB` | Creates new (unsaved) record |
| GetProviderEOB | `Public Shared Function GetProviderEOB(inDataportal, inProviderSeqNum, inProviderLocSeqNum) As clsProviderEOB` | Loads from DB |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Based on `ProviderLocationSeqNum` |

## Behavioral notes
- `Create()` initializes `PaperlessEOBFlag` and `DefaultPrimaryFlag` to `"N"` before the object is first persisted.
- `ProviderLocation` performs a cross-library lazy load through `SAIF.Business.View.Provider`.
- Related behavior is cross-referenced from the library-level [Business rules](../../business-rules.md) and [SQL catalog](../../sql/index.md).

## Constraints and usage notes
- Use the documented BOF factory pattern (`NewProviderEOB`, `GetProviderEOB`) to create or retrieve instances.

## Inherited members (from clsBusinessBase)
This type inherits the following public surface from clsBusinessBase (`Legacy\BusinessObjectFramework\clsBusinessBase.vb`), in addition to the members listed above:
| Member | Signature | Purpose |
| --- | --- | --- |
| MyGuid | `ReadOnly Property MyGuid() As String` | Returns the internal GUID that uniquely identifies this in-memory object instance. |
| IsNew | `ReadOnly Property IsNew() As Boolean` | Indicates whether the object has not yet been persisted. |
| IsDeleted | `ReadOnly Property IsDeleted() As Boolean` | Indicates whether the object is marked for deletion. |
| IsDirty | `Overridable ReadOnly Property IsDirty() As Boolean` | Indicates whether the object (or a child) has unsaved changes. |
| IsValid | `Overridable ReadOnly Property IsValid() As Boolean` | Indicates whether the object currently has no broken validation rules. |
| ValidateOnDelete | `Property ValidateOnDelete As Boolean` | Controls whether validation rules run before a delete operation. |
| Rules | `ReadOnly Property Rules() As clsRulesManager` | Returns the rules manager that tracks broken rules for this object. |
| ErrorCount | `ReadOnly Property ErrorCount() As Integer` | Returns the number of broken error-severity rules. |
| ErrorMessages | `ReadOnly Property ErrorMessages() As String()` | Returns the text of all broken error-severity rules. |
| WarningCount | `ReadOnly Property WarningCount() As Integer` | Returns the number of broken warning-severity rules. |
| WarningMessages | `ReadOnly Property WarningMessages() As String()` | Returns the text of all broken warning-severity rules. |
| InformationalCount | `ReadOnly Property InformationalCount() As Integer` | Returns the number of broken informational-severity rules. |
| InformationalMessages | `ReadOnly Property InformationalMessages() As String()` | Returns the text of all broken informational-severity rules. |
| BeginEdit | `Sub BeginEdit()` | Begins an editable transaction, snapshotting current field values. |
| CancelEdit | `Sub CancelEdit()` | Rolls back field values to the last `BeginEdit` snapshot. |
| ApplyEdit | `Sub ApplyEdit()` | Commits the current edit transaction, discarding the rollback snapshot. |
| Delete | `Sub Delete()` | Marks the object for deletion on the next save. |
| Save | `Overridable Function Save() As Boolean` | Persists the object (insert, update, or delete) through the BOF data portal, if valid. |
| SaveChild | `Overridable Function SaveChild() As Boolean` | Persists the object as a child of a parent object/collection. |
| Clone | `Function Clone() As Object` | Returns a deep copy of the object. |
| XMLElementName | `Property XMLElementName() As String` | Gets or sets the XML element name used when serializing this object. |
| GetDataset | `Sub GetDataset(ByRef inDS As DataSet)` | Populates a `DataSet` with the object's field values. |
| GetDataset (named table) | `Sub GetDataset(ByRef inDS As DataSet, ByVal inTableName As String)` | Populates a `DataSet` table with the given name with the object's field values. |
| GetReportXML | `Function GetReportXML(ByVal inElementName As String) As String` | Returns an XML fragment representing the object using the supplied element name. |
| GetReportXML (default name) | `Function GetReportXML() As String` | Returns an XML fragment representing the object using the default XML element name. |
| ToXml | `Function ToXml() As String` | Serializes the object to XML using the default element name. |
| ToXml (named tag) | `Function ToXml(ByVal inTagName As String) As String` | Serializes the object to XML using the supplied tag name. |
| PreviousLinkItem / NextLinkItem | `ReadOnly Property PreviousLinkItem() As ILinkItem` / `ReadOnly Property NextLinkItem() As ILinkItem` | Returns the adjacent linked-list item for collection traversal. |
| SetValueOnChange | `Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean` | Sets a backing field only when the value changes, optionally marking the object dirty. |

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