Getting a patient's location so we can connect them with the right medical professionals.
At Dialogue, we always want to provide our patients with the best care when they need it. To do that, we provide our Medical Team with the tools and information they need. One piece of information that we’ve been getting manually is a patient’s location when they contact our medical team. This is important because:
If a patient lives in Ontario and visits Montreal (in Quebec) for a week, then a doctor licensed in Quebec would be the one providing care. The rules are a little more complicated and apply to all licensed healthcare professionals, but allow us to operate in more provinces with the same Medical Team.
What we need is a quick and easy way to locate a patient and inform the Medical Team so they can direct the patient to the correct professional. Since the patient’s location is needed every time they interact with our team, we’re using the geolocation from the patient’s device. This requires asking the user for permission to access their location:
We chose to include the location permission during sign up since the first thing we encourage our patients to do is chat with our Medical Team, who need the patient’s location.
On both iOS and Android devices, we need to ask the user’s explicit permission to access their location, so the flow is the same.
For existing patients that were already using Dialogue, and for patients who skipped the location step during sign up, we would ask them for their location before they start chatting with the Medical Team.
We provided a banner in the chat if a user skips the location permission again as a quick way for them to re-initiate that page, and an easy way for our medical staff to direct them to that setting as they chat.
If a patient declines to give us permission, on iOS we would need to send the user to the Settings app to turn on the setting. On Android, there are different behaviours depending on the type of phone the user has. Some act the same way as iOS, while others use the default Android system’s permission structure and allow the permission to be asked multiple times.
On the medical team’s side, we added in a location indicator to the patient’s profile that changes when they go to a different province. We also clearly indicate when we don’t have a patient’s current location so the team knows to ask for it in the chat.
As a future improvement, I included an option to warn a medical professional that they are not licensed to administer care to a specific patient (this was not currently possible as we didn’t have accurate license data on each medical professional in our dashboard).
I've included a few key features that I worked on during my time at Dialogue. These show the complexity