BioEcko Docs
Administration

Notifications & Alerts Configuration

The Notifications & Alerts module configures how Bio Ecko communicates with users and patients -- in-app notifications, push notifications, SMS, email, and...

February 2026 · 4 min

Manual area

Admin

Coverage

8 sections

Operator notes

3 implementation notes

Overview

The Notifications & Alerts module configures how Bio Ecko communicates with users and patients -- in-app notifications, push notifications, SMS, email, and WhatsApp messages. It manages notification templates, delivery channels, escalation rules, and quiet hours.

Notification Channels

Configure delivery channels:

  • In-App -- Bell icon notifications visible in the Bio Ecko dashboard (always enabled)
  • Push -- Browser and mobile push notifications for critical alerts
  • Email -- Transactional emails (appointment confirmation, lab results, discharge summary)
  • SMS -- Text messages via configured SMS gateway (patient reminders, OTP)
  • WhatsApp -- Business API integration for rich notifications with buttons

Each notification type can be assigned to one or more channels. Critical alerts (e.g., critical lab value) can be configured to use all channels simultaneously.

Notification Categories

Pre-built notification categories:

  • Clinical -- Critical lab results, medication alerts, deterioration warnings, consult requests
  • Operational -- Appointment reminders, discharge ready, bed available, stock low
  • Administrative -- Approval requests, task assignments, shift reminders, policy updates
  • Patient-Facing -- Appointment confirmations, prescription ready, bill generated, follow-up reminders
  • Financial -- Payment due reminders, claim status updates, budget alerts

Each category can be enabled/disabled per role. Users can also set personal preferences in their profile.

Templates & Personalization

Manage notification templates:

  • Multi-language template support (English, Hindi, and regional languages)
  • Variable placeholders (patient name, doctor name, appointment time, amount)
  • Rich formatting for email and WhatsApp (headers, buttons, images)
  • A/B testing for patient engagement messages
  • Template versioning with approval workflow
  • Preview and test send before activation

Built-in Template Reference

Bio Ecko ships with 8 pre-built notification templates. Each template has a unique key and supports variable placeholders:

appointment_reminder SMS: 'Reminder: Your appointment with Dr. {doctor_name} is on {date} at {time}. Visit {hospital_name}.' Variables: patient_name, doctor_name, date, time, hospital_name

lab_result_ready SMS: 'Your lab results are ready. Please visit {hospital_name} or check your patient portal.' Variables: patient_name, test_name, hospital_name

discharge_notification SMS: 'Dear {patient_name}, you have been discharged from {hospital_name}. Follow-up on {follow_up_date}. Collect medicines from the pharmacy.' Variables: patient_name, hospital_name, follow_up_date, doctor_name

bill_receipt SMS: 'Payment of Rs.{amount} received against bill {bill_number}. Receipt: {receipt_number}. Thank you, {hospital_name}.' Variables: patient_name, amount, bill_number, receipt_number, hospital_name

opd_token SMS: 'Your OPD token number is {token_number} for Dr. {doctor_name}. Estimated wait: {wait_time} mins.' Variables: patient_name, token_number, doctor_name, wait_time

prescription_ready SMS: 'Your prescription is ready for pickup at the pharmacy counter, {hospital_name}.' Variables: patient_name, doctor_name, hospital_name

payment_confirmation SMS: 'Payment of Rs.{amount} received via {payment_mode}. Ref: {reference}. Thank you.' Variables: patient_name, amount, payment_mode, reference, hospital_name

follow_up_reminder SMS: 'Reminder: Your follow-up visit with Dr. {doctor_name} is due on {date}. Please book an appointment at {hospital_name}.' Variables: patient_name, doctor_name, date, hospital_name

Triggering Notifications from Code

The notification service (lib/actions/messaging.ts) provides a programmatic API for sending notifications:

sendNotification(input) Sends a notification via the specified channel. Parameters:

  • organization_id -- Your org ID
  • patient_id -- Target patient
  • channel -- 'sms', 'whatsapp', or 'email'
  • template_key -- One of the built-in template keys (e.g., 'appointment_reminder')
  • variables -- Object with placeholder values (e.g., { doctor_name: 'Dr. Sharma', date: '2026-03-01' })
  • recipient_phone / recipient_email -- Contact details

The system renders the template, replaces all {variable} placeholders, logs the notification to the notification_logs table, and dispatches via the configured gateway.

renderTemplate(templateKey, variables) Returns the rendered message string without sending. Useful for preview.

fetchNotificationLogs(orgId, filters) Query sent notifications by patient, channel, date range, or status. Useful for auditing and debugging delivery issues.

Escalation Rules

Configure escalation for time-sensitive notifications:

  • If not acknowledged within X minutes, escalate to the next level
  • Escalation chain: Staff > Supervisor > HOD > Admin
  • Auto-escalation for critical clinical alerts
  • On-call roster integration (route to the on-call doctor)
  • Quiet hours (do not disturb) with emergency override
  • Notification digest mode (batch low-priority notifications into hourly/daily summaries)

Audit & Analytics

Track notification performance:

  • Delivery status tracking (sent, delivered, read, failed)
  • Channel-wise delivery success rate
  • Average response time for critical alerts
  • Patient engagement metrics (open rate, click rate for WhatsApp/email)
  • Cost tracking for SMS and WhatsApp messages
  • Failed delivery alerts and retry configuration

Notes

Tip

Enable quiet hours (10 PM - 7 AM) for non-critical notifications. Critical clinical alerts always override quiet hours.

Warning

SMS and WhatsApp messages incur per-message costs. Monitor the monthly message volume on the notification analytics dashboard.

Clinic tip

Start with appointment reminder SMS (1 day before and 2 hours before). This alone can reduce no-show rates by 30-40%.

On this page