---
title: clsNewUserArgs
summary: API reference for clsNewUserArgs.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.External.Users
reference_type: package
---

# clsNewUserArgs

`clsNewUserArgs` is a BOF business object used as an argument container for new-user creation and provider registration validation. It hosts the `IsValidProviderRegistration` method which calls an Oracle function through `SELECT ... FROM DUAL`.

## Purpose
- Provide an argument/parameter container for new-user registration workflows.*
- Expose provider registration eligibility validation via Oracle function `pk82396_medical_bills.ValidateProvReg`.*

## Context
- Namespace: `SAIF.Business.External.Users`*
- Assembly/package: `SAIF.BOF.Business.External.Users`
- Base class: `clsBusinessBase` (from `SAIF.BOF.Framework`)*

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `ADTestUserPrefix` | `Public ReadOnly Property ADTestUserPrefix As String` | This is used for development purposes so that we can easily find/delete active directory id's that won't collide with existing users. |
| `IsInDevelopmentEnvironment` | `Public ReadOnly Property IsInDevelopmentEnvironment As Boolean` | Returns true if the system is is in DEV environment. |
| `EmailInfo` | `Public ReadOnly Property EmailInfo As clsEmailAddressInfo` | Returns the email info that has been created for this user. |
| `PhoneInfo` | `Public ReadOnly Property PhoneInfo As clsPhoneInfo` | Returns the phone info that has been created for this user. |
| `Contact` | `Public ReadOnly Property Contact As clsContact` | Returns the contact that has been created for this user. |
| `OverrideCreateUser` | `Public Property OverrideCreateUser As String = ""` | Gets or sets the override create user.* |
| `OverrideCreateDate` | `Public Property OverrideCreateDate As Date = Date.MinValue` | Gets or sets the override create date.* |
| `OverrideUpdateUser` | `Public Property OverrideUpdateUser As String = ""` | Gets or sets the override update user.* |
| `OverrideUpdateDate` | `Public Property OverrideUpdateDate As Date = Date.MinValue` | Gets or sets the override update date.* |
| `IsTestUser` | `Public Property IsTestUser As Boolean = False` | Gets or sets the is test user.* |
| `IsRelatedToInjuredWorker` | `Public Property IsRelatedToInjuredWorker As Boolean = False` | Gets or sets the is related to injured worker.* |
| `UserAccessGroups` | `Public Property UserAccessGroups As New List(Of clsUserAccessGroup)` | Gets or sets the user access groups.* |
| `Credentials` | `Public Property Credentials As New clsCredentials` | Gets or sets the credentials.* |
| `SourceSystemID` | `Public Property SourceSystemID As String = ""` | Gets or sets the source system id.* |
| `UserType` | `Public Property UserType As UserTypes` | Gets or sets the user type.* |
| `FirstName` | `Public Property FirstName As String = ""` | Gets or sets the first name.* |
| `LastName` | `Public Property LastName As String = ""` | Gets or sets the last name.* |
| `Fax` | `Public Property Fax As String = ""` | Gets or sets the fax.* |
| `Phone` | `Public Property Phone As String = ""` | Gets or sets the phone.* |
| `PhoneType` | `Public Property PhoneType As PhoneTypes = PhoneTypes.Business` | Gets or sets the phone type.* |
| `EmailType` | `Public Property EmailType As EmailTypes = EmailTypes.Business` | Gets or sets the email type.* |
| `IsForeignPhone` | `Public Property IsForeignPhone As Boolean = False` | Gets or sets the is foreign phone.* |
| `Title` | `Public Property Title As String = ""` | Gets or sets the title.* |
| `AccessType` | `Public Property AccessType As AccessTypes = AccessTypes.Registration` | Gets or sets the access type.* |
| `SourceSystemGroupID` | `Public ReadOnly Property SourceSystemGroupID As String` | Gets or sets the source system group id.* |
| `ActiveDirectoryID` | `Public Property ActiveDirectoryID As String` | Gets or sets the active directory id.* |
| `Email` | `Public Property Email As String` | Gets or sets the email.* |
| `OriginalSourceSystemID` | `Public ReadOnly Property OriginalSourceSystemID As String` | Gets or sets the original source system id.* |
| `New` | `Public Sub New(inDPI As IDataPortalInfo, ByVal inUserType As UserTypes, ByVal inActiveDirectoryID As String, ByVal inFirstName As String, ByVal inLastName As String, ByVal inEmail As String, ByVal inPhone As String, ByVal inTitle As String, ByVal inSourceSystemID As String, Optional ByVal inPhoneType As PhoneTypes = PhoneTypes.Business, Optional ByVal inIsForeignPhone As Boolean = False, Optional inEmailType As EmailTypes = EmailTypes.Business, Optional inCredentials As clsCredentials = Nothing, Optional inFax As String = "", Optional inIsTestUser As Boolean = False, Optional inUserAccessGroups As List(Of clsUserAccessGroup) = Nothing, Optional inAccessType As AccessTypes = AccessTypes.Registration, Optional inIsRelatedtoInjuredWorker As Boolean = False)` | Initializes a new instance of `clsNewUserArgs`.* |
| `New` | `Public Sub New(inDPI As IDataPortalInfo)` | Initializes a new instance of `clsNewUserArgs`.* |
| `IsValid` | `Public Overrides ReadOnly Property IsValid As Boolean` | Gets or sets the is valid.* |
| `IsValidProviderRegistration` | `Public Shared Function IsValidProviderRegistration(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inClaimNum As String, ByVal inBillID As Decimal, ByVal inProvId As Decimal) As Boolean` | Calls Oracle function `pk82396_medical_bills.ValidateProvReg` via [SQL-014](../../sql/SQL-014-saif-business-external-users.md).* |

