What's new?
New /SmsStatus Public API
We have added a new API to /SmsActions
called /SmsStatus
that allows partners to get the status of a message if it was sent or failed to send due to 'X' when sending via the delayed queue approach that Amplitude uses.
New SMS Numbers Section to the Accounts Page in the Partner Portal
An SMS Numbers section has been added to the accounts page in Partner Portal for accounts with SMS. It will show the provisioned SMS numbers (for the SMS Quicksend module and /SmsActions
Public APIs) as well as the SMS Verification status for each number.
Updated the outbound_fax Webhook to Support New Cancel Statuses
We have updated the outbound_fax
outbound_fax webhook to supply canceled
status for faxes that have been canceled via the Outbound Fax Dashboard UI.
Partner's who were implemented prior to April 2024 should reach out to Updox Support if they are interested in adding the cancel fax feature.
Updated /FaxStatusGet to Support New Cancel Statuses
We have updated the /FaxStatusGet
API to check for the support fax 'canceled' status.
Add /SmsSendNumberList Public API
We have created a new SmsSendNumberList
API under /SmsActions
so that partners can retrieve the SMS number list for an account including the provisioned numbers, associated location/queue (if applicable), and verification status. This allows our partners to know which numbers are available for use (available to send on).
New Partner Business Details Page in Partner Portal
We have added a new Partner Business Details page to the Partner Portal for partner management of vendor business details for maintaining the company info as well as the primary point of contact on file with Updox, which is especially important for the SMS number verification process required for all SMS products.
Update to /PatientDirectMessageSend 'from' Field to Treat Blank the same as NULL
The Public API of /PatientDirectMessageSend
will now work from the newio/"Interactive API" page when not using `from`. Additionally, we fixed some validation throughout the API.
Updated /Practice Create APIs to Not Allow Whitespace Characters for the accountID field
We have updated our /PracticeCreate
APIs so that whitespace characters will not be allowed in the emrAccountID
. For /PracticeCreate
, /PracticeCreate/1.1
, /PracticeSave
, and /PracticeSave/1.1
. A 4060
bad request error will be returned if the emrAccountID
contains any whitespace characters.
SMS Send From Numbers
We have added default information to the numbers used in sending SMS texts. You have the option to select a 'Send From' number for a location or queue when sending SMS text messages. If you do not select a location or queue, the message will be sent from your default practice location.
If your default location does not have an approved number, you can request a number.
New Telehealth URL
We have added the ability to add the link for a Public Waiting Room to reminders to simplify your Video Chat text and email reminder workflow.
Once the link is set up, select it from the new Public Wating Room dropdown.
[telehealthurl]
variable to link the waiting room you set up. For more information see our article Adding a Waiting Room Link to Your Reminders.
Updated SMSSend API Flows
To comply with new regulations from the Federal Communications Commission (FCC) through the Telephone Consumer Protection Act (TCPA) we have been making changes to our SMS-based products to ensure compliance with these regulations.
For API Partners:
Individual SMS number verification is required for each account, as well as each location and/or queue before SMS messages can be sent. For new accounts, locations, or queues, the initial call to /SmsSend
will initiate the submission process for SMS number verification. SMS number verification can take 2-5 business days, so we recommend waiting until confirmation that SMS number verification has been completed prior to allowing your customer to begin utilizing SMS quick send.
Starting on January 31st, 2024, when /SmsSend
is called for an account, location, or queue that doesn't have a verified SMS number, a 4035 error will be returned stating, "SMS number not verified; verification has been requested." until the SMS number provisioning and verification process has been completed.
Please note that if we find incomplete business information on file required to submit for SMS number verification, a 4039 error will be returned stating, “On file account business information is insufficient for verification.” Please use /PracticeUpdate/1.1
to supply required business information such as address and website for individual accounts.
SMS Send From Numbers
You will soon be able to view the SMS numbers assigned to your practice (as well as queues or locations) as you are sending an SMS text message. Along with the number, we will display the carrier approval status so you know if the number is ready to be used. You will also be able to add a number to the location or queue if it does not have one already assigned.
Partner Portal New Column Name: Account ID
We have changed the column name from emr_account_ID to "Account ID" on our Partner Portal Accounts pages.
HIPAA Compliant Names, Practice URLs, and Phone Numbers Now Editable through Partner Portal Account Page
We have updated our Partner Portal Account page so that you can now edit existing HIPAA Compliant Names, Practice URLs, and Phone Numbers.
The HIPAA Compliant Name, Website URL, and Alternative Website URL will now display around the Address section on the Account (PID) page.
In the Edit Account Demographics, the values display in the following order:
HIPAA Compliant Name under Account Name
Phone Number under Postal/Zip Code
Website URL under Phone Number
Alternative Website URL under Website URL
Update to the /UserActions APIs on the NewIO Page
We have made updates to the /UserActions
documentation for the UserCreate
,UserUpdate
, and UserSave
fields.
- The
Provider
field has been updated to state:- If the user is a provider with an NPI, this should be
true
. Usage of this depends on how the partner's integration strategy is configured.
- If the user is a provider with an NPI, this should be
- The
Admin
field has been revised to state:- If
true
, gives the user who is being saved access to the admin menu within the Updox Inbox. (Login ID/Password or SSO required)
- If
Create a Release of Information request from an Inbox Item
You can now create a Release of Information request from items you receive in your Inbox. Select the item and click Create ROI Request to get started with your request.
Learn more about Release of Information here.
Updates to the Practice Actions API Group
We have updated the Practice Actions APIs to include the HIPAA-compliant practice name, practice URL, and alternative URL. /PracticeCreate/1.1
,/PracticeSave/1.1
, and/PracticeUpdate/1.1
have all been updated to include new fields:
nameHIPAACompliant
- Added an optional field to specify a HIPAA-compliant name for the practice in patient-facing communicationswebsiteURL
-Added Optional field for the practice's websitealternativeWebiteURL
-Added optional field for the practice's alternative website (e.g Facebook or WebMD Profile)
See https://updoxqa.com/api/newio
Version PracticeGet1.1 and /PracticeList1.1 to PraticeGet1.2 and PracticeList1.2
To reflect the updates above to/PracticeCreate/1.1
,/PracticeSave/1.1
, and /PracticeUpdate/1.1
, we have also versioned /PracticeGet/1.1
and /PracticelList/1.1
to /PracticeGet/1.2
and /PracticeList/1.2
APIs to return the HIPAA-compliant practice name, practice URL, and alternative URL described above.
Updated Partner Portal Creation Page for HIPAA Compliant Practice Name and Practice URLs
For Partner Portal users, we added the ability to include a HIPAA-compliant practice name, practice URL, and alternative URL when creating a new practice. Under the Accounts page, you will see the new fields to enter the information.
Support Canadian Postal Codes with PatientsSync
We have updated the /PatientsSync/1.1
API. All address fields are nested under postal
and we have added country
as a required field if a postal code is entered.
Updox Public API Updates
Error Message When Syncing a Canceled Appointment
When syncing an appointment using the /AppointmentsSync
or/AppointmentsSync/1.1
and the appointment does not yet exist and has "canceled': true
the appointment will not be created successfully and the message was returnednull
.
We have updated the error message to provide more context to the error. The new message reads "Unable to cancel appointment as the appointment does not already exist".
Public API Changes
Location and Suffix Added to PatientsSync
Changes to the PatinetsSync
location
- A patient will be associated to a location based on the location code from the/locationSync
suffix
- Suffix will only accept the values that match the Updox UI- If an empty
location
orsuffix
is submitted, any previous values will be overridden - An error will be returned for invalid
location
orsuffix
values
New CSV Mapping for SAML-Federated Users
We have created the CSV mapping workflow for SAML SSO users. The new CSV mapping will allow SAML SSO users to create new users and/or modify, and deactivate existing user accounts.
Restrict User CSV to Only Admin Users
We have added the ability to restrict User CSV file uploads to only Admin users. Non-admin users will not have the option to upload User CSV files. Non-admin users will still have the ability to upload CSV files for other tasks.
Public API Changes
Require At Least One AppointmentType for /AppointmentTypesSync
Overview: API Maintenance
Previously the /AppointmentTypesSync
would return successfully even if no appointmentTypes
are included, which was confusing. If no appointmentTypes
are included, the /AppointmentTypesSync
API now returns an error to say that at least one appointment type is required. Additionally, specific errors will be supplied if the ID or summary is not populated, as both are required or are too long.
Public API Changes
Updated /SmsSend Documentation on the NewIO Page
Overview: API Maintenance
We have updated the documentation of /SmsSend
on the NewIO page to better represent the actual maximum character account that is allowed when considering the footer count.
Documentation of the
content
field in/SmsSend
should be revised to state:The content of the SMS. Please note that accounts using the consent footer will actually be limited to a maximum of 597 characters as each message will include the following footer (which equates to 73 characters): "To stop receiving these messages, reply STOP. Msg&Data rates may apply.”
Maximum character length is 670. This is required.
Support Additional FaxOemSend Validation Failures
Overview: API Maintenance
As a public API vendor calling the FaxOemSend
API, I need a way to get back information related to validation failures instead of receiving the system error code (5000) which is what we return when we have an unexpected failure on our end.
Sending to a country code that isn’t
1
is not allowed:Only applies to 11-digit numbers
Should return
4060
Error message in the response and doesn’t require modification
Example:
Faxing to or from number "35555555555" is not currently allowed; only numbers with a country code of "1" are supported at this time
Sending to all 0’s to number
known invalid number
would return
4060
Error message would need to be added:
Invalid fax number
Currently allowed but fails after the fact when we try to send:
We make multiple attempts to deliver this plus we convert and store the document. Silly.
if this is too much of a behavior change, we can pull to its own ticket but would prefer we include it
Sending > 11 digits:
Should return
4060
Error message in the response and doesn’t require modification
Example:
Number "000000000000" must be 10 or 11 digits in length
NOTE: toFaxNumber
- Min length 10 characters. Max length 12 characters. The fax number must be valid and not blocked.
Create Active Account List CSV Export from Partner Portal
Overview: API Maintenance
We have created a way to export an active account list as a CSV file for Partner Portal users.
Created a new menu option called Reports.
Created a process to generate a CSV file with the following fields:
name
emr_account_id
(spell out column name as ‘Account ID’ in CSV output)phone number
fax number
address1
address2
city
state
/province
postal
country
This will only include
active
accountsExport will be initiated from a button in the Reports section of the Partner Portal.
The top of the page will say “Reports”.
The button will be named “Export Active Account List”.
Export can only be run by Partner Portal users with an Admin or Super Admin role.
Export needs to be logged in the (existing) Audit Log
Partner Portal
Create Active Account List CSV Export from Partner Portal
Overview: New Report
A CSV export of active accounts can be initiated from a button in the Reports section of the Partner Portal by an Admin.
Public API Changes
Outdated MU Measure APIs Allowed Date Range No Longer to Exceed One Year
Overview: API Maintenance
Restricting date values to prevent infinite date ranges on
MeaningfulUse_2017_Actions
-MeaningfulUse_2021_Actions
Allowed date range should not exceed one year
4060
Invalid Arguments error will be displayed if a user tries to submit a date range > 367 days
Hide & Modify Documentation of /FaxNumberBlockSave on NewIO Page
Overview: API Maintenance
Hide by default
/FaxNumberBlockSave
on the NewIO page, so it is listed in the outdated methodsDocumentation of the
/FaxNumberBlockSave
should be revised to state:“Add a fax number to or remove it from the Updox blocklist which directs inbound faxes from blocked numbers to the Spam folder within the Updox web application.”
Delete SsoMessageActions.MessageInboxList
Overview: API Maintenance
Users will no longer see the api
MessageInboxList
under theSsoMessageActions
section of the interactive api pageAPI calls to the API will return a 404
Remove TokenGet Endpoint
Overview: API Maintenance
TokenGet
under SsoMessageActions
is no longer in use and has been removed.
Created New RetrieveSubmittedFormSummaries Public API
Overview: New API
As an Updox customer or partner who would like to use Updox Forms discrete data retrieval, I would like an API I can call to obtain the list of form IDs for forms submitted within a specified date range so that I can identify the ones I’d like to retrieve the form data for and then use the ID received in this API to call the RetrieveSubmittedForm.
Create a new
RetreieveSubmittedFormSummaries
API underFormActions
Input:
fromDatetime
toDatetime
Dates range not to exceed 7 days
includeTrash
: true/falseDefault to false
Output
formId
: the unique identifier of the form being submittedsubmittedAt
: the date/time the form was submittedtitle
: the title of the form being submitted
API Documentation should state:
Get summaries of submitted forms in the given time range.
The response will include the submitted formId, date/time the form was submitted, and the title for forms submitted within the timeframe specified in the request parameters.
Please note that a maximum of 7 days can be specified for the timeframe between the fromDatetime and toDatetime.
The formId can be used to retrieve the submitted form details using the RetrieveSubmittedForm API.
Public API Changes
Updated Documentation for MessageRetrieveWithAttachmentId
Overview: Documentation Update
MessageRetrieveWithAttachmentId is not intended to be used to retrieve form data, instead use MessageActions.MessageRetrieve.
NOTE: The new FormActions.RetrieveSubmittedForm can be used to retrieve discrete form data.
2022 MU Measure APIs Allowed Date Range No Longer to Exceed 1 Year
Overview: API Maintenance
Restrict date values to prevent infinite date ranges on
MeaningfulUse_2022_Actions
APIsAllowed date range should not exceed 367 days.
4060
Invalid Arguments error will be displayed if a user tries to submit a date range > 367 days
Generate Webhooks for Email Sent Faxes
Overview: API Maintenance
A webhook notification is now generated when an inbox item for a forwarded "email fax" is created in Updox.
Updated SmsSend API Error for Messages That Are Too Long
Overview: API Maintenance
We have Improved the error message returned to Updox partners when a 5000
error is triggered by a SMS message > 670 characters.
When the carrier returns the error: Message Too Long: “SMS message is too long (must be <= 670)”
Message should now return error code
4060
and message “Validation Failure - Message content is too long”
Public API Changes
Moved 2017-2021 MU APIs to Outdated Methods on the NewIO Page
Overview: API Maintenance
Hide all of the outdated Meaningful Use (MU) APIs (methods and endpoints) on the interactive API page and only display the one from the current year (2022).
MeaningfulUse_2022_Actions
will still be visibleHide all of the outdated MU APIs on the NewIO page:
MeaningfulUse_2017_Actions
MeaningfulUse_2018_Actions
MeaningfulUse_2019_Actions
MeaningfulUse_2020_Actions
MeaningfulUse_2021_Actions
Public API Changes
Retire SsoMessageActions.MessageCompose
Overview: API Maintenance
Users will no longer see the api
MessageCompose
under theSsoMessageActions
section of the interactive api pageUsers are still able to call the
MessageCompose
apiSupport will continue for users with established integrations using this API.
ApplicationOpen Invalid Cookie Error Page
Overview: API Maintenance
A new error page has been designed for end users when their authentication fails through ApplicationOpen API.
Improved Error Responses for PatientsSync API
Overview: API Maintenance
Updated the patientsSync API and added a more robust response JSON that provides the necessary error descriptions.
Public API Changes
Better Defined Errors for SmsSend API
Overview:
Below are the updated verbiage for the errors that are returned for the SmsSend API
When carrier returns unrecognized error code, api response returns validation error code
4060
, and generic message “Validation Failure - Unable to send Message”When carrier returns an error code related to message being too long, api response returns validation error code
4060
, and message “Validation Failure - Message content is too long”When carrier returns an error code related being unable to send because of block or blacklist, api response returns validation error code
4060
, and message “Recipient Consent Failure - Unable to send message to recipient because of active blocking rule”When carrier returns an error code related being a non-mobile number, api response returns validation error code
4060
, and message “Validation Failure - Unable to send message because recipient number is not a mobile number”
Public API Changes
Moved Appointment Related APIs to AppointmentActions
Overview: Documentation Update
To improve organization we moved the following APIs from IntegrationActions to the AppointmentActions endpoint:
- AppointmentStatusesGetByDate
- AppointmentStatusesGetByIds
- AppointmentTypesDelete
- AppointmentTypesRetrieve
- AppointmentTypesSave
- AppointmentTypesSync
- AppointmentsSync
- AppointmentsSync/1.1
Moved ReminderConfig to AppointmentActions
Overview: Documentation Update
We have moved the ReminderConfig API from IntegrationActions to the AppointmentActions endpoint to improve organization.
Hide VideoCallActions APIs
Overview: API Maintenance
VideoCallActions APIs have been hidden from view.
NOTE: We will continue to support the use of these APIs, however, we do not recommend a new adoption of them at this time.
Added 'STOP' Language for All SMS Messages Sent via API
Overview: Documentation Update
We have updated EventNotificationBulkCreate/1.1 documentation to state that "Notifications being sent via text will automatically include STOP language."
The message that is appended to the end of each SMS text message states, “To stop receiving these messages, reply STOP”.
Public API Changes
Update Patient Record for PortalAccountSave Language and Location
Overview: API Maintenance
It was found that 'language' and 'location' for a patient did not save when PortalAccountSave was called the first time, however if the exact same request body was called again, the 'language' and 'location' would be saved successfully.
This issue was resolved for both v1.1 and v1.2 of PortalAccountSave. The issue was not present for PortalAccountSave v1.0.
Partner Portal Changes
Renamed Patient Portal module and Added on in Partner Portal
Overview: Documentation Update
The version of the Updox Patient Portal will now be reflective on the Partner Portal. The previous label of "Patient Portal" will now show which version is configured, either "Patient Portal 1.0" or "Patient Portal 2.0".
Added Pagination to Audit Log Menu Dashboard
Overview: Performance Improvement
Partner Admin(s) are now able to view the User List in a more efficient way to ensure that their waiting time does not solely rely on the application fetching all Audit Logs by providing them multiple pages on demand.
Public API Changes
Added a New 'Reminder History' Status API
Overview: New API
We have created a new AppointmentActions API called RetrieveReminderHistoryStatus that allows Partners to retrieve reminder status details for an account.
Retrieve the reminder history status for an account which were created between fromDatetime and toDatetime. The time period must be between 1 minute and 24 hours.
Component List
Response object includes a list of lines with each line composed of:
- accountId - non-nullable string
- The application's accountId of the practice the reminder is for from PracticeActions -> PracticeCreate, PracticeUpdate, PracticeSave -> accountId
- appointmentId - non-nullable string
- The application's appointmentId the reminder is for from IntegrationActions -> AppointmentsSync -> id
- patientId - non-nullable string
- The application's patientId the reminder is for from IntegrationActions -> PatientsSync -> id
- updoxReminderId - non-nullable uint64
- The Updox created reminderId which uniquely references a reminder record (N of these records per appointmentId)
- updoxReminderHistoryId - non-nullable uint64
- The Updox created reminderHistoryId which uniquely references a reminder history record (N of these records per updoxReminderId)
- type - non-nullable string
- The reminder type being sent, one of Email, Telephone-Home, Telephone-Cell, Text Message, and No Reminder
- createdAt - non-nullable instant
- The time the record happened at, format ISO-8601
- sentAt - nullable instant
- The time at which the reminder was sent to the patient, format ISO-8601
- repliedAt - nullable instant
- The time at which the reminder was replied to by the patient, format ISO-8601
- reminderStatus - nullable string
- The status description for the reminder (ex: "sent", "confirmed", etc.)
- reminderStatusReason - nullable string
- The status reason description for the reminder (ex: "Text reminder successfully delivered to destination", "Patient replied to confirm this appointment", etc.
NOTE: This endpoint requires whitelisting before usage. Please contact Updox via partnersupport@updox.com for more details if interested.
Public API Changes
PracticeCreate Now Accepts IP Address Without a Port Specified
Overview: API Maintenance
We now accept an IP with or without a port. A bug was fixed which was causing "5000 internal server error" in the response JSON when calling PracticeCreate with an IP address provided, but no port.
Public API Changes
Added a 'Send as Practice' Option for PortalSendMessage
Overview: Version Update
We have created PortalSendMessage v1.1 to allow us to add a 'sendAsPractice' option allowing Partners to choose whether to send a Patient Portal Messages either as:
- The individual user
- As the Practice
Boolean: true/false (Defaults to false)
Public API Changes
Added Details for 'Location' to PortalAccountSave, PortalAccountUpdate, & PortalAccountCreate
Overview: Documentation Update
We have added additional details to the PortalAccountSave, PortalAccountUpdate, and PortalAccountCreate API documentation to better explain what is required for the Location field.
"A location must be synced to Updox or created in the UI prior to setting this value for the portal account. Use the location code of the location."
Additional Information
Locations can be added via the LocationsSync API.
- Use LocationsSync.locations.code for PortalAccountSave/Update/Create.location.
- If the location was created in the webapp:
- Use the 'Location ID' which can be found in the Admin Menu under Manage Locations for PortalAccountSave/Update/Create.location.
Created PortalAccountGet v1.5 to Add a 'Verified' Option
Overview: Version Update
Created PortalAccountGet v1.5 which added 'verified' to indicate when a patient has verified their patient portal account.
NOTE: If a patient portal password reset has been performed on a verified portal account, the portal account will revert to unverified until the patient has successfully logged in.
Partner Portal Changes
Added Pagination to the 'Accounts' Page
Overview: Performance Improvement
Partner Admin(s) are now able to view the User List in a more efficient way to ensure that their waiting time does not solely rely on the application fetching all Users by providing them multiple pages on demand.
What Changed?
Addition of the 'Page Selector' Section
Upon loading the 'Accounts' page, Admin Users are now presented with no more than 50 active accounts. If a vendor has more than 50 records, they will now have a "page section" visible at the bottom of their screen with the option to click a 'Next' button to navigate to the next 50 active account records. (Shown below)
Toggling/Filtering Your Results
Previously active accounts were displayed at the top of the list and inactive at the bottom. Now accounts will be listed in the order in which they were registered (oldest to newest).
A Radio Button has been added granting you the ability to filter your results to either show:
- 'Only Active Accounts' (Excludes Inactive Accounts)
- 'All Accounts' (Including both Active and Inactive accounts)
Additionally, a column has been added to denote whether the Account is Active (the Green Checkmark) or Inactive (the Red 'X').
NOTE: Inactive accounts now display with grey text instead of black.