Patient Registration v3.0

SOAP Service for provisioning MaxMD Direct Hosted addresses for patients. This page includes description about service actions and data types.

Patient Registration Service Functions

Login using your Reseller or T-User username and password, and received a new sessionId in response. Each sessionId will expire in 10 minutes.

Provision a patient Direct address for the identity proofed patient.

Get provisioned Direct address(es) for the patient searching by patient name, date of birth and last four digits of SSN.

Get provisioned Direct address for the patient searching by submitted DirectUsername.

Reset passwords for the patients.

Patient Registration Service Data types

ResellerAPIResponse

Parameter Description
String code Response code:
000 - success
002 - invalid user when provisioning new Direct mdEmail account
003 - registrar offer error
010 - invalid api argument or argument missing
011 - authentication failed
012 - organization missing
013 - organization permission denied
014 - direct user account error
021 - debit account authorize failed
022 - debit account capture failed
099 - other error
201 - Direct domain $domain has been used.
202 - No verified organization record is found $info
203 - The organization is not verified as healthcare provider. $info
204 - Invalid state name $info
205 - Failed to validate ID proofed individuals $info
206 - Invalid organization type $info
207 - Unsupported address type $info
208 - No organization is found for domain($domain).
209 - Direct Organization object is empty $info
210 - Direct addresso ($address) is not found.
999 - other error
Required
Boolean success Required
String errorMessage Error message
Top

LoginResponseType ( extends ResellerAPIResponse )

Parameter Description
String sessionId Session Id which expires in 10 minutes.
Top

AddUsersResponse ( extends ResellerAPIResponse )

Parameter Description
DirectUserDetail[ ] users The details of the new added users
Top

GetPatientAddressesResponseType ( extends ResellerAPIResponse )

Parameter Description
DirectUserDetail[ ] patient A list of matched patient Direct addresses
Top

DirectUserDetail ( extends DirectUser )

Parameter Description
UserStateType UserStateType User's state:
  • init Initial status. The user record is created however the Direct address is not provisioned. It is a reserved value. You are not suppose to see this value in the current release.
  • provisioned The Direct address is created.
  • provisioned_cert_pending The Direct certificate request is submitted, but the certificate is not issued yet.
  • activated The Direct address is activated and ready to be delivered to customer.
  • disabled The Direct address is disabled. Inbound messages will still be delivered to mailbox, but user will not be able to connect to the mailbox.
  • provisioned_cert_expired The Direct certificate is expired. User will be able to connect to the mailbox, but inbound/outbound messages will be rejected due to the invalid Direct certificate.
  • provisioned_cert_revoked The Direct certificate is revoked. User will be able to connect to the mailbox, but inbound/outbound messages will be rejected due to the invalid Direct certificate.
  • Unknown Error when check user status..
Required
Top

UserPassword

Parameter Description
String username Username Required
String password Password Required
Top

IDProofedIndividual

Parameter Description
long id Unique id of the Identity Proofing record. If this parameter is not provided, the other parameters (firstName, lastName, email, ssn, dob) are required.
String firstName First name. Required if id is not provided
String lastName Last name. Required if id is not provided
String ssn4 Last four digits of SSN. Required if id is not provided
String dob Date of birth. Required if id is not provided
Top

BaseUser

Parameter Description
String firstName First name Required
String lastName Last name Required
String email Regular email address Required
String phone Phone Required (for AdminUser)
String dea DEA Number
String npi NPI Number
Boolean sameAsOrganizationAddress Use Organization address as user's address
String address Street of user
String city City
String state Full state name
String country Two letters Country code (Ex: US)
String zipcode zipcode information
Top

AdminUser ( extends BaseUser )

Parameter Description
Top

DirectUser ( extends BaseUser )

Parameter Description
String username Direct username.
For example, organization domain(FQDN) is direct.myorg.com, username is user1, direct address will be: user1@direct.myorg.com
Required
DirectUserType userType Direct user type:
XD - XDR endpoint user
SMTP - MaxMD Hosted SMTP user
FTP - FTP endpoint user
FTPS - FTP endpoint user over FTPS connection
SFTP - FTP endpoint user over SFTP connection
Required
String endpoint Endpoint URL for XD, FTP* users
String endpointDirectory Endpoint directory of FTP* users
String endpointUsername Endpoint username of FTP* users
String endpointPassword Endpoint password of FTP* users
Top

GetMessageStatusReportResponse ( extends ResellerAPIResponse )

Parameter Description
boolean hasCvData true: csvData is responsed, messageLogs is empty
false: messageLogs is responsed, csvData is empty
byte[ ] csvData csv formatted message status report data with below columns:
  1. From Sender direct address
  2. To Recipient direct address
  3. Message ID SMTP Message ID of the message
  4. Message Size Size of the message
  5. Status Status of the message
    • Delivered* Delivered to receiver
    • Waiting* Waiting confirmation from receiver HISP
    • Locally Failed* Rejected or failed when sending it out.
    • Remotely Failed* Rejected or failed by receiver HISP
    • NO MDN Received* Timed out. No confirmation received from receiver HISP within one hour
  6. Sent Time Sent time of the message
  7. XDR Message ID XDR Message ID
  8. XDR Source ID XDR Source ID
  9. XDR Unique ID XDR Unique ID
  10. XDR Patient ID XDR Patient ID

This variable is empty if hasCvData==false or no message was found in the certain date range.
DirectMessageLog[ ] messageLogs And list of message log object. This variable is empty if hasCvData==true or no message was found in the certain date range.
Top

DirectMessageLog

Parameter Description
String from Sender direct address of the message
String to Recipient direct address of the message
String messageId SMTP Message ID of the message
long messageSize size of the message
String status Status of the message:
  • Delivered Delivered to receiver
  • Waiting Waiting confirmation from receiver HISP
  • Locally Failed Rejected or failed when sending it out.
  • Remotely Failed Rejected or failed by receiver HISP
  • NO MDN Received Timed out. No confirmation received from receiver HISP within one hour
Date ts Sent time
String xdrId XDR Message ID
String uniqueId XDR Unique ID
String sourceId XDR Source ID
String patientId XDR Patient ID
Top

GetAuditFileResponseType (extends ResellerAPIResponse )

Parameter Description
ArchivedAuditFile archivedAuditedMessages Archived audited messages
Top

ArchivedAuditFile

Parameter Description
byte[ ] content Content in the audit file in byte[ ] type
String name File name
long size Size of the file
boolean isCompressed Whether the archived audited file is compresses. If so, the file type is application/x-gzip, otherwise, file type is text/plain
Top

ResellerDomainsResponse ( extends ResellerAPIResponse )

Parameter Description
String[ ] domains Credit cards
Top

ResellerCreditCardsResponse ( extends ResellerAPIResponse )

Parameter Description
CreditCard[ ] cards Domains
Top

AddUsersResponseV2Type ( extends AddUsersResponse )

Parameter Description
PaymentConfirmationpaymentConfirmation Payment confirmation.
Top

PaymentConfirmation

Parameter Description
int orderId Order number
float amount Total amount of the order
Date orderTime Order time
Product[ ] products Purchased products
String detail Order details
Top

Product

Parameter Description
String name Product name
String description Product description
int quantity Product quantity
float offerPrice Offer price
float salePrice Calculated sale price. When purchasing Direct addresses, the expire date of the new address will be same as purchased Direct certificate product. The sale price will be offeerPrice * (expireDate - today) / (one year).
float amount Amount = salePrice * quantity
String startDate Product start date
String expireDate Product expire date
Top