Here is a proposed sample API for updating user contact information. The API is presented as a SOAP service.


Attributes of Users

This initial implementation addresses the following user attributes:

  • First Name
  • Middle Name
  • Last Name
  • Specialty
  • Phone
  • Fax
  • Email
  • Mailing Address
  • Photo
  • EDRN Title

A future release may allow updating of these additional attributes:

  • Degree1
  • Degree2
  • Degree3
  • Other Address
  • PI
  • Salutation
  • Shipping Address
  • Shipping Address is Same as Mailing Address
  • Staff Status at Site

API Structure

The following information summarizes the structure of a sample user-updating API. All methods are centered around a single server class we suggest calling the UserInfoService.


The following are methods of the UserInfoService class:

setName(Integer: userID, String: component, String: newName): void
throws: UnknownUserFault, InvalidNameComponentFault

Sets the component name for the user with the userID to newName. Component must be a string with a value of first, middle, or last.
setSpeciality(Integer: userID, String: newSpeciality): void
throws: UnknownUserFault

Sets the speciality of the user with ID userID to newSpeciality.
setPhone(Integer: userID, String: phoneType, String: newNumber): void
throws: UnknownUserFault, InvalidPhoneTypeFault

Sets the phone number of type phoneType of the user with ID userID to newNumber.
setEmail(Integer: userID, String: newEmail): void
throws: UnknownUserFault, MalformedEmailFault

Sets the email address of the user with ID userID to newEmail.
setMailingAddress(Integer: userID, String: newAddress): void
throws: UnknownUserFault

Sets the mailing address of the user with ID userID to newAddress.
setPhoto(Integer: userID, File: file): void
throws: UnknownUserFault

Sets the photograph of the user with ID userID to file.
setEDRNTitle(Integer: userID, String: title): void
throws: UnknownUserFault

Sets the EDRN job title for the user with ID userID to title.


The following are the exceptions within the user information service:

Exception Fault code
Unknown user, when a user ID is unknown Client.UnknownUser
Invalid name component: when updating a name, and the component isn't one of "first", "middle", or "last". Client.InvalidNameComponent
Invalid phone type, when a phone number type is neither "voice" nor "fax". Client.InvalidPhoneType
Malformed email, when a passed-in email address isn't a valid address Client.MalformedEamil