Background and Links
Requests to Enable the Appointment Reminder Feature
Appointment Reminder Enabled Clinics
Firewall Rule Exception
Registry Key: SMS_ENABLED
Internet Preferences
System Tasks
Post Process Macro & APPTREMBYPOS Macro
Stored Reports
Stored Query
Role Actions
Medical Record\Messages
Internal Roles Filters
Refresh Scripts
Background and Links
Appointment Reminder is a feature built into Profile EMR. We acquired the license to activate it in production. This article outlines the nuisances required for it to work with our clinic workflow and overall system design.
If issues arise, please see the Appointment Reminder Troubleshooting article.
For clinic workflow or explanation on features that average users have access to, please see the external article instead. If you wish to view the clinic toolkit summary, see SMS Clinic Onboarding and Setup article. For how to remove appointment reminder from a clinic, see the Decommissioning Appointment Reminder for a clinic article.
Requests to Enable the Appointment Reminder Feature
During the project phase, all active POSs were offered to enable the Appointment Reminder feature. It is possible that clinics who have initially declined the offer would like to explore activating it now. If this is the case, they must submit a Change Request.
As the question comes up frequently, note that activation and recurring monthly fees for VCH/PHC clinics are covered by the operational Profile EMR cost-coverage centre. PHSA clinics will be invoiced.
Appointment Reminder Enabled Clinics
Below is a list of active clinics currently using Appointment Reminder, ordered by Job Run Time:
| Code | Name | Job Run Time | Job Run Duration | Go-Live Date |
|---|---|---|---|---|
| QDE | qathet Diabetes Ed. Ctr | 09:32 | 3 mins |
1 Oct 2024 (Decommissioned on 8 Dec 2025) |
| SHL | Shellbridge Family Health Clinic | 09:35 | 3 mins |
23 Sep 2024 (Decommissioned on 27 May 2025) |
| NDE | NS Diabetes Ed. Centre-H0018 | 09:38 | 4 mins | 2 Dec 2024 |
| YCD | VC Yth Concurrent-C5788/C13645 | 09:42 | 3 mins | 8 Jan 2025 |
| VPC | Van Community Palliative Prgm | 09:45 | 5 mins | 10 Feb 2025 |
| RCG | Richmond Community Geriatric Services | 09:50 | 2 mins | 14 Jul 2025 |
| JRC | John Ruedy Clinic - H1324 / C01775 | 09:50 | 9 mins |
17 Mar 2025 (Decommissioned on 4 Apr 2025) |
| SOM | South MHSU-C4916/C09421 | 09:52 | 8 mins | 7 Jul 2025 |
| TCB | TCB | 10:00 | 2 mins | 16 Jul 2024 |
| CFN | Care4Newcomers - C5897/C14168 | 10:02 | 3 mins | 17 Mar 2025 |
| HIM | HIM Health Centre-C5433/C12815 | 10:05 | 6 mins | 17 Mar 2025 |
| HCC | NS HlthConnection-C4351/C11180 | 10:11 | 4 mins | 17 Mar 2025 |
| PCN | Primary Care Network | 10:15 | 4 mins | 31 Mar 2025 |
| TBM | Three Bridges MHSU-C0235/C01453 | 10:19 | 6 mins | 7 Jul 2025 |
| AVG | Anne Vogel Clinic - C1775 | 12:05 | 5 mins | 08 Jul 2024 |
| FNS | Foundry N. Shore-C1734/C02266 | 12:50 | 4 mins | 30 Sep 2024 |
| KPM | Kits Pacific MHSU-C0222/C00627 | 12:54 | 4 mins | 7 Jul 2025 |
| NEM | Northeast MHSU-C0515/C10300 | 12:58 | 4 mins | 7 Jul 2025 |
| RSM | Raven Song MHSU-C1639/C09977 | 13:01 | 8 mins | 7 Jul 2025 |
| SMH | Strathcona MHSU-C0269/C13902 | 13:10 | 9 mins | 7 Jul 2025 |
| STS | Steps Services | 15:30 | 5 mins | 5 Mar 2025 |
| GWM | Grandview MHSU - C0424/C10457 | 18:00 | 4 mins | 7 Jul 2025 |
Firewall Rule Exception
The firewall rules were modified to allow the SMS Service Provider (Twilio) API access to our app servers. The Twilio support website says the following about the REST API (source: https://support.twilio.com/hc/en-us/articles/115015934048-All-About-Twilio-IP-Addresses ): "The IP addresses used for Twilio REST APIs are highly dynamic, and span a large range, so it's impractical to list each of them. Instead we recommend you allow all outbound HTTPS traffic to any *.twilio.com subdomain."
Therefore, the Profile EMR DEV, QA and PROD app servers have allowance for these addresses (note this list was provided from Yunfei Yu from the Firewall team when the DEV server was updated, this may now be inaccurate):
- EXT-FQDN_api.twilio.com
- EXT-FQDN_twilio.com
- EXT-FQDN_twilioagent.ICLINICEMR.com_Patient-Reminder-System
Registry Key: SMS_ENABLED
A new Registry Key short code was created to enabled appointment reminder at the POS level:
- Code: SMS_ENABLED
- Description: POS Appointment Reminders Enabled
- Allow Multiple: Checked
Clinics who do not have this Registry Key by default do not have appointment reminder available. For usage, see the SMS Clinic Onboarding and Setup article.
Internet Preferences
The settings found in Organisation > Preferences > Setup > Internet > Messages tab are global settings. The following highlighted fields below are in the ideal state of setup.
System Tasks
Each clinic will have it's own system task with name eMessage Service "Twilio SMS - AAA" where AAA is the POS code. Each of these system tasks should have code in the Post Process Macro tab, which will set up variables then call the APPTREMBYPOS macro. See the section below for more information on this.
There is also a System Task named Patient Messages for Appointment Reminders (DO NOT USE) which should be disabled. This task when enabled will send out appointment reminders globally. We want to send reminders by POS. This may change in future when we move from a v8.6 build to a v9 build.
Post Process Macro & APPTREMBYPOS Macro
Because of limited configuration options in build version v8.6.0.BCHRA.R19.R2.1988, the APPTREMBYPOS macro was created to be called by each clinic's Twilio eMessage Service Post Process Macro (PPM). This may change once we upgrade to v9.0 as more UI configurations are available for appointment reminder.
As of right now, the APPTREMBYPOS macro handles checking if the appointments are eligible for reminders and sends the eligible ones messages. For the criteria on what triggers sending a reminder, please see the external Zendesk document on Appointment Reminder.
The Standard Code used for the Twilio's PPM is found in the Appointment Reminder toolkit as SMS-PPM.vbs , which is located here: \\vch.ca\departments\PCAC_EMR\01 - PCCEMR\08-EMR Toolkits\08-08 Appt Reminder Toolkit
Instructions on how to use the file are found in the SMS Clinic Onboarding and Setup Zendesk article.
Stored Reports
Every scheduled job for Twilio eMessage will have a call to run APPTREMBYPOS in the Post Process Macro tab. Calling APPTREMBYPOS will create a Stored Report. Go to Reports > Stored Reports. The naming format of the produced report will be Scheduled Patient Appointment Reminder AAA - Date & Time where AAA is the POS code and Date & Time is the date and start time of that particular task's run.
Because the cell phone number can be changed outside of the Client Registration and bypass the integrated cell phone validation there (e.g., via PARIS Update), cell phone validation was added to APPTREMBYPOS. When reviewing the report, the Text Message column will show the text sent if the cell phone format validation passed, or it will show an error message if it failed.
The overall message sending status cannot be included in the Stored Report as it does not show accurately at time of the report's generation. To view this, it's best to check the Control Centre\SMS Log module.
Stored Query
A stored query was added specifically to aid clinics who have appointment reminder enabled. The stored query, List of Client Appts by CLINIC and Date Range (Appointment Reminder), is found under Operational Reports - Admin\Queries based on APPOINTMENT AT clinic
For more information, visit the external Zendesk article for Appointment Reminder.
Role Actions
The following role actions were changed to allow the new modules for Appointment Reminder.
Granted for the Administrative User, Clinical User, and Sys Admin nodes:
- Organization\Work Centre\Work\Client Items
- Clinical\Medical Record\Messages
All roles under these nodes have the role actions above Inherited.
Additionally, the role action "Organization\Control Centre\Manage\SMS Log" is granted to the Sys Admin role and inherited to the Support Analyst role only.
Medical Record\Messages
Majority of the information on this module can be found in the the external article however there is one note worthy item to address: a Sys Admin role user can access the ad-hoc messaging panel.
This is required in production for Sys Admin to do validation of SMS line setup during soft-launch/go-live. Unless you are an EMR SA doing validation, even if you have access to it, do not use this panel even if it's in a non-production environment.
Internal Role Filters
Majority of the information on this module can be found in the the external article however there are a few filters that are exclusive to the Sys Admin and Support Analyst roles. To see the filter differences, as well as default window macros, see the Role-based Configurations article, specifically the sections pertaining to:
- Work Centre > Client items
- Medical Record > Messages
- Control Centre > SMS Log
- Alter Client
Refresh Scripts
We do not want to accidently send fake or inaccurate appointment reminders from non-production environments. As part of releasing appointment reminder to production, we also amended the existing refresh scripts to prevent these accidents from happening. The following steps are required in the refresh scripts of Support, QI, QA1, and QA2:
- Ensure the Twilio Test SMS eMessage Service's properties are NOT cleared - we want to ensure the phone number and authentication information are not erased so that the test line can be used in non-prod environments.
- Clear out all other Twilio SMS eMessage Services properties - this step is unchanged as it is already included as part of the usual refresh steps.
- Disable all Twilio SMS eMessage Services Tasks - this step is unchanged as it is already included as part of the usual refresh steps.
- Deselect the Find Service by POS checkbox - a side effect of this is it will enable the SMS Service Name dropdown, but it will by default be populated with <not specified>. This will break the link with Twilio. An EMR resource would have to explicitly reconnect the environment to Twilio for appointment reminder to operate.
Note: No changes required for the DEV, TEST and UAT refresh scripts as these settings are already in the correct state (QA1 DB is used in each of the environment refresh process).
Note: No changes required for the Training or Self-Training refreshes because none of the SMS lines will be entered into VTM, therefore, no risk of sending appointment reminders.