206 lines
11 KiB
HTML
206 lines
11 KiB
HTML
{% extends 'emails/base_email_template.html' %}
|
|
{% load i18n %}
|
|
|
|
{% block title %}{% trans "URGENT - Second SLA Reminder" %}{% endblock %}
|
|
|
|
{% block preheader %}{% trans "FINAL REMINDER: A complaint is about to breach its SLA. Immediate action required." %}{% endblock %}
|
|
|
|
{% block hero_title %}{% trans "URGENT: Final SLA Reminder" %}{% endblock %}
|
|
|
|
{% block hero_subtitle %}
|
|
{% if is_unassigned %}
|
|
{% trans "An unassigned complaint is about to breach its SLA. This is the FINAL reminder." %}
|
|
{% else %}
|
|
{% trans "This is the second and final SLA reminder. Immediate action required." %}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block extra_styles %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
|
|
<tr>
|
|
<td style="padding-bottom: 20px;">
|
|
<p style="margin: 0; font-size: 16px; color: #1e293b; line-height: 1.6;">
|
|
{% trans "Dear" %} <strong>{{ recipient.get_full_name }}</strong>,
|
|
</p>
|
|
{% if is_unassigned %}
|
|
<p style="margin: 15px 0 0 0; font-size: 16px; color: #64748b; line-height: 1.6;">
|
|
{% trans "CRITICAL: This is an URGENT reminder about an UNASSIGNED complaint that requires IMMEDIATE attention. This complaint has NOT been assigned to anyone and is about to breach its SLA deadline. This is the FINAL reminder before automatic escalation." %}
|
|
</p>
|
|
{% else %}
|
|
<p style="margin: 15px 0 0 0; font-size: 16px; color: #64748b; line-height: 1.6;">
|
|
{% trans "This is the second and final reminder that you have an assigned complaint approaching its SLA deadline. Immediate action is required to avoid escalation." %}
|
|
</p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: 20px 0; background-color: #eef6fb; border-radius: 8px; border: 1px solid #cbd5e1;">
|
|
<tr>
|
|
<td style="padding: 20px;">
|
|
<h3 style="margin: 0 0 15px 0; font-size: 18px; font-weight: 600; color: #005696; text-align: center;">
|
|
{% trans "Complaint Details" %}
|
|
</h3>
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
|
|
<tr>
|
|
<td width="120" style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Reference:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
#{{ complaint.id|slice:":8" }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Title:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{{ complaint.title }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Severity:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{{ complaint.get_severity_display }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Priority:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{{ complaint.get_priority_display }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Category:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{% if complaint.category %}{{ complaint.category.get_localized_name }}{% else %}N/A{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Department:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{% if complaint.department %}{{ complaint.department.get_localized_name }}{% else %}N/A{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Patient:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{% if complaint.patient %}{{ complaint.patient.get_full_name }} (MRN: {{ complaint.patient.mrn }}){% else %}N/A{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: 20px 0; background-color: #eef6fb; border-radius: 8px; border: 1px solid #cbd5e1;">
|
|
<tr>
|
|
<td style="padding: 20px;">
|
|
<h3 style="margin: 0 0 15px 0; font-size: 16px; font-weight: 600; color: #005696; text-align: center;">
|
|
{% trans "SLA Information" %}
|
|
</h3>
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
|
|
<tr>
|
|
<td width="120" style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Due Date:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{{ due_date|date:"F d, Y H:i" }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Time Remaining:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #005696; font-weight: 700;">
|
|
{{ hours_remaining }} {% trans "hours" %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #64748b; font-weight: 500;">
|
|
{% trans "Status:" %}
|
|
</td>
|
|
<td style="padding: 8px 0; font-size: 14px; color: #1e293b; font-weight: 600;">
|
|
{{ complaint.get_status_display }}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">
|
|
<tr>
|
|
<td style="padding: 15px; background-color: #eef6fb; border-left: 4px solid #005696; border-radius: 8px;">
|
|
<p style="margin: 0 0 10px 0; font-size: 14px; font-weight: 600; color: #005696;">
|
|
{% trans "URGENT Action Required:" %}
|
|
</p>
|
|
{% if is_unassigned %}
|
|
<ul style="margin: 0; padding-left: 20px; font-size: 14px; color: #1e293b; line-height: 1.8;">
|
|
<li>{% trans "ASSIGN this complaint to an appropriate staff member IMMEDIATELY" %}</li>
|
|
<li>{% trans "ENSURE the assigned person is aware of the critical deadline" %}</li>
|
|
<li>{% trans "MONITOR progress continuously until resolved" %}</li>
|
|
</ul>
|
|
<p style="margin: 10px 0 0 0; font-size: 14px; color: #1e293b; line-height: 1.6;">
|
|
{% trans "Failure to assign and address this complaint may result in automatic escalation to higher management." %}
|
|
</p>
|
|
{% else %}
|
|
<p style="margin: 0 0 10px 0; font-size: 14px; color: #1e293b; line-height: 1.6;">
|
|
{% trans "This complaint is approaching its SLA deadline. Please review and take immediate action." %}
|
|
</p>
|
|
<ul style="margin: 0; padding-left: 20px; font-size: 14px; color: #1e293b; line-height: 1.8;">
|
|
<li>{% trans "Update the complaint status to reflect current progress" %}</li>
|
|
<li>{% trans "Add a timeline update explaining the delay" %}</li>
|
|
<li>{% trans "Contact your department manager if additional resources are needed" %}</li>
|
|
</ul>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin-top: 25px;">
|
|
<tr>
|
|
<td style="padding: 10px 0; font-size: 11px; color: #94a3b8; border-top: 1px solid #e2e8f0; padding-top: 20px;">
|
|
<p style="margin: 0 0 5px 0; font-size: 13px; color: #64748b; font-weight: 600; direction: rtl; text-align: right;">
|
|
عاجل - تذكير ثاني من اتفاقية مستوى الخدمة - شكوى #{{ complaint.id|slice:":8" }}
|
|
</p>
|
|
<p style="margin: 0; font-size: 12px; color: #94a3b8; direction: rtl; text-align: right; line-height: 1.8;">
|
|
{% if is_unassigned %}
|
|
تنبيه هام: هذا تذكير عاجل بشكوى غير معينة تتطلب اهتماماً فورياً. هذا التذكير النهائي قبل التصعيد التلقائي.<br>
|
|
{% endif %}
|
|
معلومات اتفاقية مستوى الخدمة: تاريخ الاستحقاق {{ due_date|date:"d F Y H:i" }} - الوقت المتبقي: {{ hours_remaining }} ساعة<br>
|
|
{% if not is_unassigned %}
|
|
يرجى المراجعة واتخاذ إجراء فوري لتجنب التصعيد وعواقب تجاوز الموعد.
|
|
{% endif %}
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
{% endblock %}
|
|
|
|
{% block cta_url %}{{ site_url }}/complaints/{{ complaint.id }}/{% endblock %}
|
|
{% block cta_text %}{% trans "View Complaint Now" %}{% endblock %}
|
|
|
|
{% block info_title %}{% trans "Critical Notice" %}{% endblock %}
|
|
{% block info_content %}
|
|
{% trans "This is the final reminder before automatic escalation. Failure to act may result in SLA breach consequences." %}
|
|
{% endblock %}
|
|
|
|
{% block footer_address %}
|
|
PX360 Patient Experience Management System<br>
|
|
Al Hammadi Hospital
|
|
{% endblock %}
|