Connecting patients with the right doctors

Product Design, Branding


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:

  • Doctors are governed by a licensing body that differs for each province. If they don't follow these regulations, they risk losing their license or getting sued.
  • If a patient needs immediate medical help, knowing where they are allows the medical team to send emergency services directly to them.

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.

For the patient

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:

Flows for how to ask users to allow us to access their location

During Sign Up (New Patient)

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.

Asking for a patient’s location during the sign up process

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.

Before Chatting (Existing Patients)

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.

Asking for patient’s location if they skip during sign up and go on to chat 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 they Decline

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.

When a user declines, we direct them to the app permission page in iOS Settings

For the medical team

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.

The patient's location is indicated as part of their profile. It's not salient when there's no conflict.
If we don't have a patient's location, we indicate this clearly to the medical team so they can ask the patient directly.

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).

As a future improvements, if we know the medical professional is not licensed in that province, we would warn (and potentially prevent them from chatting)
View prototype


I've included a few key features that I worked on during my time at Dialogue. These show the complexity

Connecting patients with the right doctors
Helping patients to take care of their families
Quick Reply
An automated questionnaires for patient triage