SMS Appointment reminders (Automated)

Description

From http://www.openvpms.org/project/sms-project-appointment-reminders-automatic

This project will enable appointment reminders to be automatically sent to customers via SMS.

  • Reminders will be sent for Pending appointments, at a configurable time prior to their start.

  • Reminders will be sent to customers that have a phone contact with Allow SMS ticked

  • Reminder text may contain merged data from the appointment act e.g.:

    "This is a reminder that you have an appointment with Fluffy at X time, X date."

Configuration

Automatic SMS reminders will be configured by a new field on the Practice:

  • SMS Appointment Reminders - specifies how many hours/days/weeks prior to an appointment an SMS should be sent. A value of 0 indicates that no reminders are sent

Appointment changes

If SMS reminders are enabled, appointments will display two new fields:

  • Send SMS Reminder - determines if an SMS reminder should be sent for this appointment.This defaults to true if:

    • SMS reminders are enabled; and

    • the customer can receive SMSes; and

    • the appointment start time doesn't start within the configured reminder interval

  • SMS Reminder Last Sent - date that indicates if an SMS reminder has been sent for the appointment

Users can turn off the Send SMS Reminder flag to disable the reminder for an individual appointment.

Environment

None

Activity

Show:

Tim Anderson November 30, 2015 at 10:04 AM

Changes applied in revision 6840

Tim Anderson November 23, 2015 at 12:35 AM

updated JIRA to reflect project spec

Tim Anderson January 10, 2012 at 1:08 PM
Edited

This would require the following changes to:

  • party.organisationPractice to add the nodes:

    • appointmentSMS - enables/disables appointment reminders by SMS

    • appointmentSMSInterval - the no. of hours, days, or minutes prior to an appointment when reminders should be sent

    • appointmentSMSUnits - determines the units of appointmentSMSInterval

    • appointmentSMSExpression - xpath expression used to generate SMS text. E.g., default could be "concat('You have a veterinary appointment for ', openvpms:get('patient.entity.name'), ' at ', /startTime)"

  • act.patientReminder to add the nodes:

    • sms - indicates that SMS reminders may be sent for the appointment. Defaults to "true"

    • smsLastSentDate - indicates if an SMS reminder has been sent. This is to avoid sending duplicate reminders if the server restarts

  • the appointment editor to:

    • display the "sms" flag if the party.organisationPractice appointmentSMS flag is true.

    • display a hint regarding the customer's SMS status. i.e if the customer has a contact.telephoneNumber with sms enabled/disabled. Displayed subject to the same criteria as the "sms" flag

  • add a scheduler that monitors appointment changes and sends out SMS reminders for those that match have "sms" set true, and whose customer allows SMS reminders.

  • the party.organisationPractice editor to add an expression editor for the appointmentSMSExpression node. This would enable the node to be tested against a sample reminder.

  • log messages to the messaging workspace if an appointment reminder cannot be sent due to the expression exceeding 160 characters

Notes:

  • updates to appointment times would necessitate clearing of the smsLastSentDate so that a new reminder can be sent out (subject to reminder intervals)

  • a customer's contact.telephoneNumber sms node can change subsequent to an appointment being made, so all appointments with "sms" set true need to be evaluated against the customer's SMS preferences, rather than solely relying on the act.patientReminder "sms" node. Similarly, the act.patientReminder "sms" node cannot be defaulted to that of the customer's SMS preferences as a customer SMS preferences can be changed.

Fixed

Details

Assignee

Reporter

Original estimate

Time tracking

32h logged

Components

Fix versions

Priority

Who's Looking?

Open Who's Looking?
Created December 27, 2011 at 1:50 AM
Updated November 6, 2016 at 10:55 PM
Resolved November 30, 2015 at 10:04 AM
Who's Looking?