Account and User Management

From Updox API
Revision as of 14:02, 19 November 2013 by Thenate (Talk | contribs)

Jump to: navigation, search

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.