Guidelines
Introduction¶
Align generic APIs solution for clinics allows establishing a secure connection between the 3rd party software used in the clinic to iTero data and services.
This document describes some of the best practices we recommend using. These are recommendations only and should be used at the partner's discretion.
Please check https://guides.itero.com/ for manuals and training material about iTero
Terminology¶
- This document is using the terms scan, order, and case interchangeably.
- A clinic is an account.
myitero.com¶
To go through a smooth development process, it is beneficial to be familiar with Align portal myitero.com.
Myitero portal serves both clinic users and lab users. The view is adjusted based on the logged-in user' role.
The portal that is widely used by iTero customers, serves as a reference to the developer of the connection.
Clinical user
Lab user
While developing the software, it is helpful to track the scans in the portal. In case you ask yourself 'where did the scan go' or "why is the scan not listed", checking it on the portal may give you a clue of the scan's status.
Align Accounts and Users¶
In order to be able to use Align APIs a user should be:
- Registered with Align system
- Associated with an account (in particular a clinic or a lab)
- Has a login option and credentials
- Can log in to myitero.com
In case you are missing credentials or need to define a user
Please contact the Professional Services person that is responsible for the integration, or send an email to iTeroAPISupport@aligntech.com
Note
Note that scanners that are part of the integration must be Element 1 or later (legacy scanner are not supported).
Contact to Account Relationship¶
The relationship of a doctor to a clinic is N to N:
- A doctor can be associated with one or more clinics
- A clinic can have one or more doctors
A doctor that is associated with multiple clinics uses one set of credentials (email/password) for authentication. The user will be able to pair to any of the clinics he is associated with (and is configured for the integration).
Development environment¶
Development is done through test accounts that allow the partner to use both the API and MyiTero.com for a full ecosystem experience. A VPN is not needed to access development tools.
A connectivity team member takes charge of: - Creating test accounts and users - Configuring an iTero Scanner for development if using a real scanner (Not needed in most cases, since an API-based scanning tool is available) - Providing Client ID and Secret for API access
APIs Base URLs¶
Align APIs use two base URLs:
oauth_base
- for authentication callsbaseUrl
- For initial call to Discovery endpointDomain/Path URL's
- Returned by Discovery, these URL's will be used for general calls to the API
Make sure to have these two paths configurable in your system, so in case of a change, no deployment is required.
This is important since Align is constantly improving its generic API offering. This may result in a change of the URLs. We don't expect frequent changes, however this option should be kept open.
CORS Limitation
If integration solution requires CORS access we recommend to leverage reverse proxy to achieve it.
Flows of API calls¶
The provided set of API calls holds the logic to enable a full workflow of a clinic.
A typical DPMS implementation will follow this order of steps:
- Authentication
- Call to Discovery
- Pair to the desired clinic
- Get Practice Configuration – so the clinic's data that is required for a scan request is available for the software
- Scan Request – Push an RX to the scanner
- Get orders for practice or handle scan requests to identify new scans that are ready to view and download
Note
This is a common use case. A DPMS application developer can choose not to follow this typical path.
Cover all flows¶
Restorative cases can be sent to a lab. The lab can choose to send the case to modeling or to order a physical model. The scan files might be changed in each step of the process but the Order ID will not change. The calling application should consider all scenarios. It may want to store case numbers of scans that are sent to modeling, so it knows how to treat them when they are back.
New scans¶
Retrieve new scans metadata¶
Align API provides two ways to fetch new scans:
-
Get Orders for Practice - Polling this REST call will make sure to list all cases that are in a "Completed" status.
All ready cases of the clinic will be returned based on the filtering (by date, chart number, etc.) -
Scan notification webhook – In case of registering to get Scan Notifications, a notification will be sent with every ready scan. Criteria are the same as for the list of scans that are returned by getting Orders. Once a scan notification is received it includes Rx ID that can be used to get scan information. Note that there is no retry option in case of a missed notification.
It is recommended to incorporate the two methods. Using the webhook allows operating in an 'interrupt' like mechanism that uses the available resources more efficiently. However, to ensure that no scan is missed it is recommended to poll GetOrders occasionally.
What Artifacts can be downloaded?¶
There are three types of assets for download:
-
Thumbnails - Thumbnails is a set of 6 2D pictures taken from the 3D model.
-
Scan 3D file (iDE) - The zip file includes the following:
- STL/PLY file
- Scan metadata XML files. The most updated XML file for restorative cases is v24. For orthodontics cases it is v50.The package includes also older versions of the files for backwards compatibility purposes.
- RX - an HTML file
- Thumbnails - orthodontics zip file also includes the thumbnails. Restorative cases do not include it, so if thumbnails are required, they should be retrieved by a separate API call.
-
Screen Captures - Zip file includes screen captures with and without annotations
Timing matters¶
Poll for scans¶
Currently, it is recommended to wait 120 seconds or more between successive calls to Get Orders to avoid multiple retrievals of an order.
Patient Names Consistency¶
Patients on myitero.com and the scanner are identified by three parameters:
- First name
- Last name
- Chart number
If all three are identical to those of an existing patient, the scan will be associated with this patient. Note that if a scan is completed with a patient name that is not correct or contains a typo, a new patient will be created in Align's system. Merge of patients is currently not available.
Chart number is not mandatory if an RX is generated from myitero.com or the scanner. It is mandatory if the RX is generated by the generic API 'Scan Request'.
The best practice at this point is:
- Don't leave chart number empty
- Use the DPMS unique identifier in iTero. This means that the patient identification number/string in the DPMS serves as the chart number in iTero.
- As a clinic, before starting to use a DPMS system, it is recommended to make sure all patients' names and chart numbers in iTero are correct. A patient's name can be updated on the scanner, in myitero.com or by the API.
Pair and Un-pair¶
What does pair do – user to account¶
A user that consumes Align generic API must pair to the account which he wishes to work with. A doctor will pair to a clinic he is associated with.
If you pair, and the pair again, the same token will be returned.
What is un-pair¶
Un-pair will disconnect the pairing between the user and the account.
Note
- Un-pair will affect all paired users for that account.
- Un-pair will disconnect the account from its callback URL to receive scan notifications.
Prepare for the unexpected¶
In general, we expect all cases to be completed correctly and be available to work with via the API. However, it is a good practice to make sure your application is prepared to handle problematic cases, so no case is missed.
As noted, a case will be available to download if it has all files ready:
- IDE file (zip)
- Thumbnails
- Ready to view in myitero.com portal
These three files’ links will be returned with the Get Orders request, but it may happen that one of them (iDE in particular) will be missing. In this case, the file will not be available for download and require manual handling:
- It may be available for download from myitero.com
- It may be available to download after a brief (40 to 80 seconds interval) wait time to regenerate the IDE file if a doctor changes export settings.
- If not, it is recommended to contact Align support
Limitations¶
- Integrations are not supporting legacy scanners. Element 1 and up are welcomed.
- A user must have a "type" such as "Dentist".
- A user cannot be both a "Lab person" and a "doctor"