355 lines
17 KiB
HTML
355 lines
17 KiB
HTML
{% load static %}
|
|
|
|
<div class="eligibility-results">
|
|
<!-- Status Header -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="alert {% if eligibility.status == 'active' %}alert-success{% elif eligibility.status == 'pending' %}alert-warning{% elif eligibility.status == 'expired' %}alert-danger{% else %}alert-secondary{% endif %} d-flex align-items-center">
|
|
<div class="me-3">
|
|
{% if eligibility.status == 'active' %}
|
|
<i class="fas fa-check-circle fa-2x"></i>
|
|
{% elif eligibility.status == 'pending' %}
|
|
<i class="fas fa-clock fa-2x"></i>
|
|
{% elif eligibility.status == 'expired' %}
|
|
<i class="fas fa-times-circle fa-2x"></i>
|
|
{% else %}
|
|
<i class="fas fa-question-circle fa-2x"></i>
|
|
{% endif %}
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h5 class="alert-heading mb-1">
|
|
{% if eligibility.status == 'active' %}
|
|
Coverage Active
|
|
{% elif eligibility.status == 'pending' %}
|
|
Coverage Pending
|
|
{% elif eligibility.status == 'expired' %}
|
|
Coverage Expired
|
|
{% else %}
|
|
Coverage Inactive
|
|
{% endif %}
|
|
</h5>
|
|
<p class="mb-0">
|
|
{% if eligibility.status == 'active' %}
|
|
Patient has active insurance coverage with {{ insurance.insurance_provider }}
|
|
{% elif eligibility.status == 'pending' %}
|
|
Coverage verification is pending with {{ insurance.insurance_provider }}
|
|
{% elif eligibility.status == 'expired' %}
|
|
Coverage has expired. Please verify current insurance status.
|
|
{% else %}
|
|
No active coverage found with {{ insurance.insurance_provider }}
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
<div class="text-end">
|
|
<small class="text-muted">
|
|
<i class="fas fa-clock me-1"></i>
|
|
Checked: {{ eligibility.last_checked }}
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Coverage Details -->
|
|
<div class="row">
|
|
<!-- Basic Information -->
|
|
<div class="col-md-6 mb-4">
|
|
<div class="card h-100">
|
|
<div class="card-header bg-primary text-white">
|
|
<h6 class="card-title mb-0">
|
|
<i class="fas fa-info-circle me-2"></i>Coverage Information
|
|
</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Status:</span>
|
|
<span class="badge {% if eligibility.status == 'active' %}bg-success{% elif eligibility.status == 'pending' %}bg-warning{% elif eligibility.status == 'expired' %}bg-danger{% else %}bg-secondary{% endif %}">
|
|
{{ eligibility.status|title }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Effective Date:</span>
|
|
<span class="fw-bold">{{ eligibility.effective_date }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Expiration Date:</span>
|
|
<span class="fw-bold">{{ eligibility.expiration_date }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Group Number:</span>
|
|
<span class="fw-bold">{{ eligibility.group_number }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Verification ID:</span>
|
|
<span class="fw-bold text-primary">{{ eligibility.verification_id }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Network Status:</span>
|
|
<span class="badge {% if eligibility.network_status == 'in-network' %}bg-success{% elif eligibility.network_status == 'preferred' %}bg-info{% else %}bg-warning{% endif %}">
|
|
{{ eligibility.network_status|title }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Financial Information -->
|
|
<div class="col-md-6 mb-4">
|
|
<div class="card h-100">
|
|
<div class="card-header bg-success text-white">
|
|
<h6 class="card-title mb-0">
|
|
<i class="fas fa-dollar-sign me-2"></i>Financial Details
|
|
</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Deductible Remaining:</span>
|
|
<span class="fw-bold text-success">${{ eligibility.deductible_remaining|floatformat:2 }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Copay Amount:</span>
|
|
<span class="fw-bold text-info">${{ eligibility.copay_amount|floatformat:2 }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Prior Authorization:</span>
|
|
<span class="badge {% if eligibility.prior_authorization_required %}bg-warning{% else %}bg-success{% endif %}">
|
|
{% if eligibility.prior_authorization_required %}Required{% else %}Not Required{% endif %}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
{% if eligibility.status == 'active' %}
|
|
<div class="col-12">
|
|
<div class="progress mb-2">
|
|
{% with deductible_percentage=eligibility.deductible_remaining|floatformat:0|add:0 %}
|
|
{% with progress_value=100|add:deductible_percentage|floatformat:0 %}
|
|
<div class="progress-bar bg-success" role="progressbar" style="width: {% if deductible_percentage > 5000 %}20{% elif deductible_percentage > 2500 %}60{% else %}90{% endif %}%">
|
|
Deductible Progress
|
|
</div>
|
|
{% endwith %}
|
|
{% endwith %}
|
|
</div>
|
|
<small class="text-muted">Deductible utilization this year</small>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Coverage Types -->
|
|
<div class="row">
|
|
<div class="col-12 mb-4">
|
|
<div class="card">
|
|
<div class="card-header bg-info text-white">
|
|
<h6 class="card-title mb-0">
|
|
<i class="fas fa-shield-alt me-2"></i>Coverage Types
|
|
</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if eligibility.coverage_types %}
|
|
<div class="row g-3">
|
|
{% for coverage in eligibility.coverage_types %}
|
|
<div class="col-md-3 col-sm-6">
|
|
<div class="d-flex align-items-center p-3 bg-light rounded">
|
|
<div class="me-3">
|
|
{% if coverage == 'medical' %}
|
|
<i class="fas fa-heartbeat text-danger fa-2x"></i>
|
|
{% elif coverage == 'dental' %}
|
|
<i class="fas fa-tooth text-primary fa-2x"></i>
|
|
{% elif coverage == 'vision' %}
|
|
<i class="fas fa-eye text-info fa-2x"></i>
|
|
{% elif coverage == 'prescription' %}
|
|
<i class="fas fa-pills text-success fa-2x"></i>
|
|
{% else %}
|
|
<i class="fas fa-check-circle text-success fa-2x"></i>
|
|
{% endif %}
|
|
</div>
|
|
<div>
|
|
<div class="fw-bold">{{ coverage|title }}</div>
|
|
<small class="text-success">
|
|
<i class="fas fa-check me-1"></i>Covered
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center py-4">
|
|
<i class="fas fa-exclamation-triangle text-warning fa-3x mb-3"></i>
|
|
<h6 class="text-muted">No Coverage Information Available</h6>
|
|
<p class="text-muted">Unable to retrieve coverage details at this time.</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Patient Information -->
|
|
<div class="row">
|
|
<div class="col-12 mb-4">
|
|
<div class="card">
|
|
<div class="card-header bg-secondary text-white">
|
|
<h6 class="card-title mb-0">
|
|
<i class="fas fa-user me-2"></i>Patient & Policy Information
|
|
</h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h6 class="text-muted mb-3">Patient Details</h6>
|
|
<div class="row g-2">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Name:</span>
|
|
<span class="fw-bold">{{ insurance.patient.get_full_name }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Date of Birth:</span>
|
|
<span class="fw-bold">{{ insurance.patient.date_of_birth|date:"M d, Y" }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Patient ID:</span>
|
|
<span class="fw-bold">{{ insurance.patient.patient_id }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h6 class="text-muted mb-3">Policy Details</h6>
|
|
<div class="row g-2">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Provider:</span>
|
|
<span class="fw-bold">{{ insurance.insurance_provider }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Policy Number:</span>
|
|
<span class="fw-bold">{{ insurance.policy_number }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-muted">Member ID:</span>
|
|
<span class="fw-bold">{{ insurance.member_id }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Action Buttons -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<div>
|
|
<small class="text-muted">
|
|
<i class="fas fa-info-circle me-1"></i>
|
|
This eligibility verification is valid for 24 hours from the check time.
|
|
</small>
|
|
</div>
|
|
<div>
|
|
<button type="button" class="btn btn-outline-primary btn-sm me-2" onclick="printEligibility()">
|
|
<i class="fas fa-print me-1"></i>Print Results
|
|
</button>
|
|
<button type="button" class="btn btn-outline-success btn-sm me-2" onclick="saveEligibility()">
|
|
<i class="fas fa-save me-1"></i>Save to Records
|
|
</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="checkEligibility()">
|
|
<i class="fas fa-sync-alt me-1"></i>Refresh Check
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.eligibility-results .card {
|
|
border: none;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.eligibility-results .card:hover {
|
|
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.eligibility-results .progress {
|
|
height: 8px;
|
|
}
|
|
|
|
.eligibility-results .bg-light {
|
|
background-color: #f8f9fa !important;
|
|
border: 1px solid #e9ecef;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.eligibility-results .bg-light:hover {
|
|
background-color: #e9ecef !important;
|
|
border-color: #dee2e6;
|
|
}
|
|
|
|
@media print {
|
|
.eligibility-results .btn {
|
|
display: none !important;
|
|
}
|
|
|
|
.eligibility-results .card {
|
|
border: 1px solid #000 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.eligibility-results .card-header {
|
|
background-color: #f8f9fa !important;
|
|
color: #000 !important;
|
|
border-bottom: 1px solid #000 !important;
|
|
}
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
function printEligibility() {
|
|
window.print();
|
|
}
|
|
|
|
function saveEligibility() {
|
|
// Implementation for saving eligibility results to patient records
|
|
toastr.success('Eligibility results saved to patient records');
|
|
}
|
|
</script>
|
|
|