Integrator guide
Quick links
Halo Cloud overview Halo Link overview Security overview Release notes Troubleshooting Contact Support
What is Halo Connect?
Halo Connect is an interoperability platform. For integrators, our goal is to reduce the costs associated with developing and maintaining PMS integrations. For on-prem PMSs, Halo Connect removes the need for installing a local agent on each practice's server. Instead, integrations can connect to the server using our Halo Cloud APIs.
For integrators, this means:
- Lower barrier to entry for new integrations, by removing the need to build, maintain, and support your own local agent.
- Reduced cost of customer support, by outsourcing monitoring and fixing agent instances to Halo Connect. We monitor for outages and performance issues and proactively work with practices to resolve issues, and offer API endpoints for integrators to check a practice's status.
- Safe, secure and reliable data transmission, by using a well-behaved agent that protects practice infrastructure, and looking after encryption, transmission and keeping agents up to date.
For Bp Premier, this also means streamlined practice onboarding as Halo Connect is installed with recent versions of Bp Premier. This removes the need to liase with IT providers to install your own local agent. Integrating via Halo Cloud means practices only need to enable your integration in Bp Premier for you to be able to start sending queries.
Halo Connect products
Halo Connect has two core products:
- Halo Link: a local agent that is installed on practice servers and enables communication with Halo Cloud.
- Halo Cloud: a set of API services which allow integrations to communicate with practice servers which have Halo Link installed.
Our grand vision is to have one API which allows integrators to query multiple practice management systems without having to worry about the differences between them, such as on-prem vs cloud, or SQL database vs API-based. However, getting there will be a long road. In the mean time, we offer various API services to help integrators start transitioning to a cloud-based architecture.
See the Halo Cloud Overview for more information.
How to find out more?
- Visit our website to read more about what we do or book a demo.
- Contact support if you have any questions.
Supported PMS
- Bp Premier
- Zedmed (cloud and on-prem)
- Dental4Windows and Dental4Web
Testing and development
Prerequisites
Since Halo Cloud is a bridge between PMS systems and integrators, to start developing with Halo Connect, you do need a subscription with a partner PMS and a test environment for that PMS.
Once you have a test environment for a PMS, we can provide you with a Halo Connect Staging Subscription, which will allow you to begin testing and development.
Staging subscriptions should not be used in production environments
Halo Connect's Staging environment is designed for testing and development. Before using Halo Connect in production at a real practice, you will need to switch to the Production environment.
Staging subscription
When you sign up for a staging subscription, you will receive from Halo Connect:
- A Halo Connect subscription key
- A Halo Link installer
To begin testing and developing with Halo Link, you will need to install Halo Link on your testing and development environments alongside a PMS instance. Once installed, get the Halo GUID for each environment -- this is the unique identifier for each "practice" which you will use to route API queries.
Then follow the Halo Cloud docs for instructions on how to get started sending queries. You will likely want to read:
- The Halo Cloud overview for information that applies to all Halo Connect API service.
- The docs pages for the specific API service you wish to use.
- The API reference for the specific API service you wish to use.
Recommendations
Avoid installing Halo Link repeatedly on ephemeral environments
Each time Halo Link is installed on a new environment, it creates a new "practice" subscription in the Halo Connect system. This results in a Halo GUID being created which you will have to fetch. If done repeatedly and often, it also increases load on our systems. For example, if a test environment reinstalls Halo Link each time it is spun up, and this happens multiple times a day, that will create multiple "practice" records each day.
We would ask integrators please try to avoid implementing such systems. If this is a requirement for your integration, please contact us so we can coordinate processes such as regular clean ups of orphaned Halo GUIDs.
Use the Get status endpoint to check if a practice is live
We make our best effort to detect and resolve practice outages as quickly as possible. However, sometimes a practice server may be uncontactable for a period of time. Querying the practice during an outage will return an appropriate error.
Depending on how your integration works, it may be wise to use the Get status endpoint to check if a practice is live before sending queries. For example, if your integration polls the server regularly or sends several queries at once for data extraction.
Implement exponential backoff in the case of errors
If you do receive errors from a practice server, especially if your integration polls the server frequently, we recommend implementing exponential backoff. This can help by:
- Saving you money by reducing your usage during an outage.
- Lightening the load on the server, which may help resolve the issue quicker if it is due to network or server congestion.
- Reducing the load on Halo Connect systems, which may help resolve the issue quicker if it is due to our cloud systems.
The optimal exponential backoff strategy for your integration will depend on your use case and requirements, but we are happy to discuss options with you. Contact Support if you have any question.
Moving to Production
Once your integration is working with Halo Link in staging, please contact us to discuss moving to the Production environment. This will require:
- Signing up for a Production subscription.
- A discussion regarding your rollout strategy, so we can plan for the appropriate levels of monitoring and support to ensure your rollout goes smoothly.
- Preferrably, production tests at one or two practices before rolling out to a wider customer base, so both your team and ours can ensure everything is running smoothly.
- Meeting any additional requirements set by the PMS you are integrating with.
In addition, you may want to consider how your onboarding and support processes may change when using Halo Connect. Our Customer Support team would be happy to have a discussion with your team to coordinate these processes, such as defining when and how your support team should contact ours.