agdar/core/templates/clinic/encounter_detail.html
Marwan Alwali a788c086ae update
2025-11-02 18:05:50 +03:00

300 lines
14 KiB
HTML

{% extends "base.html" %}
{% load i18n static patient_tags %}
{% block title %}{% trans "Encounter Details" %} - {{ block.super }}{% endblock %}
{% block content %}
<div class="container-fluid">
<!-- Page Header -->
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3 mb-0">
<i class="fa fa-stethoscope me-2"></i>{% trans "Clinical Encounter" %}
</h1>
<div class="btn-group">
<a href="{% url 'clinic:encounter-update' encounter.pk %}" class="btn btn-warning">
<i class="fa fa-edit me-1"></i>{% trans "Edit" %}
</a>
<a href="{% url 'clinic:encounter-list' %}" class="btn btn-secondary">
<i class="fa fa-arrow-left me-1"></i>{% trans "Back to List" %}
</a>
</div>
</div>
<div class="row">
<!-- Main Content -->
<div class="col-md-8">
<!-- Encounter Information -->
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Encounter Information" %}</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<dl class="row">
<dt class="col-sm-5">{% trans "Patient" %}:</dt>
<dd class="col-sm-7">
<a href="{% url 'core:patient-detail' encounter.patient.pk %}">
{% patient_name encounter.patient %}
</a>
</dd>
<dt class="col-sm-5">{% trans "Date" %}:</dt>
<dd class="col-sm-7">{{ encounter.encounter_datetime|date:"Y-m-d" }}</dd>
<dt class="col-sm-5">{% trans "Service" %}:</dt>
<dd class="col-sm-7">
<span class="badge bg-primary">{{ encounter.service.name }}</span>
</dd>
<dt class="col-sm-5">{% trans "Provider" %}:</dt>
<dd class="col-sm-7">{{ encounter.provider.get_full_name }}</dd>
</dl>
</div>
<div class="col-md-6">
<dl class="row">
<dt class="col-sm-5">{% trans "Status" %}:</dt>
<dd class="col-sm-7">
<span class="badge bg-{% if encounter.status == 'COMPLETED' %}success{% elif encounter.status == 'IN_PROGRESS' %}warning{% else %}secondary{% endif %}">
{{ encounter.get_status_display }}
</span>
</dd>
{% if encounter.room %}
<dt class="col-sm-5">{% trans "Room" %}:</dt>
<dd class="col-sm-7">{{ encounter.room.name }}</dd>
{% endif %}
<dt class="col-sm-5">{% trans "Duration" %}:</dt>
<dd class="col-sm-7">{{ encounter.duration_minutes }} {% trans "minutes" %}</dd>
</dl>
</div>
</div>
</div>
</div>
<!-- Vitals -->
{% if encounter.vitals %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">
<i class="fa fa-heartbeat me-2"></i>{% trans "Vital Signs" %}
</h5>
</div>
<div class="card-body">
<div class="row">
{% if encounter.vitals.temperature %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-thermometer-half fa-2x text-danger mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.temperature }}°C</h4>
<small class="text-muted">{% trans "Temperature" %}</small>
</div>
</div>
{% endif %}
{% if encounter.vitals.blood_pressure %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-heart fa-2x text-danger mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.blood_pressure }}</h4>
<small class="text-muted">{% trans "Blood Pressure" %}</small>
</div>
</div>
{% endif %}
{% if encounter.vitals.heart_rate %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-heartbeat fa-2x text-primary mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.heart_rate }} bpm</h4>
<small class="text-muted">{% trans "Heart Rate" %}</small>
</div>
</div>
{% endif %}
{% if encounter.vitals.weight %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-weight fa-2x text-success mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.weight }} kg</h4>
<small class="text-muted">{% trans "Weight" %}</small>
</div>
</div>
{% endif %}
{% if encounter.vitals.height %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-ruler-vertical fa-2x text-info mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.height }} cm</h4>
<small class="text-muted">{% trans "Height" %}</small>
</div>
</div>
{% endif %}
{% if encounter.vitals.oxygen_saturation %}
<div class="col-md-3 mb-3">
<div class="text-center">
<i class="fa fa-lungs fa-2x text-primary mb-2"></i>
<h4 class="mb-0">{{ encounter.vitals.oxygen_saturation }}%</h4>
<small class="text-muted">{% trans "O2 Saturation" %}</small>
</div>
</div>
{% endif %}
</div>
</div>
</div>
{% endif %}
<!-- Chief Complaint -->
{% if encounter.chief_complaint %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Chief Complaint" %}</h5>
</div>
<div class="card-body">
<p class="mb-0">{{ encounter.chief_complaint }}</p>
</div>
</div>
{% endif %}
<!-- Assessment -->
{% if encounter.assessment %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Assessment" %}</h5>
</div>
<div class="card-body">
<p class="mb-0">{{ encounter.assessment }}</p>
</div>
</div>
{% endif %}
<!-- Treatment Plan -->
{% if encounter.treatment_plan %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Treatment Plan" %}</h5>
</div>
<div class="card-body">
<p class="mb-0">{{ encounter.treatment_plan }}</p>
</div>
</div>
{% endif %}
<!-- Notes -->
{% if encounter.notes %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Additional Notes" %}</h5>
</div>
<div class="card-body">
<p class="mb-0">{{ encounter.notes }}</p>
</div>
</div>
{% endif %}
</div>
<!-- Sidebar -->
<div class="col-md-4">
<!-- Related Documents -->
<div class="card mb-4">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="card-title mb-0">{% trans "Clinical Notes" %}</h5>
<a href="{% url 'documents:note-create' %}?encounter={{ encounter.pk }}" class="btn btn-sm btn-primary">
<i class="fa fa-plus"></i>
</a>
</div>
<div class="card-body">
{% if encounter.note_set.all %}
<div class="list-group list-group-flush">
{% for note in encounter.note_set.all %}
<a href="{% url 'documents:note-detail' note.pk %}" class="list-group-item list-group-item-action">
<div class="d-flex justify-content-between align-items-start">
<div>
<strong>{{ note.title }}</strong>
<br>
<small class="text-muted">{{ note.get_category_display }}</small>
</div>
{% if note.is_locked %}
<i class="fa fa-lock text-danger"></i>
{% endif %}
</div>
</a>
{% endfor %}
</div>
{% else %}
<p class="text-muted mb-0">{% trans "No clinical notes yet." %}</p>
{% endif %}
</div>
</div>
<!-- Related Assessments -->
<div class="card mb-4">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="card-title mb-0">{% trans "Assessments" %}</h5>
<a href="{% url 'clinic:assessment-create' %}?encounter={{ encounter.pk }}" class="btn btn-sm btn-primary">
<i class="fa fa-plus"></i>
</a>
</div>
<div class="card-body">
{% if encounter.assessment_set.all %}
<div class="list-group list-group-flush">
{% for assessment in encounter.assessment_set.all %}
<a href="{% url 'clinic:assessment-detail' assessment.pk %}" class="list-group-item list-group-item-action">
<div>
<strong>{{ assessment.get_assessment_type_display }}</strong>
<br>
<small class="text-muted">{{ assessment.assessment_date|date:"Y-m-d" }}</small>
</div>
</a>
{% endfor %}
</div>
{% else %}
<p class="text-muted mb-0">{% trans "No assessments yet." %}</p>
{% endif %}
</div>
</div>
<!-- Follow-up -->
{% if encounter.follow_up_date %}
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Follow-up" %}</h5>
</div>
<div class="card-body">
<div class="text-center">
<i class="fa fa-calendar-check fa-3x text-primary mb-3"></i>
<h5>{{ encounter.follow_up_date|date:"Y-m-d" }}</h5>
{% if encounter.follow_up_notes %}
<p class="text-muted mb-0">{{ encounter.follow_up_notes }}</p>
{% endif %}
</div>
</div>
</div>
{% endif %}
<!-- Metadata -->
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Metadata" %}</h5>
</div>
<div class="card-body">
<dl class="row mb-0">
<dt class="col-sm-6">{% trans "Created" %}:</dt>
<dd class="col-sm-6">{{ encounter.created_at|date:"Y-m-d H:i" }}</dd>
<dt class="col-sm-6">{% trans "Updated" %}:</dt>
<dd class="col-sm-6">{{ encounter.updated_at|date:"Y-m-d H:i" }}</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
{% endblock %}