<?php
session_start();
require_once 'config/database.php';
require_once 'includes/auth.php';
require_once 'includes/translation.php';
require_once 'includes/functions.php';

if (!isset($_SESSION['user_id'])) {
    redirect('login.php');
}

$db = new Database();
$conn = $db->getConnection();

// Get report ID from URL
$report_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

if (!$report_id) {
    header("Location: " . (isset($_SERVER["HTTPS"]) ? "https" : "http") . "://" . $_SERVER["HTTP_HOST"] . rtrim(dirname($_SERVER["SCRIPT_NAME"]), "/\\") . "/" . "reports.php");
    exit();
}

// Get report details
$stmt = $conn->prepare("
    SELECT 
        ar.*,
        p.patient_name,
        p.mrn,
        p.gender,
        COALESCE(a.antibiotic_name, ar.other_medication_name, 'غير محدد') as antibiotic_name,
        u.unit_name,
        usr.full_name as pharmacist_name
    FROM antibiotic_reports ar
    JOIN patients p ON ar.patient_id = p.id
    LEFT JOIN antibiotics a ON ar.antibiotic_id = a.id
    JOIN units u ON ar.unit_id = u.id
    JOIN users usr ON ar.reporting_pharmacist_id = usr.id
    WHERE ar.id = ?
");
$stmt->execute([$report_id]);
$report = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$report) {
    header("Location: " . (isset($_SERVER["HTTPS"]) ? "https" : "http") . "://" . $_SERVER["HTTP_HOST"] . rtrim(dirname($_SERVER["SCRIPT_NAME"]), "/\\") . "/" . "reports.php");
    exit();
}

// Get problem definitions
$stmt = $conn->prepare("SELECT problem_type FROM problem_definitions WHERE report_id = ?");
$stmt->execute([$report_id]);
$problem_definitions = $stmt->fetchAll(PDO::FETCH_COLUMN);

// Get attachments
$stmt = $conn->prepare("SELECT * FROM report_attachments WHERE report_id = ?");
$stmt->execute([$report_id]);
$attachments = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Decode JSON fields
$intervention_choices = json_decode($report['intervention_choice'], true) ?? [];
$degree_of_damage = json_decode($report['degree_of_damage'], true) ?? [];

// Set page title
$page_title = __('view_medical_event_page') . ' - ' . __('system_name');

// Include header
include 'includes/header.php';
?>

