Account and User Management
The main entry point to access and invoke Updox API calls is through creating an Account. An Account represents a single group of Users, Contacts, Patients, Settings, and Portal accounts. Different systems refer to this same concept in different ways; for example: clients, practices, accounts, etc.
Within each Account there must be at least one User to auth with. A User represents a single group of Messages, Preferences, and Settings. Different systems also refer to users in various, sometime overlapping, ways; for example: providers, doctors, nurses, admins, office, etc.
Contents |
Account Management
The Updox API provides three methods to create an Account: #PracticeCreate, #PracticeUpdate, and #PracticeSave.
Creating or updating an Account requires Vendor-level credentials.
PracticeCreate
Template:PracticeCreateLink is an explicit call to create a new Account. It accepts multiple fields of both information about the Account as well as settings, though only the name
field is required. Providing Account information will help to facilitate referencing the Account for support issues, while providing settings may be required for use in a particular integration.
Account Information Fields
name
Name of the account or practice.
address1
address2
city
state
Valid state or US territory
postal
Five or nine digits only
phone
Ten digits only
fax
Ten digits only
Account Settings Fields
accountId
When creating an Account, the accountId
passed into the Application Authentication Header with the request will become the new accountId
used to reference and auth with the newly created Account. If that accountId
is already in use, then the request will fail with an responseCode
value of 4130: account already exists
.
active
The active
setting for Accounts sets the active status. An inactive account will be denied authorization, and in the interests of security, any attempt to authorize will be met with the same failure message as invalid credentials. The exceptions to this are the methods Template:PracticeUpdateLink and Template:PracticeSaveLink which allow re-activation of an Account. Thus, care must be taken when setting the active
flag.
directAddress
The directAddress
setting for Accounts sets the direct address for the Account. This is the address that will be used for direct messages sent from the Account level, opposed to a specific User. Direct messages sent from and to the Account are viewable by all Users in the Account.
timeZone
The timeZone
setting for Accounts sets the timeZone for the Account which effects the representation of date-times for items. The default value is Zulu time, and the valid values are:
- America/Anchorage
- America/Chicago
- America/Denver
- America/New_York
- America/Los_Angeles
- America/Phoenix
- America/Puerto_Rico
- Pacific/Honolulu
- Zulu
websiteAddress
The websiteAddress
setting for Accounts sets the specific domain for the Patient Portal for that account. For example, in the Updox production region, if an Account sets the websiteAddress
to "updox" then the web address for the Patient Portal of that account would be https://updox.myupdox.com. The websiteAddress
must be globally unique across all Updox accounts and the call to create a practice will fail if the address is already in use.
PracticeUpdate
Template:PracticeUpdateLink is an explicit call to update the information or settings of an Account. It provides the same fields as Template:PracticeCreateLink, and every field will be updated with the new values. That is, if an Account has a value saved for city
, then not passing in a value for city
to Template:PracticeUpdateLink will clear that value.
Note that when updating an Account, the accountId
passed into the Application Authentication header will reference the Account to be updated. If an Account does not exist for that accountId
, the request will fail.
PracticeSave
Template:PracticeSaveLink is a non-explicit call to *either* create *or* update an Account. If an Account does not exist for the accountId
passed into the Application Authentication header, then a new Account will be created. Otherwise, the matching Account will be updated.
In the respective cases, Template:PracticeSaveLink performs as Template:PracticeCreateLink and Template:PracticeUpdateLink.
User Management
The Updox API provides three methods to create a user: #UserCreate, #UserUpdate, and #UserSave.
Creating or updating a User requires account-level credentials.
UserCreate
Template:UserCreateLink is an explicit call to create a new User. It accepts multiple fields of both information about the User as well as settings, though only the firstName
and lastName
fields are required. Providing Account information will help to reference the User for support issues, while providing settings may be required for use in a particular integration.
User Information Fields
userId
Note that when creating a User, the userId
passed into the Application Authentication Header with the request will become the new userId used to reference and auth with the newly created User. If that userId
is already in use, then the request will fail.
firstName
middleName
lastName
address1
address2
city
state
postal
User Settings Fields
active
The active setting for Users sets the active status. An inactive User will be denied authorization, and for security any attempt to auth will be met with the same unauthorized message as invalid credentials. The exceptions to this are the methods UserUpdate and UserSave which allow re-activation of a User. Thus, care must be taken when setting the active flag.
directAddress
The directAddress setting for Users sets the direct address for that User. This is the address that will be used for direct messages sent from the User. Direct messages sent from and to the User are viewable only by that User, or by others who have visibility to that User's workspace.
loginId
and loginPassword
The loginId and loginPassword settings for Users sets the login ID (or username) and login password to be used both for the Individual Authorization for that user, and for logging into the full Updox application.
timeZone
The timeZone setting for Users sets the timeZone for the User which effects the representation of date-times for items. The default value is Zulu time, and the valid values are:
- America/Anchorage
- America/Chicago
- America/Denver
- America/New_York
- America/Los_Angeles
- America/Phoenix
- America/Puerto_Rico
- Pacific/Honolulu
- Zulu
UserUpdate
UserUpdate is an explicit call to update the information or settings of a User. It provides the same fields as UserCreate, and *every field will be updated with the new values*. That is, if a User has a value saved for `middleName`, then not passing in a value for `middleName` to UserUpdate will clear that value.
Note that when updating a User, the userId passed into the Application Authentication Header will reference the User to be updated. If a User does not exist for that userId, the request will fail.
UserSave
UserSave is a non-explicit call to *either* create *or* update a User. If a User does not exist for the `userId` passed into the Application Authentication Header, then a new User will be created. Otherwise, the matching User will be updated.
In the respective cases, UserSave performs as UserCreate and UserUpdate.