51 lines
2.1 KiB
HTML
51 lines
2.1 KiB
HTML
{% if queue_entries %}
|
|
{% for entry in queue_entries %}
|
|
<div class="border-bottom pb-2 mb-2">
|
|
<div class="d-flex justify-content-between align-items-start">
|
|
<div class="flex-grow-1">
|
|
<div class="d-flex align-items-center">
|
|
<span class="badge bg-primary me-2">{{ entry.queue_position }}</span>
|
|
<strong>{{ entry.patient.get_full_name }}</strong>
|
|
{% if entry.priority_score > 1.5 %}
|
|
<span class="badge bg-danger ms-2">Priority</span>
|
|
{% endif %}
|
|
</div>
|
|
<small class="text-muted">
|
|
MRN: {{ entry.patient.mrn }}
|
|
{% if entry.appointment %}
|
|
• {{ entry.appointment.get_appointment_type_display }}
|
|
{% if entry.appointment.chief_complaint %}
|
|
• {{ entry.appointment.chief_complaint|truncatechars:30 }}
|
|
{% endif %}
|
|
{% endif %}
|
|
</small>
|
|
<br>
|
|
<small class="text-muted">
|
|
Waiting: {{ entry.wait_time_minutes }} min
|
|
• Joined: {{ entry.joined_at|date:"H:i" }}
|
|
</small>
|
|
</div>
|
|
<div>
|
|
{% if entry.status == 'WAITING' %}
|
|
<span class="badge bg-warning">Waiting</span>
|
|
{% elif entry.status == 'CALLED' %}
|
|
<span class="badge bg-info">Called</span>
|
|
{% elif entry.status == 'IN_PROGRESS' %}
|
|
<span class="badge bg-success">In Progress</span>
|
|
{% elif entry.status == 'COMPLETED' %}
|
|
<span class="badge bg-success">Completed</span>
|
|
{% elif entry.status == 'NO_SHOW' %}
|
|
<span class="badge bg-secondary">No Show</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% else %}
|
|
<div class="text-center py-3 text-muted">
|
|
<i class="fas fa-users fa-2x mb-2"></i>
|
|
<p>Queue is empty</p>
|
|
</div>
|
|
{% endif %}
|
|
|