## Inherited public members

Members in this section are inherited from BOF framework base types whose package/source files are present in this repository.

Additional data-binding members inherited through `clsBindableBase` could not be verified because that source file is not present in this repository.**

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `MyGuid` | `Public ReadOnly Property MyGuid() As String` | Gets or sets the my guid.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `IsNew` | `Public ReadOnly Property IsNew() As Boolean` | Gets or sets the is new.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `IsDeleted` | `Public ReadOnly Property IsDeleted() As Boolean` | Gets or sets the is deleted.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `IsDirty` | `Public Overridable ReadOnly Property IsDirty() As Boolean` | Gets or sets the is dirty.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `SetValueOnChange` | `Public Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean` | Takes two values and compares them using the Equals function. If the values are different, it sets the inFieldValue = inSetValue, calls MarkDirty(), and returns True. Otherwise returns false. Enter the original Value Enter the new Value Enter False if you do not wish to mark the object as dirty. This is the equivalent of using the equality operator (=) on all structures. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `IsSavable` | `Public Overridable ReadOnly Property IsSavable() As Boolean` | Gets or sets the is savable.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `PreviousLinkItem` | `Public ReadOnly Property PreviousLinkItem() As ILinkItem Implements ILinkItem.PreviousLinkItem` | Gets or sets the previous link item.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `NextLinkItem` | `Public ReadOnly Property NextLinkItem() As ILinkItem Implements ILinkItem.NextLinkItem` | Gets or sets the next link item.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `SetPreviousLink` | `Public Sub SetPreviousLink(ByRef inLinkItem As ILinkItem) Implements ILinkItem.SetPreviousLink` | Sets the Previous Item in Linked List. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `SetNextLink` | `Public Sub SetNextLink(ByRef inLinkItem As ILinkItem) Implements ILinkItem.SetNextLink` | Sets the Next Item in a Linked List. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `InsertLinkAfter` | `Public Sub InsertLinkAfter(ByRef inLinkItem As ILinkItem) Implements ILinkItem.InsertLinkAfter` | Inserts the item being passed in into the linked list after the current item. A Valid Business Object. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `InsertLinkBefore` | `Public Sub InsertLinkBefore(ByRef inLinkItem As ILinkItem) Implements ILinkItem.InsertLinkBefore` | Inserts the item being passed in into the linked list prior to the current item. A Valid Business Object. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `RemoveLinks` | `Public Sub RemoveLinks() Implements ILinkItem.RemoveLinks` | Removes this item from a linked list. Updates the members of the List on both sides of the item and then sets his internal next and previous link items to nothing. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `BeginEdit` | `Public Sub BeginEdit()` | Starts a nested edit on the object. When this method is called the object takes a snapshot of its current state (the values of its variables). This snapshot can be restored by calling BusinessBase.CancelEdit or committed by calling BusinessBase.ApplyEdit. This is a nested operation. Each call to BeginEdit adds a new snapshot of the object's state to a stack. You should ensure that for each call to BeginEdit there is a corresponding call to either CancelEdit or ApplyEdit to remove that snapshot from the stack. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `CancelEdit` | `Public Sub CancelEdit()` | Cancels the current edit process, restoring the object's state to its previous values. Calling this method causes the most recently taken snapshot of the object's state to be restored. This resets the object's values to the point of the last BusinessBase.BeginEditcall. [jimmil] 10/05/2006 Created. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ApplyEdit` | `Public Sub ApplyEdit()` | Commits the current edit process. Calling this method causes the most recently taken snapshot of the object's state to be discarded, thus committing any changes made to the object's state since the last BusinessBase.BeginEdit call. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `Delete` | `Public Sub Delete()` | Marks the object for deletion. The object will be deleted as part of the next save operation. The Object Framework supports both immediate and deferred deletion of objects. This method is part of the support for deferred deletion, where an object can be marked for deletion, but isn't actually deleted until the object is saved to the database. This method is called by the UI developer to mark the object for deletion. To 'undelete' an object, use BusinessBase.BeginEdit before calling the Delete method. You can then use CancelEdit later to reset the object's state to its original values. This will include resetting the deleted flag to False. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `Clone` | `Public Function Clone() As Object _ Implements ICloneable.Clone` | Returns a new object containing the exact data of the original object. It should be noted that the cloned object does not have access to the Data Access Layer. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ValidateOnDelete` | `Public Property ValidateOnDelete() As Boolean` | Gets or Sets whether Business Rules are Validated on a Deleted Object. By Default this property is set to False. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `Rules` | `Public ReadOnly Property Rules() As clsRulesManager` | Gets or sets the rules.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `IsValid` | `Public Overridable ReadOnly Property IsValid() As Boolean` | Gets or sets the is valid.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ErrorCount` | `Public ReadOnly Property ErrorCount() As Integer` | Gets or sets the error count.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ErrorMessages` | `Public ReadOnly Property ErrorMessages() As String()` | Gets or sets the error messages.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `WarningCount` | `Public ReadOnly Property WarningCount() As Integer` | Gets or sets the warning count.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `WarningMessages` | `Public ReadOnly Property WarningMessages() As String()` | Gets or sets the warning messages.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `InformationalCount` | `Public ReadOnly Property InformationalCount() As Integer` | Gets or sets the informational count.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `InformationalMessages` | `Public ReadOnly Property InformationalMessages() As String()` | Gets or sets the informational messages.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `Save` | `Public Overridable Function Save() As Boolean` | Saves the object to the database. Calling this method starts the save operation, causing the object to be inserted, updated or deleted within the database based on the object's current state. If BusinessBase.IsDeleted is True the object will be deleted. Otherwise, if BusinessBase.IsNew is True the object will be inserted. Otherwise the object's data will be updated in the database. All this is contingent on BusinessBase.IsDirty. If this value is False, no data operation occurs. It is also contingent on BusinessBase.IsValid. If this value is False an exception will be thrown to indicate that the UI attempted to save an invalid object. It is important to note that this method returns a new version of the business object that contains any data updated during the save operation. You MUST update all object references to use this new version of the business object in order to have access to the correct object data. You can override this method to add your own custom behaviors to the save operation. For instance, you may add some security checks to make sure the user can save the object. If all security checks pass, you would then invoke the base Save method via MyBase.Save(). | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `SaveChild` | `Public Overridable Function SaveChild() As Boolean` | Saves the child object to the database. Calling this method starts the save operation, causing the object to be inserted, updated or deleted within the database based on the object's current state. If BusinessBase.IsDeleted is True the object will be deleted. Otherwise, if BusinessBase.IsNew is True the object will be inserted. Otherwise the object's data will be updated in the database. All this is contingent on BusinessBase.IsDirty. If this value is False, no data operation occurs. It is also contingent on BusinessBase.IsValid. If this value is False an exception will be thrown to indicate that the UI attempted to save an invalid object. It is important to note that this method returns a new version of the business object that contains any data updated during the save operation. You MUST update all object references to use this new version of the business object in order to have access to the correct object data. You can override this method to add your own custom behaviors to the save operation. For instance, you may add some security checks to make sure the user can save the object. If all security checks pass, you would then invoke the base Save method via MyBase.SaveChild(). | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `XMLElementName` | `Public Property XMLElementName() As String` | Returns the Value used as the TagName when generating XML. | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `GetDataset` | `Public Sub GetDataset(ByRef inDS As DataSet)` | Performs the `GetDataset` action.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `GetDataset` | `Public Sub GetDataset(ByRef inDS As DataSet, ByVal inTableName As String)` | Performs the `GetDataset` action.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `GetReportXML` | `Public Function GetReportXML(ByVal inElementName As String) As String` | Retrieves report xml.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `GetReportXML` | `Public Function GetReportXML() As String` | Retrieves report xml.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ToXml` | `Public Function ToXml() As String` | Executes the `ToXml` operation.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `ToXml` | `Public Function ToXml(ByVal inTagName As String) As String` | Executes the `ToXml` operation.* | `SAIF.BOF.Framework` — `clsBusinessBase` |
| `DumpState` | `Public Sub DumpState()` | Writes the object's field data into the debugger output window in VS.NET. [jimmil] 10/04/2006 Created. | `SAIF.BOF.Framework` — `clsUndoableBase` |
| `AllowCache` | `Public Property AllowCache() As Boolean Implements IBusinessObject.AllowCache` | Gets or sets the allow cache.* | `SAIF.BOF.Framework` — `clsUndoableBase` |

## Behavioral notes
- [SQL-014](../../sql/SQL-014-saif-business-external-users.md) executes `SELECT pk82396_medical_bills.ValidateProvReg(:inBillId, :inClaimNum, :inProvider) FROM DUAL` with 3 input parameters.*
- The Oracle function body resides in the database and was not retrieved in the analysis pass.**

## Constraints and usage notes
- Constructor overloads prepare contact, phone, email, credential, and access-group data before `clsUser.NewUser(...)` consumes this argument object.
- `IsValidProviderRegistration(...)` delegates the final provider-eligibility decision to the Oracle function documented in [SQL-014](../../sql/SQL-014-saif-business-external-users.md).*

> **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.External.Users\clsNewUserArgs.vb`
- `Legacy\BusinessObjectFramework\clsBusinessBase.vb`
- `Legacy\BusinessObjectFramework\clsUndoableBase.vb`
- `Services\SAIF.Services.Printing.Remote\packages\SAIF.BOF.Framework.2.0.22103.3\src\SAIF.BOF.Framework.Core\V1\BaseItems\clsBusinessBase.vb`
- `Services\SAIF.Services.Printing.Remote\packages\SAIF.BOF.Framework.2.0.22103.3\src\SAIF.BOF.Framework.Core\V1\BaseItems\clsUndoableBase.vb`
