Telehealth with Microsoft Teams

System Administration

Microsoft Entra Setup

In order to use the Microsoft Teams API, you must set up API keys in your account. Read how via Microsoft Entra - Register Application.

Deployment models

The teams deployment can be configured in two ways.

  • Recommended: Adding specific users into a group and maintaining the access to teams via Powershell. 
  • Alternatively, setting up a single user who is the facilitator of all of the meetings. IE: no-reply@your-organisation. This requires less maintenance, but provides significant disadvantages.


Required permissions

The minimum permissions required are

  • OnlineMeetings.ReadWrite.All
  • VirtualAppointment.ReadWrite.All
  • User.Read.All


After adding these, you will need Grant admin consent.


Recommended deployment: Provider setup via Powershell (each provider)

Install PowerShell in your environment

pwsh
Install-Module -Name PowerShellGet -Force -AllowClobber
Install-Module -Name MicrosoftTeams -Force -AllowClobber
Connect-MicrosoftTeams

You will be prompted to authenticate:

Either add:

New-CsApplicationAccessPolicy -Identity "AllowMeetingCreation" -AppIds "460f60b0-81d4-4fb7-acd3-a9c24dd8d584" 

Or update:

PS /Users/clintel> Set-CsApplicationAccessPolicy -Identity "AllowMeetingCreation" -AppIds "ee9fe20f-b5ee-4111-b85d-fac7527cad6f", "460f60b0-81d4-4fb7-acd3-a9c24dd8d584" 
PS /Users/clintel> Get-CsApplicationAccessPolicy -Identity "AllowMeetingCreation" 

Identity    : Tag:AllowMeetingCreation
AppIds      : {ee9fe20f-b5ee-4111-b85d-fac7527cad6f, 460f60b0-81d4-4fb7-acd3-a9c24dd8d584}
Description :
Grant-CsApplicationAccessPolicy -PolicyName "AllowMeetingCreation" -Identity "3efbdd46-d280-4b0f-a414-1ff1f3dda63a" 


Replace the Identity to the provider user Identity

Each provider who can offer telehealth services needs to be granted the AllowMeetingCreation permission.A method to granted permission by group:

Connect-AzureAD
$groupMembers = Get-AzureADGroupMember -ObjectId "your-group-id-here" | Select-Object -ExpandProperty UserPrincipalName

foreach ($member in $groupMembers) {
  Grant-CsApplicationAccessPolicy -PolicyName "AllowMeetingCreation" -Identity $member
  Write-Host "Policy applied to $member" 
}

Running example:


  • Get the Client ID and Client Secret:
    Client ID is the application id and Client Secret generated by Add a certificate or secret link in app overview page.
    Recommended: Set an expiry time of 24 months and appropriate calendar reminders prior to expiry.



CareRight Setup

Create the Data Producers

Once you have obtained your credentials, next action will be to create a new data producer.

System Administration > Workflow > Data Producers

Alternative deployment: Specify a single user in the API Endpoint URL (https://graph.microsoft.com/v1.0/users/(object id), rather than https://graph.microsoft.com/v1.0/users/


Enabled Telehealth via Microsoft Teams for appointment types

System Administration > Appointment Types

To visit the main article click: Appointment Types

To configure the appointment type for telehealth system admin need to check Telehealth Enabled field. They can either create a new appointment type or modify an existing one.  


Note: We recommend setting up specific Telehealth consultation appointment types, so that in person appointments are not accidentally scheduled as Telehealth.

Appointment Email or SMS

System Administration > Correspondence > Appointment Email or SMS

When an appointment is published to Microsoft Teams, links are generated, but not yet accessible.

To share these links with the Patient, you will need to create an appropriate Appointment message (SMS or Email).

The variable to use in templates is patient.teams_url.

CareRight provides two default templates, Sms and Email.

CareRight default SMS template:

 CareRight default Email template:


Enable Dashboard view:

System Administration > Appointments > User Interface

We recommend enabling Dashboard Show Appointments for easy access by providers to their appointments.

Staff Experience

Create an appointment

When an appointment is created, it is published to the Microsoft Teams portal which may take a short period. When it is successfully published, you can verify this via Appointments > Details. 

You will see the participants and links:


Updating or cancelling an appointment

If you update or cancel an appointment it flows through automatically to the Microsoft Teams platform. 

Updates flow through automatically to the Microsoft Teams platform.

If required, you may need to inform the patient of any changes, if automated correspondence has already been sent.

Patient Experience

Receive the Link

Once an appointment has been created patient will get secure link to join the session either  by SMS or email. If this sent by an email, this will also typically include an iCal invite. Patients can add this to their calendar with one to two clicks on Android or other modern platforms.

Example SMS:


Email Example



Joining the session

Waiting area:

When the scheduled session is ready to commence, the patient proceeds to a waiting area


Provider Experience

Join the Telehealth Session 

1. From the Dashboard

We recommend enabling Dashboard Show Appointments for easy access by providers to their appointments. Providers can one-click join the session from dashboard. 

Click on the drop down option on the particular appointment system presents the option Join Telehealth Session.

2.  From the Patient Record

  1. From the dashboard.
  2. Search for a patient.
  3. Click show.
  4. Click on the appointment from left side menu.
  5. Click on the action for particular appointment.
  6. Click on the Join Telehealth option from drop down.


3. From Appointment details

View Appointments > Details



Accessing your calendar feed from Outlook or Google Calendar

Recommended article: Accessing Calendar Feed.