<style>
.info-section {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.info-section h5 {
    background: #6f42c1;
    color: white;
    margin: -20px -20px 20px -20px;
    padding: 15px 20px;
    border-radius: 7px 7px 0 0;
    font-weight: bold;
}

.info-row {
    display: flex;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
}

.info-label {
    font-weight: bold;
    min-width: 150px;
    color: #495057;
}

.info-value {
    flex: 1;
    color: #212529;
}

.badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.status-badge {
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 0.85em;
    font-weight: 500;
}

.status-pending { background-color: #fff3cd; color: #856404; }
.status-completed { background-color: #d1edff; color: #0c5460; }
.status-cancelled { background-color: #f8d7da; color: #721c24; }

@media print {
    .no-print { display: none !important; }
    .info-section { break-inside: avoid; }
}
</style>

<!-- Main Content -->

    <div class="d-flex justify-content-between align-items-center mb-4 no-print">
        <h1 class="h3 mb-0"><?php echo __('view_medical_event_page'); ?> #<?php echo $report['id']; ?></h1>
        <div>
            <button type="button" class="btn btn-outline-primary me-2" onclick="window.print()">
                <i class="fas fa-print"></i> <?php echo __('print'); ?>
            </button>
            <a href="clinical_pharmacy_intervention.php" class="btn btn-outline-warning me-2">
                <i class="fas fa-edit"></i> <?php echo __('edit'); ?>
            </a>
            <a href="reports.php" class="btn btn-secondary">
                <i class="fas fa-arrow-<?php echo Translation::getDirection() == 'rtl' ? 'right' : 'left'; ?>"></i> <?php echo __('back_to_reports'); ?>
            </a>
        </div>
    </div>

    <!-- Basic Information -->
    <div class="info-section">
        <h5>المعلومات الأساسية</h5>
        <div class="row">
            <div class="col-md-6">
                <div class="info-row">
                    <div class="info-label">رقم التقرير:</div>
                    <div class="info-value"><?php echo $report['id']; ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">اسم المريض:</div>
                    <div class="info-value"><?php echo htmlspecialchars($report['patient_name']); ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">الرقم الطبي:</div>
                    <div class="info-value"><?php echo htmlspecialchars($report['mrn']); ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">الجنس:</div>
                    <div class="info-value"><?php echo $report['gender'] == 'male' ? 'ذكر' : 'أنثى'; ?></div>
                </div>
            </div>
            <div class="col-md-6">
                <div class="info-row">
                    <div class="info-label">المضاد الحيوي:</div>
                    <div class="info-value"><?php echo htmlspecialchars($report['antibiotic_name']); ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">القسم:</div>
                    <div class="info-value"><?php echo htmlspecialchars($report['unit_name']); ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">تاريخ التقرير:</div>
                    <div class="info-value"><?php echo date('Y-m-d', strtotime($report['report_date'])); ?></div>
                </div>
                <div class="info-row">
                    <div class="info-label">الصيدلي المبلغ:</div>
                    <div class="info-value"><?php echo htmlspecialchars($report['pharmacist_name']); ?></div>
                </div>
            </div>
        </div>
        <div class="info-row">
            <div class="info-label">حالة التقرير:</div>
            <div class="info-value">
                <?php
                $status_map = [
                    'pending' => ['معلق', 'status-pending'],
                    'completed' => ['مكتمل', 'status-completed'],
                    'cancelled' => ['ملغي', 'status-cancelled']
                ];
                $status_info = $status_map[$report['status']] ?? [$report['status'], 'status-pending'];
                ?>
                <span class="status-badge <?php echo $status_info[1]; ?>">
                    <?php echo $status_info[0]; ?>
                </span>
            </div>
        </div>
    </div>

    <!-- Problem Authority -->
    <div class="info-section">
        <h5>تفاصيل الحدث المبلغ عنه</h5>
        <div class="info-row">
            <div class="info-label">سلطة المشكلة:</div>
            <div class="info-value">
                <?php
                $authority_map = [
                    'physicians' => 'الأطباء',
                    'nurses' => 'الممرضات',
                    'pharmacist' => 'الصيدلي',
                    'other' => 'أخرى'
                ];
                echo $authority_map[$report['problem_authority']] ?? $report['problem_authority'];
                ?>
            </div>
        </div>
        <?php if ($report['problem_authority_name']): ?>
        <div class="info-row">
            <div class="info-label">اسم سلطة المشكلة:</div>
            <div class="info-value"><?php echo htmlspecialchars($report['problem_authority_name']); ?></div>
        </div>
        <?php endif; ?>
        
        <?php if (!empty($report['problem_cause'])): ?>
        <div class="info-row">
            <div class="info-label">سبب المشكلة:</div>
            <div class="info-value"><?php echo nl2br(htmlspecialchars($report['problem_cause'])); ?></div>
        </div>
        <?php endif; ?>
        
        <?php if (!empty($report['antibiotic_classification'])): ?>
        <div class="info-row">
            <div class="info-label">تصنيف المضاد الحيوي (WHO AWaRe):</div>
            <div class="info-value">
                <?php 
                $classification_map = [
                    'access' => 'Access - الوصول (المضادات الأساسية)',
                    'watch' => 'Watch - المراقبة (المضادات المراقبة)', 
                    'reserve' => 'Reserve - الاحتياط (المضادات الاحتياطية)'
                ];
                
                $classification = $report['antibiotic_classification'];
                $display_text = $classification_map[$classification] ?? htmlspecialchars($classification);
                
                // إضافة لون مناسب لكل تصنيف
                $badge_class = '';
                switch($classification) {
                    case 'access':
                        $badge_class = 'bg-success';
                        break;
                    case 'watch':
                        $badge_class = 'bg-warning text-dark';
                        break;
                    case 'reserve':
                        $badge_class = 'bg-danger';
                        break;
                    default:
                        $badge_class = 'bg-secondary';
                }
                
                echo '<span class="badge ' . $badge_class . '">' . $display_text . '</span>';
                ?>
            </div>
        </div>
        <?php endif; ?>
    </div>

    <!-- Problem Definitions -->
    <div class="info-section">
        <h5>تعريف المشكلة</h5>
        <div class="badge-list">
            <?php
            $problem_map = [
                'medication_dispensing' => 'صرف الأدوية',
                'medication_safety' => 'سلامة الأدوية',
                'medication_labelling' => 'وسم الأدوية',
                'wrong_regimen' => 'نظام خاطئ',
                'illegible_hand_writing' => 'خط يد غير مقروء',
                'arabic_writing' => 'كتابة عربية',
                'transcription_violation' => 'انتهاك النسخ',
                'inappropriate_drug_choice' => 'اختيار دواء غير مناسب',
                'patient_own_medication' => 'دواء المريض الخاص',
                'wrong_preparation' => 'تحضير خاطئ',
                'wrong_administration' => 'إعطاء خاطئ',
                'drug_related_problem' => 'مشكلة متعلقة بالدواء',
                'illegible_abbreviations' => 'اختصارات غير مقروءة',
                'other_problem' => 'أخرى'
            ];
            
            foreach ($problem_definitions as $problem) {
                $problem_text = $problem_map[$problem] ?? $problem;
                echo '<span class="badge bg-primary">' . htmlspecialchars($problem_text) . '</span>';
            }
            ?>
        </div>
    </div>

    <!-- Intervention Choices -->
    <div class="info-section">
        <h5>خيارات التدخل</h5>
        <div class="badge-list">
            <?php
            $intervention_map = [
                'addition_new_drug' => 'إضافة دواء جديد',
                'drug_discontinuation' => 'إيقاف الدواء',
                'changing_another_agent' => 'التغيير إلى عامل آخر',
                'changing_administration_route' => 'تغيير طريق الإعطاء',
                'monitoring' => 'المراقبة',
                'dose_adjustment' => 'تعديل الجرعة',
                'other_intervention' => 'أخرى'
            ];
            
            foreach ($intervention_choices as $intervention) {
                $intervention_text = $intervention_map[$intervention] ?? $intervention;
                echo '<span class="badge bg-success">' . htmlspecialchars($intervention_text) . '</span>';
            }
            ?>
        </div>
    </div>

    <!-- Degree of Damage -->
    <div class="info-section">
        <h5>درجة الضرر المفترضة</h5>
        <div class="badge-list">
            <?php
            $damage_map = [
                'degree_damage_presumed' => 'درجة الضرر المفترضة',
                'no_damage_presumed' => 'لا يوجد ضرر مفترض',
                'ability_cause_damage' => 'قدرة على إحداث ضرر',
                'monitoring_required_avoid_damage' => 'مراقبة مطلوبة لتجنب الضرر',
                'temporary_damage' => 'ضرر مؤقت',
                'cause_icu_admission' => 'سبب لدخول العناية المركزة',
                'permanent_damage' => 'ضرر دائم',
                'cause_mortality' => 'سبب للوفاة'
            ];
            
            foreach ($degree_of_damage as $damage) {
                $damage_text = $damage_map[$damage] ?? $damage;
                echo '<span class="badge bg-warning text-dark">' . htmlspecialchars($damage_text) . '</span>';
            }
            ?>
        </div>
    </div>

    <!-- Results and Actions -->
    <div class="info-section">
        <h5>النتائج والإجراءات</h5>
        <div class="info-row">
            <div class="info-label">نتيجة التدخل:</div>
            <div class="info-value">
                <?php
                $result_map = [
                    'accept' => 'قبول',
                    'reject' => 'رفض',
                    'postpone' => 'تأجيل'
                ];
                echo $result_map[$report['result_of_intervention']] ?? $report['result_of_intervention'];
                ?>
            </div>
        </div>
        
        <?php if ($report['corrective_action']): ?>
        <div class="info-row">
            <div class="info-label">الإجراء التصحيحي:</div>
            <div class="info-value"><?php echo nl2br(htmlspecialchars($report['corrective_action'])); ?></div>
        </div>
        <?php endif; ?>
        
        <div class="info-row">
            <div class="info-label">نتيجة الإجراء التصحيحي:</div>
            <div class="info-value">
                <?php
                $corrective_result_map = [
                    'damage_avoided' => 'تم تجنب الضرر',
                    'reported_to_avoid_future_damage' => 'تم الإبلاغ لتجنب الضرر المستقبلي',
                    'no_corrective_action' => 'لم يتم اتخاذ إجراء تصحيحي',
                    'corrective_action_refused' => 'تم رفض الإجراء التصحيحي من قبل الموظفين',
                    'physician_agree_no_action' => 'الطبيب يوافق على عدم اتخاذ إجراء',
                    'other_result' => 'أخرى'
                ];
                echo $corrective_result_map[$report['result_of_corrective_action']] ?? $report['result_of_corrective_action'];
                ?>
            </div>
        </div>
    </div>

    <!-- Recommendations -->
    <?php if ($report['recommendations']): ?>
    <div class="info-section">
        <h5>التوصيات</h5>
        <div class="info-value">
            <?php echo nl2br(htmlspecialchars($report['recommendations'])); ?>
        </div>
    </div>
    <?php endif; ?>

    <!-- Attachments -->
    <?php if (!empty($attachments)): ?>
    <div class="info-section no-print">
        <h5>المرفقات</h5>
        <div class="row">
            <?php foreach ($attachments as $attachment): ?>
            <div class="col-md-6 mb-3">
                <div class="card">
                    <div class="card-body">
                        <h6 class="card-title">
                            <i class="fas fa-file"></i>
                            <?php echo htmlspecialchars($attachment['file_name']); ?>
                        </h6>
                        <p class="card-text small text-muted">
                            الحجم: <?php echo formatFileSize($attachment['file_size']); ?><br>
                            تاريخ الرفع: <?php echo date('Y-m-d H:i', strtotime($attachment['uploaded_at'])); ?>
                        </p>
                        <a href="<?php echo htmlspecialchars($attachment['file_path']); ?>" 
                           class="btn btn-sm btn-outline-primary" target="_blank">
                            <i class="fas fa-download"></i> تحميل
                        </a>
                    </div>
                </div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>
    <?php endif; ?>

    <!-- Timestamps -->
    <div class="info-section">
        <h5>معلومات النظام</h5>
        <div class="row">
            <div class="col-md-6">
                <div class="info-row">
                    <div class="info-label">تاريخ الإنشاء:</div>
                    <div class="info-value"><?php echo date('Y-m-d H:i:s', strtotime($report['created_at'])); ?></div>
                </div>
            </div>
            <div class="col-md-6">
                <div class="info-row">
                    <div class="info-label">آخر تحديث:</div>
                    <div class="info-value"><?php echo date('Y-m-d H:i:s', strtotime($report['updated_at'])); ?></div>
                </div>
            </div>
        </div>
    </div>
</div>

<?php include 'includes/footer.php'; ?>
