Background
Should we rerun the Appointment Reminder tasks? (IMPORTANT)
Single/subset of clients did not receive a reminder
1. Review Control Centre > SMS Log
2. Review Stored Reports
3. Review the Appointment Reminder Stored Query
4. Manually Review Fields
i. Appointment Property Window
ii. Appointment Type: face to face property
iii. Client Information: Cell Phone and SMS Consent
All clients for a POS did not receive reminders
1. Confirm POS Appointment Reminder Settings
2. Review Control Centre > SMS Log
3. Confirm the Scheduled System Task Setting
4. Review Stored Reports
5. Confirm the POS' Twilio Service is Enabled
No reminders from any POS were sent today/yesterday
Send Reminder checkbox is disabled
Message Invoicing Validation
Background
This article outlines anticipated common questions around Appointment Reminder feature. For general information on appointment reminder, see the following resources:
- Appointment Reminder Overview (internal resource)
- SMS Appointment Reminder Guide (external resource)
Should we rerun Appointment Reminder tasks? (IMPORTANT)
If an issue arises re-running the Appointment Reminder task(s) is dependent on the situation:
If the task did not run properly during its last attempt and it is the same day as the failed run, it is safe to re-run. Please request the EMR System Administrator to do so.
If a subset/single client did not receive reminders or the whole task failed on a different date than today, do not re-run the task. Duplicates will send to non-issued clients. The remediation is to let the clinic know they failed and that they can contact the client(s) directly, wait for the next run if they have multiple cadences and it's expected to have at least one more reminder sent for those appointments, or leave it be.
Single/subset of clients did not receive a reminder
The criteria for sending out appointments is listed in the external resource. All of the items listed in that section must be true to send. Below are ways to verify the criteria and the statuses of sent reminders.
1. Review Control Centre > SMS Log
Using the SMS Log module found in the Control Centre > Manage section, we can view all SMS inbound and outbound messages. Review the list which is split into POS nodes. If the client's name can be found under the anticipated timeframe and under the correct POS, review the Status and Error column. If the client cannot be found in the list, go to the next step.
2. Review Stored Reports
Go to Reports > Stored Reports. The name 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. The description indicates if there are any errors present. These would be prevented from sending, as in would not show up in the SMS Log.
If there is an error for that POS on the specified date, review the report. Check if the client is present on the list and if their Text Message value shows an error message. If it does, then the issue is an invalid consented phone number.
Note: there is validation for cell phone format in Client Registration save function, but using a PARIS Update or a manual client import will bypass Client Registration. This is why a final cell phone validation is done right before sending.
3. Review the Appointment Reminder Stored Query
A stored query was added specifically to aid clinics who have appointment reminder enabled but can also be used to troubleshoot. 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 a clinic
For more information on how to interpret this query, see the Appointment Reminder Guide in the external Zendesk.
4. Manually Review Fields
If you wish to view the fields directly or if the Stored Query needs to be verified, below are the steps to review them manually:
i. Appointment Property Window
- Locate the appointment reminder in question in the POS' Appointment module
- Open up the Appointment Properties window
- If any of the below are true, it is expected to not send an appointment reminder:
- It is a recurrent appointment
- Send Reminder checkbox is unticked or disabled
- Appointment is flagged as cancelled and/or rescheduled
If we are expecting the appointment to send a reminder even after reviewing the properties, go to the next step which is to review the appointment type used.
ii. Appointment Type: Face to face property
Confirm that the appointment type that the missing reminder is for has Face to face/Client Contact checked. This is found under Maintain > Short Codes > Contacts as shown below. If it is not checked, this is the expected behaviour. If this setting needs to be updated, a CC will be required.
iii. Client Information: Cell Phone and SMS Consent
Confirm the client's Cell Phone number and Consent to Contact by loading the client into the yellow bar, then clicking on the Phone label. This will open up the Contact Phone Details window. The client can only receive appointment reminders if the Cell Phone is using a valid Canadian phone number format and the Consent to Contact by Text for cell is checked.
All clients for a POS did not receive reminders
The criteria for sending out appointments is listed in the external resource. All of the items listed in that section must be true to send. Below are ways to verify the criteria and the statuses of sent reminders.
1. Confirm POS Appointment Reminder Settings
- Through People & Places, open up the POS setting's window
- Go to the Registry Key module. Review the bottom table
- At least one valid key of POS Appointment Reminders Enabled (SMS_ENABLED) must be present. A key item is valid when:
- The value is a numeric whole number (no other values allowed)
- Date From is set to today, a past date, or is empty
- Date To is empty or has a future date
If the POS has at least one valid SMS_ENABLED registry key, go to the next step, which is to review the SMS Log.
2. Review Control Centre > SMS Log
Using the SMS Log module found in the Control Centre > Manage section, we can view all SMS inbound and outbound messages. Review the list which is split into POS nodes. Confirm if the POS has items listed for the sent date in question. If no data exist for that date, check the Scheduled System Task Setting (see next section). If data does exist, review the Status and Error columns. Different actions are required depending on the errors found. Discuss with the Appointment Reminder SME or EMR team for next steps if not obvious. If only a subset are missing or have errors, see the Single/subset of clients did not receive a reminder section.
3. Confirm the Scheduled System Task Setting
This will require a System Administrator's role to verify.
- Go to Organisation > System Tasks Explorer
- In the System Tasks Explorer window, locate the task with Description Message Service "Twilio SMS - AAA" where AAA is the POS code.
- Review the following for that task:
- Last Run Result has text Completed
- Last Run Time makes sense (typical to expect yesterday or earlier same day)
- Status of the task is Enabled
If any of the above are not true, this would explain why all the POS' clients to not receive SMS messages. If all seem valid, next check the Stored Reports (next section).
4. Review Stored Reports
Go to Reports > Stored Reports. The name 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. The description indicates if there are any errors present. There could be a case where all intended reminders failed to send. These errors are produced if the client(s) consented phone number does not fit the valid cell phone format.
Note: there is validation for cell phone format in Client Registration save function, but using a PARIS Update or a manual client import will bypass Client Registration. This is why a final cell phone validation is done right before sending.
5. Confirm the POS' Twilio Service is Enabled
If nothing is obvious from checking the Scheduled System Tasks and Stored Reports, confirm that the POS' Twilio Service is enabled.
- Go To Organisation > Preferences > Setup > eMessages
- Ensure that all the Installed Services that start with Twilio SMS are checked (except for the one with Test in the suffix; that should never be enabled in production). The example screenshot below shows the correct state of two POS' Twilio Services:
- If not checked and it's confirmed the POS should have appointment reminder in live, the EMR System Administration can tick this checkbox and ensure that the next run is set up properly via Schedule System Tasks Explorer
No reminders from any POS were sent today/yesterday
If no reminders were sent today or yesterday, confirm the following:
- Based on the appointments scheduled, are we expecting at least one reminder to send? The full criteria for sending out appointments is listed in the external resource, however the important things to check is if an SMS enabled POS has at least one appointment with a client attached, with an appointment type that requires client interaction, has Send Reminder checked and is not marked cancelled or rescheduled. If at least one reminder is expected to send, move to the next step.
- Review the System Task jobs that start with eMessage Service "Twilio SMS", ignoring the one with Test in the description. If a subset of Twilio SMS tasks have errors, then follow the steps from the section All clients for a POS did not receive reminders. If all others have errors, move to the next step.
- Are the global setup properties correct? Global setting expectations are outlined in the Appointment Reminder Overview.
Send Reminder checkbox is disabled
User complains that the Send Reminder checkbox is non-editable:
If an appointment has a disabled Send Reminder checkbox despite a client being attached, this means that the client has not yet been recorded to consent to contact via text. To remediate, let the user know that the next time they converse with the client to request consent to contact through text messaging, and to confirm their cell phone number. Both of these should be recorded and saved through the Client Registration form. Note that existing appointments by default be unchecked after consent, and new appointments since consent will have it pre-checked. See the contact section in the Client Registration Zendesk article.
Message Invoicing Validation
An SQL query was created to validate the first invoice with active SMS clinics. This was to ensure that the costs listed match close to what we anticipate. If management requests for a validation on an invoice, follow these steps:
- Download the EMR-7406-MsgInvoiceQuery.sql file at the bottom of this article
- (If you do not have SA LAN account, ask the EMR SAs or a technical resource to complete steps 2 - 4) Open the SQL file in Windows SQL Server Management Studio in SPDBSEMR006 (Reporting) server
- Update the parameters, roughly on line 10 - 12:
- vStartDate and vEndDate to the timeframe desired. Note that dates should be in PST; it will automatically convert it to the correct time zone. Also both dates are inclusive in the results.
- vPOS should be the POS' code
- Execute
- Review the results. The categories it should be grouped by are:
- 1 SEGMENT (costing 6 cents each), where the message length is between 0 - 160 characters
- 2 SEGMENTS (costing 12 cents each), where the message length is between 161 - 320 characters
- 3 SEGMENTS (costing 18 cents each), where the message length is between 321 - 480 characters
- MORE THAN 3 SEGMENTS (we'll estimate it at 21 cents each), where the message length is above 480 characters
- Calculate the total cost by multiplying the total number in that segment with the cents associated to it. Sum all the segment costs for the final total.
Notes on the validation:
- The assumption is we are billed on failed and incoming texts even though they are undesired. Therefore they are included in the results
- The cost of 6 cents per segment is for Canada-wide messaging. There is no differentiating between sending to/from outside of Canada, which may incur additional costs. Because we communicated to clinics and added some safeguards to Client Registration, the broad assumption is they should be calculated based off of the Canada-wide cost.
- Any messages sent over 3 segments is highly irregular
- Invoices are sent for 3 months span (ex: billed for Oct 1 2024 - Dec 31 2024)
- Because there are quite a few assumptions, there should be a margin of error considered for validation