211 lines
12 KiB
HTML
211 lines
12 KiB
HTML
{% extends "base.html" %}
|
|
{% load i18n static crispy_forms_tags %}
|
|
|
|
{% block title %}{% if form.instance.pk %}{% trans "Edit SLP Consultation" %}{% else %}{% trans "New SLP Consultation" %}{% endif %} - Tenhal{% endblock %}
|
|
|
|
{% block css %}
|
|
<link href="{% static 'plugins/select2/css/select2.min.css' %}" rel="stylesheet" />
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
<div>
|
|
<h1 class="page-header mb-0">
|
|
<i class="fas fa-comments me-2"></i>
|
|
{% if form.instance.pk %}{% trans "Edit SLP Consultation" %}{% else %}{% trans "New SLP Consultation (SLP-F-1)" %}{% endif %}
|
|
</h1>
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="{% url 'core:dashboard' %}">{% trans "Dashboard" %}</a></li>
|
|
<li class="breadcrumb-item"><a href="{% url 'slp:consult_list' %}">{% trans "SLP Consultations" %}</a></li>
|
|
<li class="breadcrumb-item active">{% if form.instance.pk %}{% trans "Edit" %}{% else %}{% trans "New" %}{% endif %}</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
|
|
<form method="post" id="slpConsultForm">
|
|
{% csrf_token %}
|
|
<div class="row">
|
|
<div class="col-lg-9">
|
|
<!-- Basic Information -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-primary text-white">
|
|
<h5 class="mb-0"><i class="fas fa-info-circle me-2"></i>{% trans "Consultation Information" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
{{ form.patient }}
|
|
{{ form.appointment }}
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Consultation Date" %} <span class="text-danger">*</span></label>
|
|
{{ form.consultation_date }}
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Consultation Variant" %} <span class="text-danger">*</span></label>
|
|
<select name="consult_variant" class="form-select" required>
|
|
<option value="">{% trans "Select..." %}</option>
|
|
<option value="ASD" {% if form.instance.consult_variant == "ASD" %}selected{% endif %}>{% trans "Autism Spectrum Disorder" %}</option>
|
|
<option value="LANGUAGE_DELAY" {% if form.instance.consult_variant == "LANGUAGE_DELAY" %}selected{% endif %}>{% trans "Language Delay" %}</option>
|
|
<option value="FLUENCY" {% if form.instance.consult_variant == "FLUENCY" %}selected{% endif %}>{% trans "Fluency Disorder" %}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Type of Service" %} <span class="text-danger">*</span></label>
|
|
<select name="type_of_service" class="form-select" required>
|
|
<option value="">{% trans "Select..." %}</option>
|
|
<option value="CONSULT" {% if form.instance.type_of_service == "CONSULT" %}selected{% endif %}>{% trans "Consultation" %}</option>
|
|
<option value="EVAL" {% if form.instance.type_of_service == "EVAL" %}selected{% endif %}>{% trans "Evaluation" %}</option>
|
|
<option value="INTERVENTION" {% if form.instance.type_of_service == "INTERVENTION" %}selected{% endif %}>{% trans "Intervention" %}</option>
|
|
<option value="PARENT_TRAINING" {% if form.instance.type_of_service == "PARENT_TRAINING" %}selected{% endif %}>{% trans "Parent Training" %}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Provider" %} <span class="text-danger">*</span></label>
|
|
{{ form.provider }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Primary Concern -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-danger text-white">
|
|
<h5 class="mb-0"><i class="fas fa-exclamation-triangle me-2"></i>{% trans "Primary Concern" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="primary_concern" class="form-control" rows="3">{{ form.instance.primary_concern }}</textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Suspected Areas -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-warning text-dark">
|
|
<h5 class="mb-0"><i class="fas fa-list-ul me-2"></i>{% trans "Suspected Problem Areas (JSON Array)" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="suspected_areas" class="form-control" rows="3" placeholder='["Articulation", "Language comprehension", "Social communication"]'>{{ form.instance.suspected_areas|default:"[]" }}</textarea>
|
|
<small class="text-muted">{% trans "Enter as JSON array" %}</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Communication & Environment -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-info text-white">
|
|
<h5 class="mb-0"><i class="fas fa-comment-dots me-2"></i>{% trans "Communication & Environment" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Communication Modes (JSON Array)" %}</label>
|
|
<textarea name="communication_modes" class="form-control" rows="2" placeholder='["Verbal", "Gestures", "AAC device", "Sign language"]'>{{ form.instance.communication_modes|default:"[]" }}</textarea>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">{% trans "Screen Time (hours/day)" %}</label>
|
|
<input type="number" name="screen_time_hours" class="form-control" min="0" max="24" value="{{ form.instance.screen_time_hours }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Variant Questionnaire -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-success text-white">
|
|
<h5 class="mb-0"><i class="fas fa-question-circle me-2"></i>{% trans "Variant-Specific Questionnaire (JSON)" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="variant_questionnaire" class="form-control" rows="5" placeholder='{"question1": "answer1", "question2": "answer2"}'>{{ form.instance.variant_questionnaire|default:"{}" }}</textarea>
|
|
<small class="text-muted">{% trans "Enter variant-specific questions and answers as JSON object" %}</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Skills to Observe -->
|
|
<div class="card mb-3">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-eye me-2"></i>{% trans "Skills to Observe (JSON)" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="skills_to_observe" class="form-control" rows="5" placeholder='{"skill1": "observation1", "skill2": "observation2"}'>{{ form.instance.skills_to_observe|default:"{}" }}</textarea>
|
|
<small class="text-muted">{% trans "Enter skills observation matrix as JSON object" %}</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Oral Motor Screening -->
|
|
<div class="card mb-3">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-mouth-open me-2"></i>{% trans "Oral Motor Screening (JSON)" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="oral_motor_screening" class="form-control" rows="4" placeholder='{"lips": "normal", "tongue": "normal", "jaw": "normal"}'>{{ form.instance.oral_motor_screening|default:"{}" }}</textarea>
|
|
<small class="text-muted">{% trans "Enter oral motor screening results as JSON object" %}</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Recommendations -->
|
|
<div class="card mb-3">
|
|
<div class="card-header bg-secondary text-white">
|
|
<h5 class="mb-0"><i class="fas fa-lightbulb me-2"></i>{% trans "Recommendations" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<textarea name="recommendations" class="form-control" rows="4">{{ form.instance.recommendations }}</textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Submit Buttons -->
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<button type="submit" class="btn btn-primary btn-lg">
|
|
<i class="fas fa-save me-2"></i>{% trans "Save Consultation" %}
|
|
</button>
|
|
<a href="{% url 'slp:consult_list' %}" class="btn btn-outline-secondary btn-lg">
|
|
<i class="fas fa-times me-2"></i>{% trans "Cancel" %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sidebar -->
|
|
<div class="col-lg-3">
|
|
<div class="card mb-3">
|
|
<div class="card-header">
|
|
<h6 class="mb-0"><i class="fas fa-question-circle me-2"></i>{% trans "Help" %}</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="small">{% trans "Complete the SLP consultation form (SLP-F-1)." %}</p>
|
|
<ul class="small">
|
|
<li>{% trans "Select consultation variant" %}</li>
|
|
<li>{% trans "Document primary concern" %}</li>
|
|
<li>{% trans "List suspected areas" %}</li>
|
|
<li>{% trans "Record communication modes" %}</li>
|
|
<li>{% trans "Complete variant questionnaire" %}</li>
|
|
<li>{% trans "Observe skills" %}</li>
|
|
<li>{% trans "Screen oral motor function" %}</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
<script src="{% static 'plugins/select2/dist/js/select2.min.js' %}"></script>
|
|
<script>
|
|
$(document).ready(function() {
|
|
// Get form field IDs dynamically
|
|
var providerId = '#{{ form.provider.id_for_label }}';
|
|
|
|
$(providerId).select2({
|
|
placeholder: '{% trans "Select Provider" %}',
|
|
allowClear: true
|
|
});
|
|
});
|
|
</script>
|
|
{% endblock %}
|