251 lines
11 KiB
HTML
251 lines
11 KiB
HTML
{% extends "base.html" %}
|
|
{% load static %}
|
|
|
|
{% block title %}Patient Registration - {{ block.super }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
|
|
<div class="panel panel-inverse">
|
|
<div class="panel-heading">
|
|
<h4 class="panel-title">
|
|
<i class="fas fa-user-plus me-2"></i>Patient Registration
|
|
</h4>
|
|
<div class="panel-heading-btn">
|
|
<a href="javascript:;" class="btn btn-xs btn-icon btn-default" data-toggle="panel-expand"><i class="fa fa-expand"></i></a>
|
|
<a href="javascript:;" class="btn btn-xs btn-icon btn-success" data-toggle="panel-reload"><i class="fa fa-redo"></i></a>
|
|
<a href="javascript:;" class="btn btn-xs btn-icon btn-warning" data-toggle="panel-collapse"><i class="fa fa-minus"></i></a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
|
{{ message }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if form.non_field_errors %}
|
|
<div class="alert alert-danger">
|
|
{{ form.non_field_errors }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form id="patient-registration-form" method="post" novalidate>
|
|
{% csrf_token %}
|
|
|
|
<!-- Personal Information -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<h5 class="border-bottom pb-2">Personal Information</h5>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.first_name.id_for_label }}" class="form-label">First Name *</label>
|
|
{{ form.first_name }}
|
|
{% if form.first_name.errors %}<div class="invalid-feedback d-block">{{ form.first_name.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.last_name.id_for_label }}" class="form-label">Last Name *</label>
|
|
{{ form.last_name }}
|
|
{% if form.last_name.errors %}<div class="invalid-feedback d-block">{{ form.last_name.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.middle_name.id_for_label }}" class="form-label">Middle Name</label>
|
|
{{ form.middle_name }}
|
|
{% if form.middle_name.errors %}<div class="invalid-feedback d-block">{{ form.middle_name.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.preferred_name.id_for_label }}" class="form-label">Preferred Name</label>
|
|
{{ form.preferred_name }}
|
|
{% if form.preferred_name.errors %}<div class="invalid-feedback d-block">{{ form.preferred_name.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.suffix.id_for_label }}" class="form-label">Suffix</label>
|
|
{{ form.suffix }}
|
|
{% if form.suffix.errors %}<div class="invalid-feedback d-block">{{ form.suffix.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.id_number.id_for_label }}" class="form-label">ID Number</label>
|
|
{{ form.id_number }}
|
|
{% if form.id_number.errors %}<div class="invalid-feedback d-block">{{ form.id_number.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.date_of_birth.id_for_label }}" class="form-label">Date of Birth *</label>
|
|
{{ form.date_of_birth }}
|
|
{% if form.date_of_birth.errors %}<div class="invalid-feedback d-block">{{ form.date_of_birth.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.gender.id_for_label }}" class="form-label">Gender *</label>
|
|
{{ form.gender }}
|
|
{% if form.gender.errors %}<div class="invalid-feedback d-block">{{ form.gender.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.marital_status.id_for_label }}" class="form-label">Marital Status</label>
|
|
{{ form.marital_status }}
|
|
{% if form.marital_status.errors %}<div class="invalid-feedback d-block">{{ form.marital_status.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Contact Information -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<h5 class="border-bottom pb-2">Contact Information</h5>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.phone_number.id_for_label }}" class="form-label">Phone Number</label>
|
|
{{ form.phone_number }}
|
|
{% if form.phone_number.errors %}<div class="invalid-feedback d-block">{{ form.phone_number.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.mobile_number.id_for_label }}" class="form-label">Mobile Number</label>
|
|
{{ form.mobile_number }}
|
|
{% if form.mobile_number.errors %}<div class="invalid-feedback d-block">{{ form.mobile_number.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.email.id_for_label }}" class="form-label">Email</label>
|
|
{{ form.email }}
|
|
{% if form.email.errors %}<div class="invalid-feedback d-block">{{ form.email.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Address -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<h5 class="border-bottom pb-2">Address</h5>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.address_line_1.id_for_label }}" class="form-label">Address Line 1</label>
|
|
{{ form.address_line_1 }}
|
|
{% if form.address_line_1.errors %}<div class="invalid-feedback d-block">{{ form.address_line_1.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.address_line_2.id_for_label }}" class="form-label">Address Line 2</label>
|
|
{{ form.address_line_2 }}
|
|
{% if form.address_line_2.errors %}<div class="invalid-feedback d-block">{{ form.address_line_2.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.city.id_for_label }}" class="form-label">City</label>
|
|
{{ form.city }}
|
|
{% if form.city.errors %}<div class="invalid-feedback d-block">{{ form.city.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.state.id_for_label }}" class="form-label">State/Province</label>
|
|
{{ form.state }}
|
|
{% if form.state.errors %}<div class="invalid-feedback d-block">{{ form.state.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="mb-3">
|
|
<label for="{{ form.zip_code.id_for_label }}" class="form-label">ZIP/Postal Code</label>
|
|
{{ form.zip_code }}
|
|
{% if form.zip_code.errors %}<div class="invalid-feedback d-block">{{ form.zip_code.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.country.id_for_label }}" class="form-label">Country</label>
|
|
{{ form.country }}
|
|
{% if form.country.errors %}<div class="invalid-feedback d-block">{{ form.country.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Other -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<h5 class="border-bottom pb-2">Other</h5>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="mb-3">
|
|
<label for="{{ form.occupation.id_for_label }}" class="form-label">Occupation</label>
|
|
{{ form.occupation }}
|
|
{% if form.occupation.errors %}<div class="invalid-feedback d-block">{{ form.occupation.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 d-flex align-items-center">
|
|
<div class="form-check mb-3">
|
|
{{ form.is_active }}
|
|
<label class="form-check-label ms-1" for="{{ form.is_active.id_for_label }}">Active</label>
|
|
{% if form.is_active.errors %}<div class="invalid-feedback d-block">{{ form.is_active.errors.0 }}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Actions -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-end gap-2">
|
|
<a href="{% url 'patients:patient_list' %}" class="btn btn-secondary">Cancel</a>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fas fa-save me-1"></i>Register Patient
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div> <!-- /panel-body -->
|
|
</div> <!-- /panel -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block js %}{% endblock %} |