Difference between revisions of "Account and User Management"

From Updox API
Jump to: navigation, search
(Init)

Revision as of 11:35, 15 November 2013

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 only Vendor-level credentials.

PracticeCreate

PracticeCreate 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.

Note that 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.

The Account information fields are:

name
address1
address2
city
state
postal
phone
fax

The Account settings fields are:

active
directAddress
timeZone
websiteAddress

active

The active setting for Accounts sets the active status. An inactive account 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 PracticeUpdate and PracticeSave 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 set 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

PracticeUpdate is an explicit call to update the information or settings of an Account. It provides the same fields as PracticeCreate, 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 PracticeUpdate 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

PracticeSave 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, PracticeSave performs as PracticeCreate and PracticeUpdate.

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

UserCreate 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.

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.

The User information fields are:

firstName
middleName
lastName
address1
address2
city
state
postal

The Account settings fields are:

active
directAddress
loginId
loginPassword
timeZone

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.