Practitioner Communication History - hmislk/hmis GitHub Wiki
Practitioner β Communication History
When HMIS sends a short message in response to a doctor event β a channel booking on a doctor's session, the doctor's arrival, a booking cancellation, a payment, or the daily referring-doctor summary β every dispatch is logged. The logs let you confirm whether a message reached the gateway and whether the gateway accepted it. This article shows how to find those messages and what to do when something fails.
This article is for the end user (cashier, reception, or audit). The administrator-side configuration of which triggers fire and what template text is used lives in Admin β Channel Doctor Notification SMS.
Doctor-related SMS triggers
HMIS dispatches the following channel-doctor messages when the corresponding setting is enabled:
| Trigger | Default audience | Template setting |
|---|---|---|
| Channel booking confirmed | Patient | smsTemplateForChannelBooking |
| Channel booking cancellation | Patient | smsTemplateForChannelBookingCancellation |
| Doctor arrival at clinic | Patients in the session | smsTemplateForChannelDoctorArrival |
| Booking completion | Patient | smsTemplateForChannelBookingCompletion |
| No-show booking | Patient | smsTemplateForChannelBookingNoShow |
| Doctor payment confirmation | Doctor | smsTemplateForChannelBookingDoctorPayment |
| Daily summary for referring doctors | Doctor | (composed in code; gated by sentDailySmsSummeryForReferringDoctors) |
Whether each of these fires for any given event is controlled by matching sendSmsOn⦠flags on the user preferences. The history screens described below log every dispatch regardless of trigger.
All SMS list
Use this screen to see every SMS the system has sent (or tried to send).
Navigation
Top menu β Analytics β SMS Reports β All SMS (the exact menu wording depends on your installation).
Path: /analytics/sms_list.xhtml.
Privilege required: typically Analytics plus an SMS-list privilege if configured.
Filters
| Filter | Notes |
|---|---|
| From Date / To Date | Required date-time range. Pattern uses the application's long date-time format. |
Click Search to populate the grid. Excel exports the grid to All SMS.xlsx.
Grid columns
| Column | Notes |
|---|---|
| # | Row number. |
| ID | The SMS record ID (useful when raising a support ticket). |
| Create At | Timestamp the system queued the SMS. |
| SMS Type | The trigger that caused the dispatch (e.g., ChannelBooking, ChannelDoctorArrival, OpdBill, etc.). Filter by typing in the column. |
| Message | Final message text after template substitution. |
| Phone Number | The destination mobile number. Filter by typing. |
| Status | Green Success tag or red Failed tag. |
Practical uses
- "Did the patient receive the doctor-arrival SMS this morning?" β filter SMS Type contains
Arrival, set today's date range, look for the patient. - "What exactly did we send to the doctor yesterday?" β filter by SMS Type and date; the Message column shows the final substituted text.
Failed SMS list
The Failed list shows only the messages where the gateway refused or returned an error.
Navigation
Top menu β Analytics β SMS Reports β Failed SMS.
Path: /analytics/sms_faild.xhtml.
Filters and grid
Same date-range filters as the All SMS list. The grid additionally surfaces the Patient column (where applicable) for quick scanning. The Status column is implicitly Failed for every row.
When to use it
- A doctor reports they did not get the daily summary SMS yesterday. Filter Failed SMS by date and look for their mobile number; if the entry is here, the gateway rejected the message. Check the recipient phone number and the doctor's mobile on their staff record (Practitioner β Register a Doctor).
- A patient says they did not receive a booking confirmation. Look here first; if you do not find a failed record, also check the All SMS list to confirm the system queued anything at all.
SMS Report (consolidated)
A higher-level report at the path /sms_report.xhtml combines counts of sent vs failed messages by type and by day. Use it for monthly review of SMS volume and reliability.
Send Custom SMS
For ad-hoc messaging outside the doctor-event triggers, use Analytics β SMS Send (/analytics/sms_send.xhtml). Type the recipient phone number and message body. This is convenient for one-off notices but it does not populate the doctor-event triggers β sending a custom SMS does not record the message under, say, ChannelDoctorArrival. It is recorded with a custom-send type.
Why a message might be missing or failed
| Symptom | Likely cause | Remedy |
|---|---|---|
| No record at all for an event you expected | The sendSmsOn⦠flag for that event is off, or the recipient (doctor or patient) has no mobile number on file. |
Ask the administrator to enable the flag (Admin β Channel Doctor Notification SMS) and verify the mobile number on the practitioner / patient record. |
| Record present, marked Failed | Gateway error (bad credentials, expired credits, malformed phone number, network outage). | Check the gateway dashboard. If credentials or quota are the cause, the administrator must fix them (SMS Configuration and Gateway Setup). |
| Record present, Success, but recipient says no SMS | Telecom-side delivery failure (mostly invisible to HMIS). The gateway returns Success when it accepts the message; delivery to the handset is a downstream event the gateway provider tracks separately. | Confirm the gateway-side delivery report. |
Cannot resend automatically
There is no built-in Retry button on a failed SMS. To resend the same content:
- For doctor-event triggers, re-do the action (e.g., cancel and rebook). HMIS will re-fire the SMS.
- For ad-hoc messages, copy the body from the failed record into the Send Custom SMS form and submit again, after first fixing the cause of the failure.
Limitations
- The SMS history is keyed by phone number. If a doctor's mobile number was wrong at the time the message went out, the history shows it sent to the wrong number; fixing the number now does not re-deliver yesterday's message.
- The grid does not record which template version was used. If the administrator edits the template halfway through the day, both old and new messages appear with whatever text was sent at the time.
- "Daily summary for referring doctors" is composed in code rather than from a single template field, so its log entry shows a longer, free-form Message body unique to each doctor's daily activity.
Related articles
- Admin β Channel Doctor Notification SMS
- SMS Configuration and Gateway Setup β administrator-side gateway setup
- SMS Notifications in Channelling β patient-side description of channelling SMS
- Practitioner β Register a Doctor