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 are 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 had 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 the Reports section of Partner Portal
Top of the page will say “Reports”
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 initiated from a button the Reports section of 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.