92 lines
3.9 KiB
HTML
92 lines
3.9 KiB
HTML
{% if encounters %}
|
|
{% for encounter in encounters %}
|
|
<tr>
|
|
<td>
|
|
<strong>{{ encounter.patient.get_full_name }}</strong><br>
|
|
<small class="text-muted">
|
|
MRN: {{ encounter.patient.mrn }} •
|
|
{{ encounter.patient.age }}y {{ encounter.patient.get_gender_display }}
|
|
</small>
|
|
</td>
|
|
<td>{{ encounter.start_datetime|date:"M d, Y H:i" }}</td>
|
|
<td>{{ encounter.get_encounter_type_display }}</td>
|
|
<td>
|
|
{% if encounter.provider %}
|
|
{{ encounter.provider.get_full_name }}
|
|
{% else %}
|
|
<span class="text-muted">Not assigned</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ encounter.chief_complaint|truncatechars:50|default:"Not specified" }}</td>
|
|
<td>
|
|
{% if encounter.status == 'SCHEDULED' %}
|
|
<span class="badge bg-info">Scheduled</span>
|
|
{% elif encounter.status == 'ARRIVED' %}
|
|
<span class="badge bg-warning">Arrived</span>
|
|
{% elif encounter.status == 'TRIAGED' %}
|
|
<span class="badge bg-primary">Triaged</span>
|
|
{% elif encounter.status == 'IN_PROGRESS' %}
|
|
<span class="badge bg-success">In Progress</span>
|
|
{% elif encounter.status == 'ON_HOLD' %}
|
|
<span class="badge bg-secondary">On Hold</span>
|
|
{% elif encounter.status == 'FINISHED' %}
|
|
<span class="badge bg-success">Finished</span>
|
|
{% elif encounter.status == 'CANCELLED' %}
|
|
<span class="badge bg-danger">Cancelled</span>
|
|
{% elif encounter.status == 'NO_SHOW' %}
|
|
<span class="badge bg-secondary">No Show</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if encounter.end_datetime %}
|
|
{{ encounter.duration_minutes }} min
|
|
{% elif encounter.status == 'IN_PROGRESS' %}
|
|
<span class="text-muted">Ongoing</span>
|
|
{% else %}
|
|
<span class="text-muted">-</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<div class="btn-group btn-group-sm">
|
|
<a href="{% url 'emr:encounter_detail' encounter.id %}"
|
|
class="btn btn-outline-primary" title="View Details">
|
|
<i class="fas fa-eye"></i>
|
|
</a>
|
|
{% if encounter.status == 'ARRIVED' or encounter.status == 'TRIAGED' %}
|
|
<button class="btn btn-outline-success"
|
|
title="Start Encounter"
|
|
hx-post="{% url 'emr:start_encounter' encounter.id %}"
|
|
hx-confirm="Start this encounter?"
|
|
hx-swap="none">
|
|
<i class="fas fa-play"></i>
|
|
</button>
|
|
{% elif encounter.status == 'IN_PROGRESS' %}
|
|
<button class="btn btn-outline-warning"
|
|
title="Complete Encounter"
|
|
hx-post="{% url 'emr:complete_encounter' encounter.id %}"
|
|
hx-confirm="Complete this encounter?"
|
|
hx-swap="none">
|
|
<i class="fas fa-check"></i>
|
|
</button>
|
|
{% endif %}
|
|
<button class="btn btn-outline-info" title="Add Note">
|
|
<i class="fas fa-sticky-note"></i>
|
|
</button>
|
|
<button class="btn btn-outline-secondary" title="Vitals">
|
|
<i class="fas fa-heartbeat"></i>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% else %}
|
|
<tr>
|
|
<td colspan="8" class="text-center py-4">
|
|
<i class="fas fa-notes-medical fa-3x text-muted mb-3"></i>
|
|
<h5 class="text-muted">No encounters found</h5>
|
|
<p class="text-muted">No encounters match your search criteria.</p>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|