hospital-management/templates/patients/partials/provider_verification_results.html
Marwan Alwali 610e165e17 update
2025-09-04 19:19:52 +03:00

548 lines
25 KiB
HTML

{% load static %}
<div class="provider-verification-results">
<!-- Verification Header -->
<div class="row mb-4">
<div class="col-12">
<div class="card border-0 shadow-sm">
<div class="card-header {% if verification.status == 'verified' %}bg-success{% elif verification.status == 'expired' or verification.status == 'suspended' %}bg-danger{% elif verification.status == 'pending' %}bg-warning{% else %}bg-secondary{% endif %} text-white">
<div class="d-flex justify-content-between align-items-center">
<h6 class="card-title mb-0">
<i class="fas {% if verification.status == 'verified' %}fa-check-circle{% elif verification.status == 'expired' %}fa-times-circle{% elif verification.status == 'suspended' %}fa-ban{% elif verification.status == 'pending' %}fa-clock{% else %}fa-question-circle{% endif %} me-2"></i>
Provider Verification Results
</h6>
<div class="d-flex align-items-center">
<span class="badge {% if verification.status == 'verified' %}bg-light text-success{% elif verification.status == 'expired' or verification.status == 'suspended' %}bg-light text-danger{% elif verification.status == 'pending' %}bg-light text-warning{% else %}bg-light text-secondary{% endif %} me-2">
{{ verification.status|title }}
</span>
<small>{{ verification.response_time }}</small>
</div>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Provider:</td>
<td>{{ verification.provider }}</td>
</tr>
<tr>
<td class="fw-bold">Policy Number:</td>
<td><code>{{ verification.policy_number }}</code></td>
</tr>
<tr>
<td class="fw-bold">Verification ID:</td>
<td><code>{{ verification.verification_id }}</code></td>
</tr>
</table>
</div>
<div class="col-md-6">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Verification Date:</td>
<td>{{ verification.verification_date }}</td>
</tr>
<tr>
<td class="fw-bold">Response Time:</td>
<td>{{ verification.response_time }}</td>
</tr>
<tr>
<td class="fw-bold">Status:</td>
<td>
<span class="badge {% if verification.status == 'verified' %}bg-success{% elif verification.status == 'expired' or verification.status == 'suspended' %}bg-danger{% elif verification.status == 'pending' %}bg-warning{% else %}bg-secondary{% endif %}">
{{ verification.status|title }}
</span>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
{% if verification.status == 'verified' %}
<!-- Verified Policy Details -->
<div class="row mb-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-primary text-white">
<h6 class="card-title mb-0">
<i class="fas fa-user me-2"></i>Policy Holder Information
</h6>
</div>
<div class="card-body">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Name:</td>
<td>{{ verification.policy_holder.name }}</td>
</tr>
<tr>
<td class="fw-bold">Date of Birth:</td>
<td>{{ verification.policy_holder.dob }}</td>
</tr>
<tr>
<td class="fw-bold">Member ID:</td>
<td><code>{{ verification.policy_holder.member_id }}</code></td>
</tr>
<tr>
<td class="fw-bold">Relationship:</td>
<td>{{ verification.policy_holder.relationship|title }}</td>
</tr>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-info text-white">
<h6 class="card-title mb-0">
<i class="fas fa-shield-alt me-2"></i>Coverage Details
</h6>
</div>
<div class="card-body">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Plan Name:</td>
<td>{{ verification.coverage_details.plan_name }}</td>
</tr>
<tr>
<td class="fw-bold">Plan Type:</td>
<td><span class="badge bg-secondary">{{ verification.coverage_details.plan_type }}</span></td>
</tr>
<tr>
<td class="fw-bold">Effective Date:</td>
<td>{{ verification.coverage_details.effective_date }}</td>
</tr>
<tr>
<td class="fw-bold">Expiration Date:</td>
<td>{{ verification.coverage_details.expiration_date }}</td>
</tr>
<tr>
<td class="fw-bold">Group Number:</td>
<td><code>{{ verification.coverage_details.group_number }}</code></td>
</tr>
<tr>
<td class="fw-bold">Network:</td>
<td>{{ verification.coverage_details.network }}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<!-- Benefits Information -->
<div class="row mb-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-success text-white">
<h6 class="card-title mb-0">
<i class="fas fa-dollar-sign me-2"></i>Financial Benefits
</h6>
</div>
<div class="card-body">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Deductible:</td>
<td>${{ verification.benefits.deductible|floatformat:0 }}</td>
</tr>
<tr>
<td class="fw-bold">Out-of-Pocket Max:</td>
<td>${{ verification.benefits.out_of_pocket_max|floatformat:0 }}</td>
</tr>
<tr>
<td class="fw-bold">Primary Care Copay:</td>
<td>${{ verification.benefits.copay_primary }}</td>
</tr>
<tr>
<td class="fw-bold">Specialist Copay:</td>
<td>${{ verification.benefits.copay_specialist }}</td>
</tr>
<tr>
<td class="fw-bold">Coinsurance:</td>
<td>{{ verification.benefits.coinsurance }}%</td>
</tr>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-warning text-dark">
<h6 class="card-title mb-0">
<i class="fas fa-clipboard-check me-2"></i>Authorization Requirements
</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-12 mb-2">
<div class="d-flex justify-content-between align-items-center">
<span>Prior Authorization Required:</span>
<span class="badge {% if verification.authorization.prior_auth_required %}bg-warning{% else %}bg-success{% endif %}">
{% if verification.authorization.prior_auth_required %}Yes{% else %}No{% endif %}
</span>
</div>
</div>
<div class="col-12 mb-2">
<div class="d-flex justify-content-between align-items-center">
<span>Referral Required:</span>
<span class="badge {% if verification.authorization.referral_required %}bg-warning{% else %}bg-success{% endif %}">
{% if verification.authorization.referral_required %}Yes{% else %}No{% endif %}
</span>
</div>
</div>
<div class="col-12 mb-2">
<div class="d-flex justify-content-between align-items-center">
<span>Pre-certification Required:</span>
<span class="badge {% if verification.authorization.pre_certification_required %}bg-warning{% else %}bg-success{% endif %}">
{% if verification.authorization.pre_certification_required %}Yes{% else %}No{% endif %}
</span>
</div>
</div>
</div>
<hr>
<h6 class="mb-2">Additional Coverage:</h6>
<div class="row">
<div class="col-4">
<small class="d-flex justify-content-between">
<span>Prescription:</span>
<i class="fas {% if verification.benefits.prescription_coverage %}fa-check text-success{% else %}fa-times text-danger{% endif %}"></i>
</small>
</div>
<div class="col-4">
<small class="d-flex justify-content-between">
<span>Dental:</span>
<i class="fas {% if verification.benefits.dental_coverage %}fa-check text-success{% else %}fa-times text-danger{% endif %}"></i>
</small>
</div>
<div class="col-4">
<small class="d-flex justify-content-between">
<span>Vision:</span>
<i class="fas {% if verification.benefits.vision_coverage %}fa-check text-success{% else %}fa-times text-danger{% endif %}"></i>
</small>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Contact Information -->
<div class="row mb-4">
<div class="col-12">
<div class="card border-0 shadow-sm">
<div class="card-header bg-secondary text-white">
<h6 class="card-title mb-0">
<i class="fas fa-phone me-2"></i>Provider Contact Information
</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-3">
<div class="text-center">
<i class="fas fa-phone-alt fa-2x text-primary mb-2"></i>
<h6>Customer Service</h6>
<p class="mb-0"><strong>{{ verification.contact_info.customer_service }}</strong></p>
</div>
</div>
<div class="col-md-3">
<div class="text-center">
<i class="fas fa-user-md fa-2x text-success mb-2"></i>
<h6>Provider Services</h6>
<p class="mb-0"><strong>{{ verification.contact_info.provider_services }}</strong></p>
</div>
</div>
<div class="col-md-3">
<div class="text-center">
<i class="fas fa-globe fa-2x text-info mb-2"></i>
<h6>Website</h6>
<p class="mb-0"><a href="https://{{ verification.contact_info.website }}" target="_blank">{{ verification.contact_info.website }}</a></p>
</div>
</div>
<div class="col-md-3">
<div class="text-center">
<i class="fas fa-envelope fa-2x text-warning mb-2"></i>
<h6>Claims Address</h6>
<p class="mb-0"><small>{{ verification.contact_info.claims_address }}</small></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% elif verification.status == 'not_found' %}
<!-- Policy Not Found -->
<div class="row mb-4">
<div class="col-12">
<div class="alert alert-danger d-flex align-items-center">
<div class="me-3">
<i class="fas fa-exclamation-triangle fa-2x"></i>
</div>
<div class="flex-grow-1">
<h6 class="alert-heading mb-1">Policy Not Found</h6>
<p class="mb-2">{{ verification.error_details.message }}</p>
<hr>
<h6>Suggestions:</h6>
<ul class="mb-0">
{% for suggestion in verification.error_details.suggestions %}
<li>{{ suggestion }}</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% elif verification.status == 'expired' %}
<!-- Expired Policy -->
<div class="row mb-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-danger text-white">
<h6 class="card-title mb-0">
<i class="fas fa-calendar-times me-2"></i>Policy Expired
</h6>
</div>
<div class="card-body">
<table class="table table-sm table-borderless">
<tr>
<td class="fw-bold">Policy Holder:</td>
<td>{{ verification.policy_holder.name }}</td>
</tr>
<tr>
<td class="fw-bold">Member ID:</td>
<td><code>{{ verification.policy_holder.member_id }}</code></td>
</tr>
<tr>
<td class="fw-bold">Expired Date:</td>
<td>{{ verification.expiration_details.expired_date }}</td>
</tr>
<tr>
<td class="fw-bold">Days Expired:</td>
<td><span class="badge bg-danger">{{ verification.expiration_details.days_expired }} days</span></td>
</tr>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-header bg-info text-white">
<h6 class="card-title mb-0">
<i class="fas fa-redo me-2"></i>Renewal Options
</h6>
</div>
<div class="card-body">
<ul class="list-unstyled mb-0">
{% for option in verification.expiration_details.renewal_options %}
<li class="mb-2">
<i class="fas fa-arrow-right text-primary me-2"></i>{{ option }}
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% elif verification.status == 'suspended' %}
<!-- Suspended Policy -->
<div class="row mb-4">
<div class="col-12">
<div class="alert alert-warning d-flex align-items-center">
<div class="me-3">
<i class="fas fa-ban fa-2x"></i>
</div>
<div class="flex-grow-1">
<h6 class="alert-heading mb-1">Policy Suspended</h6>
<div class="row">
<div class="col-md-6">
<p><strong>Reason:</strong> {{ verification.suspension_details.reason }}</p>
<p><strong>Suspended Date:</strong> {{ verification.suspension_details.suspended_date }}</p>
</div>
<div class="col-md-6">
<p><strong>Reinstatement Required:</strong>
{% if verification.suspension_details.reinstatement_required %}
<span class="badge bg-warning">Yes</span>
{% else %}
<span class="badge bg-success">No</span>
{% endif %}
</p>
<p><strong>Contact Provider:</strong>
{% if verification.suspension_details.contact_required %}
<span class="badge bg-danger">Required</span>
{% else %}
<span class="badge bg-success">Not Required</span>
{% endif %}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
{% elif verification.status == 'pending' %}
<!-- Pending Verification -->
<div class="row mb-4">
<div class="col-12">
<div class="alert alert-info d-flex align-items-center">
<div class="me-3">
<i class="fas fa-clock fa-2x"></i>
</div>
<div class="flex-grow-1">
<h6 class="alert-heading mb-1">Verification Pending</h6>
<p><strong>Reason:</strong> {{ verification.pending_details.reason }}</p>
<p><strong>Expected Resolution:</strong> {{ verification.pending_details.expected_resolution }}</p>
<p class="mb-0"><strong>Reference Number:</strong> <code>{{ verification.pending_details.reference_number }}</code></p>
</div>
</div>
</div>
</div>
{% endif %}
<!-- Action Buttons -->
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-between align-items-center">
<div>
<button type="button" class="btn btn-outline-primary btn-sm" onclick="printVerification()">
<i class="fas fa-print me-1"></i>Print Results
</button>
<button type="button" class="btn btn-outline-secondary btn-sm" onclick="saveVerification()">
<i class="fas fa-save me-1"></i>Save to File
</button>
</div>
<div>
{% if verification.status == 'verified' %}
<button type="button" class="btn btn-success btn-sm" onclick="useVerifiedData()">
<i class="fas fa-check me-1"></i>Use Verified Data
</button>
{% endif %}
<button type="button" class="btn btn-primary btn-sm" onclick="verifyAgain()">
<i class="fas fa-redo me-1"></i>Verify Again
</button>
</div>
</div>
</div>
</div>
</div>
<style>
.provider-verification-results .card {
transition: all 0.3s ease;
}
.provider-verification-results .card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}
.provider-verification-results .table td {
padding: 0.5rem 0.75rem;
border: none;
}
.provider-verification-results .table .fw-bold {
width: 40%;
color: #495057;
}
@media (max-width: 768px) {
.provider-verification-results .card-body {
padding: 1rem;
}
.provider-verification-results .table {
font-size: 0.875rem;
}
}
@media print {
.provider-verification-results .btn {
display: none !important;
}
.provider-verification-results .card {
border: 1px solid #000 !important;
box-shadow: none !important;
}
.provider-verification-results .card-header {
background-color: #f8f9fa !important;
color: #000 !important;
border-bottom: 1px solid #000 !important;
}
}
</style>
<script>
function printVerification() {
window.print();
}
function saveVerification() {
// Create a downloadable file with verification results
const verificationData = {
verification_id: '{{ verification.verification_id }}',
provider: '{{ verification.provider }}',
policy_number: '{{ verification.policy_number }}',
status: '{{ verification.status }}',
verification_date: '{{ verification.verification_date }}',
{% if verification.status == 'verified' %}
policy_holder: {
name: '{{ verification.policy_holder.name }}',
member_id: '{{ verification.policy_holder.member_id }}',
dob: '{{ verification.policy_holder.dob }}'
},
coverage_details: {
plan_name: '{{ verification.coverage_details.plan_name }}',
effective_date: '{{ verification.coverage_details.effective_date }}',
expiration_date: '{{ verification.coverage_details.expiration_date }}'
}
{% endif %}
};
const dataStr = JSON.stringify(verificationData, null, 2);
const dataBlob = new Blob([dataStr], {type: 'application/json'});
const link = document.createElement('a');
link.href = URL.createObjectURL(dataBlob);
link.download = `verification_${verificationData.verification_id}.json`;
link.click();
toastr.success('Verification results saved');
}
{% if verification.status == 'verified' %}
function useVerifiedData() {
// Populate form fields with verified data
$('#{{ form.insurance_provider.id_for_label }}').val('{{ verification.provider }}');
$('#{{ form.policy_number.id_for_label }}').val('{{ verification.policy_number }}');
$('#{{ form.member_id.id_for_label }}').val('{{ verification.policy_holder.member_id }}');
$('#{{ form.group_number.id_for_label }}').val('{{ verification.coverage_details.group_number }}');
$('#{{ form.effective_date.id_for_label }}').val('{{ verification.coverage_details.effective_date }}');
$('#{{ form.expiration_date.id_for_label }}').val('{{ verification.coverage_details.expiration_date }}');
$('#{{ form.copay.id_for_label }}').val('{{ verification.benefits.copay_primary }}');
$('#{{ form.deductible.id_for_label }}').val('{{ verification.benefits.deductible }}');
toastr.success('Form populated with verified data');
$('#verificationModal').modal('hide');
}
{% endif %}
function verifyAgain() {
verifyWithProvider();
}
</script>