Patient Registration v3.0
RESTful Service for provisioning MaxMD Direct Hosted addresses for patients. This page includes description about service actions and data types.
Functions
Login
HTTP POST Request
https://api.directmdemail.com/DirectRegistrationRESTful/rest/Patient/login
Headers
Content-Type: application/json
Request Body
JSON Object: LoginRequest
Response
JSON Object: LoginResponseType
Description
Login using your Reseller or T-User username and password, and received a new sessionId in response. Each sessionId will expire in 10 minutes.
ProvisionIDProofedPatient
HTTP POST Request
https://api.directmdemail.com/DirectRegistrationRESTful/rest/Patient/ProvisionIDProofedPatient/{sessionId}/{directDomain}
Headers
Content-Type: application/json
Request Body
JSON Object: IDProofedIndividualRESTful
Response
JSON Object: AddUsersResponseV2Type
Description
Provision a patient Direct address for the identity proofed patient.
GetPatientAddressByMeta
HTTP POST Request
https://api.directmdemail.com/DirectRegistrationRESTful/rest/Patient/GetPatientAddressByMeta/{sessionId}/{directDomain}
Headers
Content-Type: application/json
Request Body
JSON Object: IDProofedIndividual
Response
JSON Object: GetPatientAddressesResponseType
Description
Get provisioned Direct address(es) for the patient searching by patient name, date of birth and last four digits of SSN.
GetPatientAddressByUsername
HTTP GET Request
https://api.directmdemail.com/DirectRegistrationRESTful/rest/Patient/GetPatientAddressByUsername/{sessionId}/{directDomain}/{directUsername}
Headers
Content-Type: application/json
Request Body
N/A
Response
JSON Object: GetPatientAddressesResponseType
Description
Get provisioned Direct address for the patient searching by submitted DirectUsername.
SetPatientsPasswords
HTTP POST Request
https://api.directmdemail.com/DirectRegistrationRESTful/rest/Patient/SetPatientsPasswords/{sessionId}/{directDomain}
Headers
Content-Type: application/json
Request Body
JSON Object: ArrayList<UserPassword>
Response
JSON Object: ResellerAPIResponseType
Description
Reset passwords for the patients.
Patient Registration Service Data types
ResellerAPIResponseType
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 |
IDProofedIndividualRESTful ( extends IDProofedIndividual )
Parameter | Description | |
---|---|---|
String directUsername | directUsername | |
String directPassword | directPassword |
LoginRequest
Parameter | Description | |
---|---|---|
String username | Username | |
String password | Password |
LoginResponseType ( extends ResellerAPIResponse )
Parameter | Description | |
---|---|---|
String sessionId | Session Id which expires in 10 minutes. |
AddUsersResponse ( extends ResellerAPIResponse )
Parameter | Description | |
---|---|---|
DirectUserDetail[ ] users | The details of the new added users |
GetPatientAddressesResponseType ( extends ResellerAPIResponse )
Parameter | Description | |
---|---|---|
DirectUserDetail[ ] patient | A list of matched patient Direct addresses |
DirectUserDetail ( extends DirectUser )
Parameter | Description | |
---|---|---|
UserStateType UserStateType |
User's state:
|
Required |
UserPassword
Parameter | Description | |
---|---|---|
String username | Username | Required |
String password | Password | Required |
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 |
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 |
AdminUser ( extends BaseUser )
Parameter | Description |
---|
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 |
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:
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. |
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:
|
|
Date ts | Sent time | |
String xdrId | XDR Message ID | |
String uniqueId | XDR Unique ID | |
String sourceId | XDR Source ID | |
String patientId | XDR Patient ID |
GetAuditFileResponseType (extends ResellerAPIResponse )
Parameter | Description |
---|---|
ArchivedAuditFile archivedAuditedMessages | Archived audited messages |
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 |
ResellerDomainsResponse ( extends ResellerAPIResponse )
Parameter | Description | |
---|---|---|
String[ ] domains | Credit cards |
ResellerCreditCardsResponse ( extends ResellerAPIResponse )
Parameter | Description | |
---|---|---|
CreditCard[ ] cards | Domains |
AddUsersResponseV2Type ( extends AddUsersResponse )
Parameter | Description | |
---|---|---|
PaymentConfirmationpaymentConfirmation | Payment confirmation. |
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 |
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 |