197 lines
9.8 KiB
HTML
197 lines
9.8 KiB
HTML
{% extends 'emails/base_email_template.html' %}
|
|
{% load i18n %}
|
|
|
|
{% block title %}{% trans "SLA Reminder - Complaint" %}{% endblock %}
|
|
|
|
{% block preheader %}{% trans "A complaint is approaching its SLA deadline. Please take action." %}{% endblock %}
|
|
|
|
{% block hero_title %}{% trans "SLA Deadline Reminder" %}{% endblock %}
|
|
|
|
{% block hero_subtitle %}
|
|
{% if is_unassigned %}
|
|
{% trans "An unassigned complaint requires your immediate attention." %}
|
|
{% else %}
|
|
{% trans "An assigned complaint is approaching its SLA deadline." %}
|
|
{% endif %}
|
|
{% 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 "This is a reminder about an UNASSIGNED complaint that needs your attention. This complaint has not yet been assigned to anyone. Please assign it to an appropriate team member as soon as possible." %}
|
|
</p>
|
|
{% else %}
|
|
<p style="margin: 15px 0 0 0; font-size: 16px; color: #64748b; line-height: 1.6;">
|
|
{% trans "This is an automated reminder that you have an assigned complaint approaching its SLA deadline. Please review and take appropriate action." %}
|
|
</p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="margin: 20px 0; background-color: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0;">
|
|
<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 "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 approaching SLA deadline" %}</li>
|
|
<li>{% trans "Monitor progress to ensure timely resolution" %}</li>
|
|
</ul>
|
|
{% else %}
|
|
<p style="margin: 0; font-size: 14px; color: #1e293b; line-height: 1.6;">
|
|
{% trans "Please review this complaint and take appropriate action before the SLA deadline to avoid breach." %}
|
|
</p>
|
|
{% 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:"Y F d 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" %}{% endblock %}
|
|
|
|
{% block info_title %}{% trans "Important" %}{% endblock %}
|
|
{% block info_content %}
|
|
{% if not is_unassigned %}
|
|
{% trans "If you have already addressed this complaint, please update its status in the system." %}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block footer_address %}
|
|
PX360 Patient Experience Management System<br>
|
|
Al Hammadi Hospital
|
|
{% endblock %}
|