<?php
// system-interview-pdf.php - PDF Anamnesis por Sistemas (3 columnas verticales)
// include_once para permitir anidar este script dentro de otro (ej. generate-clinical-history-pdf.php)
include_once __DIR__ . '/core/autoload.php';
require_once __DIR__ . '/core/app/model/UserData.php';
// === User signature for footer (clinicademo) ===
if (session_status() !== PHP_SESSION_ACTIVE) { @session_start(); }
$clinicademo_sig_user_id = $_SESSION['user_id'] ?? null;
$clinicademo_sig_user_name = 'Sistema';
if ($clinicademo_sig_user_id) {
    $_u = UserData::getById($clinicademo_sig_user_id);
    if ($_u) {
        $_n = trim(($_u->name ?? '') . ' ' . ($_u->lastname ?? ''));
        if ($_n !== '') {
            $clinicademo_sig_user_name = $_n;
        } elseif (!empty($_u->username)) {
            $clinicademo_sig_user_name = $_u->username;
        }
    }
}
$clinicademo_sig_footer = 'Generado por: ' . $clinicademo_sig_user_name . ' | ' . date('d/m/Y H:i:s');

require_once __DIR__ . '/core/app/model/CotizacionData.php';
require_once __DIR__ . '/core/app/model/PacientData.php';
require_once __DIR__ . '/core/app/model/MedicData.php';
require_once __DIR__ . '/core/app/model/InventoryItemData.php';
require_once __DIR__ . '/core/app/model/QuirofanoData.php';

if (!isset($_GET['pacient_id'])) {
    die('Paciente ID requerido');
}

$pacientId = intval($_GET['pacient_id']);
$con = Database::getCon();

$pacient = $con->query("SELECT * FROM pacient WHERE id = $pacientId")->fetch_object();
$interview = $con->query("SELECT * FROM system_interview WHERE pacient_id = $pacientId")->fetch_object();

$age = $pacient->birthdate ? floor((time() - strtotime($pacient->birthdate)) / (365.25 * 24 * 60 * 60)) : null;

// Sistemas actualizados
$sistemas = [
    'sintomas_generales' => ['title' => 'Síntomas Generales', 'items' => ['fiebre'=>'Fiebre','astenia'=>'Astenia','adinamia'=>'Adinamia','perdida_peso'=>'Adelgazamiento','aumento_peso'=>'Aumento de peso','sudoracion'=>'Sudoración','escalofrios'=>'Escalofríos']],
    'piel_faneras' => ['title' => 'Piel y Faneras', 'items' => ['prurito'=>'Prurito','alteraciones_cutaneas'=>'Alt. cutáneas','escara'=>'Escara','piel_seca'=>'Piel seca','equimosis'=>'Equimosis','hematoma'=>'Hematoma','unas_quebradizas'=>'Uñas quebradizas','caida_cabello'=>'Caída cabellos','cianosis'=>'Cianosis']],
    'cabeza' => ['title' => 'Cabeza', 'items' => ['disminucion_agudeza_visual'=>'Dism. agudeza visual','dolor_ocular'=>'Dolor ocular','cefalea'=>'Cefalea','disminucion_audicion'=>'Dism. audición','zumbido'=>'Zumbido','perdida_gusto'=>'Pérdida gusto','disminucion_olfacion'=>'Dism. olfacción','epistaxis'=>'Epistaxis','ardor_perioral'=>'Ardor perioral','xerostomia'=>'Xerostomía','sialorrea'=>'Sialorrea','alteracion_voz'=>'Alt. voz','ronquido'=>'Ronquido']],
    'cuello' => ['title' => 'Cuello', 'items' => ['dolor_cuello'=>'Dolor de cuello','nodulos_cuello'=>'Nódulo(s) en cuello','dolor_cervical'=>'Dolor cervical']],
    'torax' => ['title' => 'Tórax', 'items' => ['dolor_toracico'=>'Dolor torácico','opresion_precordial'=>'Opresión precordial','mastodinia'=>'Mastodinia','hemoptisis'=>'Hemoptisis','disnea'=>'Disnea','palpitaciones'=>'Palpitaciones','tos'=>'Tos','expectoracion'=>'Expectoración']],
    'digestivo' => ['title' => 'Aparato Digestivo', 'items' => ['alimentacion_normal'=>'Alimentación normal','masticacion_adecuada'=>'Masticación adecuada','anorexia'=>'Anorexia','disfagia'=>'Disfagia','odinofagia'=>'Odinofagia','pirosis'=>'Pirosis','regurgitacion'=>'Regurgitación','halitosis'=>'Halitosis','nauseas'=>'Náuseas','vomitos'=>'Vómitos','hematemesis'=>'Hematemesis','dispepsia'=>'Dispepsia','flatulencia'=>'Flatulencia','dolor_abdominal'=>'Dolor abdominal','enterorragia_melenas'=>'Enterorragia/melenas','catarsis_normal'=>'Catarsis normal','constipacion'=>'Constipación','diarrea'=>'Diarrea','dolor_anal'=>'Dolor anal','ictericia'=>'Ictericia']],
    'urogenital' => ['title' => 'Aparato Urogenital', 'items' => ['orina_normal'=>'Orina normal','orinas_fetidas'=>'Orinas fétidas','chorro_urinario_normal'=>'Chorro urinario normal','goteo_final_miccionar'=>'Goteo final micción','polaquiuria'=>'Polaquiuria','poliuria'=>'Poliuria','nicturia'=>'Nicturia','incontinencia'=>'Incontinencia urinaria','hematuria'=>'Hematuria','disuria'=>'Disuria','urgencia_miccional'=>'Urgencia miccional','disfuncion_erectil'=>'Disfunción eréctil','disminucion_libido'=>'Dism. libido','actividad_sexual'=>'Actividad sexual','menopausia'=>'Menopausia','menstruacion'=>'Menstruación']],
    'musculo_esqueletico' => ['title' => 'Sist. Musculoesquelético', 'items' => ['dolor_muscular'=>'Dolor muscular','dolor_corporal'=>'Dolor corporal','dolor_brazos'=>'Dolor brazos','dolor_manos'=>'Dolor manos','rigidez_matutina'=>'Rigidez matutina','edema_manos'=>'Edema manos','edema_miembros_inferiores'=>'Edema MM.II.','dolor_columna_dorsal'=>'Dolor col. dorsal','lumbalgia'=>'Lumbalgia','dolor_hombros'=>'Dolor hombros','dolor_piernas'=>'Dolor piernas','dolor_rodillas'=>'Dolor rodillas','extremidades_frias'=>'Extremidades frías','dolor_pies'=>'Dolor pies','calambres'=>'Calambres']],
    'neurologico' => ['title' => 'Sistema Neurológico', 'items' => ['conciencia_normal'=>'Conciencia normal','sincope'=>'Síncope','caidas'=>'Caídas','alteraciones_marcha'=>'Alt. marcha','temblor'=>'Temblor','atencion_normal'=>'Atención normal','orientado'=>'Orientado','pensamiento_normal'=>'Pensamiento normal','olvido'=>'Olvido','dificultad_concentracion'=>'Dificultad concentración','confusion_mental'=>'Confusión mental','delirio'=>'Delirio','alucinacion'=>'Alucinación','disartria'=>'Disartria','afasia'=>'Afasia','apraxia'=>'Apraxia','agnosia'=>'Agnosia','sueno_normal'=>'Sueño normal','insomnio'=>'Insomnio','depresion'=>'Depresión','ansiedad'=>'Ansiedad','irritacion'=>'Irritación','agitacion'=>'Agitación','somnolencia'=>'Somnolencia','parestesias'=>'Parestesias','debilidad_piernas'=>'Debilidad piernas']],
    'actividad_diaria' => ['title' => 'Actividad Diaria', 'items' => ['ejercicios_pasivos_activos'=>'Ejerc. pasivos/activos','sedentario'=>'Sedentario','camina_solo'=>'Camina solo','dificultad_caminar'=>'Dificultad caminar','usa_baston'=>'Usa bastón','usa_silla_ruedas'=>'Silla ruedas','aseo_sin_ayuda'=>'Aseo sin ayuda']],
    'habitos' => ['title' => 'Hábitos', 'items' => ['tabaquismo'=>'Tabaquismo','etilismo'=>'Etilismo','alergias'=>'Alergias']],
];

$enfermedades_comunes = [
    'dislipidemia' => 'Dislipidemia', 'gastritis' => 'Gastritis', 'hipotiroidismo' => 'Hipotiroidismo',
    'ima' => 'IMA', 'neumonia' => 'Neumonía', 'diabetes' => 'Diabetes', 'avc' => 'AVC',
    'cirrosis' => 'Cirrosis', 'ulceras' => 'Úlceras', 'hta' => 'HTA', 'hepatitis' => 'Hepatitis',
    'tbc' => 'TBC', 'fiebre_tifoidea' => 'F. Tifoidea', 'hipertiroidismo' => 'Hipertiroidismo',
    'anemia' => 'Anemia', 'les' => 'LES', 'asma' => 'Asma', 'irc' => 'IRC', 'hda' => 'HDA',
    'itu' => 'ITU', 'cardiopatia' => 'Cardiopatía', 'deshidratacion' => 'Deshidratación',
    'desnutricion' => 'Desnutrición', 'hbp' => 'HBP', 'ca_de' => 'Ca de...', 'linfoma' => 'Linfoma',
    'gota' => 'Gota', 'amebiasis' => 'Amebiasis', 'gastroenteritis' => 'Gastroenteritis',
    'ninguna' => 'Ninguna',
];

$enfermedades_actuales = [
    'eup' => 'EUP', 'hta' => 'HTA', 'diabetes' => 'Diabetes', 'parkinson' => 'Parkinson',
    'icc' => 'ICC', 'dislipidemia' => 'Dislipidemia', 'osteoporosis' => 'Osteoporosis',
    'catarata' => 'Catarata', 'glaucoma' => 'Glaucoma', 'bronquiectasias' => 'Bronquiectasias',
    'demencial' => 'Demencial', 'arritmia' => 'Arritmia', 'c_isquemica' => 'C. Isquémica',
    'c_valvular' => 'C. Valvular', 'gastritis' => 'Gastritis', 'esofagitis' => 'Esofagitis',
    'hernia_hiatal' => 'Hernia Hiatal', 'rge' => 'RGE', 'epoc' => 'EPOC', 'anemia' => 'Anemia',
    'irc' => 'IRC', 'asma' => 'Asma', 'les' => 'LES', 'f_tifoidea' => 'F. Tifoidea',
    'migrana' => 'Migraña', 'gonorrea' => 'Gonorrea', 'sifilis' => 'Sífilis', 'gota' => 'Gota',
    'hbp' => 'HBP', 'desnutricion' => 'Desnutrición', 'deshidratacion' => 'Deshidratación',
    'hda' => 'HDA', 'itu' => 'ITU', 'sinusitis' => 'Sinusitis', 'obesidad' => 'Obesidad',
    'litiasis_biliar' => 'Litiasis Biliar', 'ar' => 'AR', 'alcoholismo' => 'Alcoholismo',
    'mieloma' => 'Mieloma', 'insuficiencia_suprarrenal' => 'Insuf. Suprarrenal',
    'gastroenteritis' => 'Gastroenteritis', 'amebiasis' => 'Amebiasis', 'ca_de' => 'Ca de...',
    'linfoma' => 'Linfoma', 'leucemia' => 'Leucemia', 'depresion' => 'Depresión',
    'ansiedad' => 'Ansiedad', 'ninguna' => 'No enfermedades',
];

$responses = [];
$diseases = [];
$current_diseases = [];
$diagnostic_impression = [];

if ($interview) {
    $ires = $con->query("SELECT * FROM system_interview_responses WHERE interview_id = $interview->id");
    while ($r = $ires->fetch_assoc()) {
        $responses[$r['system_code']][$r['item_code']] = $r['value'];
    }
    
    $idise = $con->query("SELECT * FROM system_interview_diseases WHERE interview_id = $interview->id");
    while ($d = $idise->fetch_assoc()) {
        $diseases[] = $d;
    }
    
    $icd = $con->query("SELECT * FROM system_interview_current_diseases WHERE interview_id = $interview->id");
    while ($d = $icd->fetch_assoc()) {
        $current_diseases[] = $d;
    }
    
    $idi = $con->query("SELECT * FROM system_interview_diagnostic_impression WHERE interview_id = $interview->id ORDER BY item_number ASC");
    while ($d = $idi->fetch_assoc()) {
        $diagnostic_impression[] = $d['content'];
    }
}

require_once 'tcpdf/tcpdf.php';

// Modo embed: si está activado, NO crea un nuevo TCPDF ni hace Output al final.
// El caller ya tiene un $pdf instanciado (clinicademo/generate-clinical-history-pdf.php).
// Usado para anexar este PDF como parte de la historia clínica completa.
$__si_embed = !empty($_GET['embed']);
if ($__si_embed && (!isset($pdf) || !($pdf instanceof TCPDF))) {
    die('Modo embed requiere un TCPDF ya instanciado');
}

if (!$__si_embed) {
    $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
    $pdf->SetCreator('San Jorge Clinica Especializada');
    $pdf->SetAuthor('San Jorge Clinica Especializada');
    $pdf->SetTitle('Anamnesis por Sistemas - ' . $pacient->name);
    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    $pdf->SetMargins(5, 8, 5);
    $pdf->SetAutoPageBreak(true, 10);
    $pdf->SetFont('helvetica', '', 7);
}

$pdf->AddPage();

// Header
$pdf->Image('assets/images/logo/logo.png', 5, 6, 30, 15, 'PNG');
$pdf->SetFont('helvetica', 'B', 11);
$pdf->SetXY(37, 5);
$pdf->Cell(70, 5, 'ANAMNESIS POR SISTEMAS', 0, 0, 'L');
$pdf->SetFont('helvetica', '', 7);
$pdf->SetXY(37, 10);
$pdf->Cell(70, 3, 'Evaluación Clínica Integral', 0, 1, 'L');

$pdf->SetFont('helvetica', 'B', 7);
$pdf->SetXY(150, 5);
$pdf->Cell(55, 4, 'Paciente: ' . $pacient->name, 0, 0, 'R');
$pdf->SetFont('helvetica', '', 6);
$pdf->SetXY(150, 9);
$pdf->Cell(55, 3, 'CI: ' . ($pacient->dni ?: '-') . ' | Edad: ' . ($age ?: '-') . ' | ' . date('d/m/Y'), 0, 1, 'R');

// Bajar todo el contenido debajo del logo superior (logo ocupa Y=6..21)
$pdf->SetY(24);
$pdf->Line(5, $pdf->GetY(), 205, $pdf->GetY());

$pdf->Ln(1);

// Un solo color sobrio para todos los encabezados (gris oscuro)
$headerColor = [52, 58, 64];

// Split into 3 columns (4+3+4)
$keys = array_keys($sistemas);
$columnSystems = [
    array_slice($sistemas, 0, 5, true),    // Col 1: sintomas, piel, cabeza, cuello, torax
    array_slice($sistemas, 5, 3, true),    // Col 2: digestivo, urogenital, musculo_esqueletico
    array_slice($sistemas, 8, 3, true),    // Col 3: neurologico, actividad_diaria, habitos
];

$colWidth = 65;
$colGap = 2;
$startX = 5;
$startY = $pdf->GetY();

$boxSize = 5;

// Draw each column
for ($col = 0; $col < 3; $col++) {
    $x = $startX + ($col * ($colWidth + $colGap));
    $y = $startY;
    
    foreach ($columnSystems[$col] as $sysCode => $sistema) {
        // Title
        $pdf->SetXY($x, $y);
        $pdf->SetFont('helvetica', 'B', 6.5);
        $pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
        $pdf->SetTextColor(255, 255, 255);
        $pdf->Cell($colWidth, 4, $sistema['title'], 1, 0, 'C', true);
        $pdf->SetTextColor(0, 0, 0);
        
        $y += 4;
        
        // Items
        $pdf->SetFont('helvetica', '', 6);
        foreach ($sistema['items'] as $itemCode => $itemName) {
            $val = $responses[$sysCode][$itemCode] ?? '';
            
            // If notas exists, skip the notes item itself (rendered with alergias)
            if (strpos($itemCode, '_notes') !== false) continue;
            
            // Item name
            $pdf->SetXY($x, $y);
            $pdf->Cell($colWidth - $boxSize * 3 - 2, 3.5, $itemName, 0, 0, 'L');
            
            // S box
            $sBg = $val === 'S' ? [220, 53, 69] : [255, 255, 255];
            $pdf->SetFillColor($sBg[0], $sBg[1], $sBg[2]);
            $pdf->SetFont('helvetica', 'B', 5);
            $pdf->Cell($boxSize, 3.5, 'S', 1, 0, 'C', true);
            
            // N box
            $nBg = $val === 'N' ? [40, 167, 69] : [255, 255, 255];
            $pdf->SetFillColor($nBg[0], $nBg[1], $nBg[2]);
            $pdf->Cell($boxSize, 3.5, 'N', 1, 0, 'C', true);
            
            // AV box
            $avBg = $val === 'AV' ? [0, 123, 255] : [255, 255, 255];
            $pdf->SetFillColor($avBg[0], $avBg[1], $avBg[2]);
            $pdf->Cell($boxSize, 3.5, 'AV', 1, 0, 'C', true);
            
            $y += 3.5;
        }
        
        $y += 3;
    }
}

// --- PAGE 1 bottom: Enfermedades Anteriores ---
$pdf->SetY(max($pdf->GetY(), $startY + 195));
$pdf->Ln(2);

$pdf->SetFont('helvetica', 'B', 7);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, 'ENFERMEDADES ANTERIORES', 1, 0, 'C', true);
$pdf->SetTextColor(0, 0, 0);
$pdf->Ln();

// Dibuja una celda de enfermedad: nombre + casilla para tickear al final
$si_draw_disease_cell = function($pdf, $cellW, $text, $checked, &$count) {
    $x = $pdf->GetX();
    $y = $pdf->GetY();
    $pdf->Cell($cellW - 1, 3, $text, 1, 0, 'L');

    $box = 2;
    $bx = $x + ($cellW - 1) - $box - 0.6;
    $by = $y + (3 - $box) / 2;
    $pdf->Rect($bx, $by, $box, $box, 'D');
    if ($checked) {
        $pdf->Line($bx + 0.6, $by + 0.6, $bx + $box - 0.6, $by + $box - 0.6);
        $pdf->Line($bx + $box - 0.6, $by + 0.6, $bx + 0.6, $by + $box - 0.6);
    }

    $count++;
    if ($count % 5 == 0) $pdf->Ln();
};

// Mostrar TODO el catálogo (las no marcadas también aparecen) con casilla tickeable
$pdf->SetFont('helvetica', '', 6);
$diseaseColW = 195 / 5;
$diseaseNames = array_column($diseases, 'disease_name');
$diseaseYears = array_combine(array_column($diseases, 'disease_name'), array_column($diseases, 'diagnosed_year'));
$diseaseActives = array_combine(array_column($diseases, 'disease_name'), array_column($diseases, 'active'));

// "Ca de..." se persiste como "Ca de mama" → detectar el spec
$caSpec = '';
foreach ($diseases as $d) {
    if (stripos($d['disease_name'], 'Ca de ') === 0) { $caSpec = substr($d['disease_name'], 6); break; }
}

$count = 0;
foreach ($enfermedades_comunes as $code => $name) {
    $checked = in_array($name, $diseaseNames);
    if ($code === 'ca_de' && $caSpec !== '') $checked = true;
    if ($code === 'ninguna') $checked = count($diseases) === 0;

    $text = substr($name, 0, 16);
    if ($checked) {
        $realName = ($code === 'ca_de' && $caSpec !== '') ? 'Ca de ' . $caSpec : $name;
        if (!empty($diseaseYears[$realName] ?? '')) $text .= ' (' . $diseaseYears[$realName] . ')';
        if (($diseaseActives[$realName] ?? '') === 'S') $text .= ' [A]';
    }

    $si_draw_disease_cell($pdf, $diseaseColW, $text, $checked, $count);
}

// Enfermedades personalizadas (nueva_enfermedad) que no están en el catálogo
foreach ($diseases as $d) {
    if (!in_array($d['disease_name'], array_values($enfermedades_comunes)) && stripos($d['disease_name'], 'Ca de ') !== 0) {
        $text = substr($d['disease_name'], 0, 16);
        if (!empty($d['diagnosed_year'])) $text .= ' (' . $d['diagnosed_year'] . ')';
        if ($d['active'] === 'S') $text .= ' [A]';
        $si_draw_disease_cell($pdf, $diseaseColW, $text, true, $count);
    }
}

while ($count % 5 != 0) { $pdf->Cell($diseaseColW - 1, 3, '', 1, 0, 'L'); $count++; }
$pdf->Ln();

// Enfermedades Actuales
$pdf->Ln(1);
$pdf->SetFont('helvetica', 'B', 7);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, 'ENFERMEDADES ACTUALES', 1, 0, 'C', true);
$pdf->SetTextColor(0, 0, 0);
$pdf->Ln();

$pdf->SetFont('helvetica', '', 6);
$diseaseColW = 195 / 5;
$cdNames = array_column($current_diseases, 'disease_name');
$cdYears = array_combine(array_column($current_diseases, 'disease_name'), array_column($current_diseases, 'diagnosed_year'));
$cdActives = array_combine(array_column($current_diseases, 'disease_name'), array_column($current_diseases, 'active'));

$ccSpec = '';
foreach ($current_diseases as $d) {
    if (stripos($d['disease_name'], 'Ca de ') === 0) { $ccSpec = substr($d['disease_name'], 6); break; }
}

$count = 0;
foreach ($enfermedades_actuales as $code => $name) {
    $checked = in_array($name, $cdNames);
    if ($code === 'ca_de' && $ccSpec !== '') $checked = true;
    if ($code === 'ninguna') $checked = count($current_diseases) === 0;

    $text = substr($name, 0, 16);
    if ($checked) {
        $realName = ($code === 'ca_de' && $ccSpec !== '') ? 'Ca de ' . $ccSpec : $name;
        if (!empty($cdYears[$realName] ?? '')) $text .= ' (' . $cdYears[$realName] . ')';
        if (($cdActives[$realName] ?? '') === 'S') $text .= ' [A]';
    }

    $si_draw_disease_cell($pdf, $diseaseColW, $text, $checked, $count);
}

foreach ($current_diseases as $d) {
    if (!in_array($d['disease_name'], array_values($enfermedades_actuales)) && stripos($d['disease_name'], 'Ca de ') !== 0) {
        $text = substr($d['disease_name'], 0, 16);
        if (!empty($d['diagnosed_year'])) $text .= ' (' . $d['diagnosed_year'] . ')';
        if ($d['active'] === 'S') $text .= ' [A]';
        $si_draw_disease_cell($pdf, $diseaseColW, $text, true, $count);
    }
}

while ($count % 5 != 0) { $pdf->Cell($diseaseColW - 1, 3, '', 1, 0, 'L'); $count++; }
$pdf->Ln();

// --- PAGE 2 ---
$pdf->AddPage();

// Antecedentes Gineco-Obstétricos
if (($pacient->sex ?? '') === 'F') {
    $pdf->SetFont('helvetica', 'B', 8);
    $pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
    $pdf->SetTextColor(255, 255, 255);
    $pdf->Cell(195, 5, 'ANTECEDENTES GINECO-OBSTÉTRICOS', 1, 1, 'C', true);
    $pdf->SetTextColor(0, 0, 0);
    
    $gFields = [['Gesta', 'gesta'], ['Para', 'para'], ['AB', 'ab'], ['CES', 'ces'], ['Menarca', 'menarca'], ['FUM', 'fum'], ['Partos', 'partos'], ['A Término', 'a_termino'], ['Prematuros', 'prematuros']];
    $pdf->SetFont('helvetica', '', 7);
    $y = $pdf->GetY();
    $gColW = 195 / 9;
    foreach ($gFields as $i => $gf) {
        $val = $interview->{$gf[1]} ?? '';
        $pdf->SetXY(5 + $i * $gColW, $y);
        $pdf->Cell($gColW - 0.5, 3.5, $gf[0] . ': ' . $val, 1, 0, 'L');
    }
    $pdf->Ln(4.5);
    $pdf->Ln(1);
}

// Textareas
$textareaFields = [
    ['Cirugías', 'cirugias'],
    ['Antecedentes Familiares', 'antecedentes_familiares'],
    ['Motivo de Internación', 'motivo_internacion'],
    ['Historia de la Enfermedad Actual', 'historia_enfermedad_actual'],
];

foreach ($textareaFields as $tf) {
    $pdf->SetFont('helvetica', 'B', 7);
    $pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
    $pdf->SetTextColor(255, 255, 255);
    $pdf->Cell(195, 5, strtoupper($tf[0]), 1, 1, 'C', true);
    $pdf->SetTextColor(0, 0, 0);
    
    $val = $interview->{$tf[1]} ?? '';
    $pdf->SetFont('helvetica', '', 7);
    $pdf->MultiCell(195, 12, $val ?: '(Sin registro)', 1, 'L');
    $pdf->Ln(1);
}

// Examen Físico
$pdf->SetFont('helvetica', 'B', 8);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, 'EXAMEN FÍSICO', 1, 1, 'C', true);
$pdf->SetTextColor(0, 0, 0);

// Anthropometric row
$antFields = [
    ['Talla', 'talla'], ['Peso Actual', 'peso_actual'], ['IMC', 'imc'],
    ['Peso Ideal', 'peso_ideal'], ['Circ. Abdominal', 'circunferencia_abdominal']
];
$pdf->SetFont('helvetica', '', 7);
$antColW = 195 / 5;
$y = $pdf->GetY();
foreach ($antFields as $i => $af) {
    $val = $interview->{$af[1]} ?? '';
    $pdf->SetXY(5 + $i * $antColW, $y);
    $pdf->Cell($antColW - 0.5, 5, $af[0] . ': ' . $val, 1, 0, 'L');
}
$pdf->Ln(6);

// Exam tables
$examFields = [
    ['Estado General', 'examen_estado_general'],
    ['Mucosas', 'examen_mucosas'],
    ['Piel y Faneras', 'examen_piel_faneras'],
    ['FC', 'examen_fc'],
    ['PA', 'examen_pa'],
    ['Actitud', 'examen_actitud'],
    ['Orofaringe', 'examen_orofaringe'],
    ['T', 'examen_t'],
    ['FR', 'examen_fr'],
];

$pdf->SetFont('helvetica', '', 7);
$examColW = 195 / 3;
$y = $pdf->GetY();
for ($i = 0; $i < 9; $i++) {
    $col = $i % 3;
    $row = floor($i / 3);
    $val = $interview->{$examFields[$i][1]} ?? '';
    $pdf->SetXY(5 + $col * $examColW, $y + $row * 5);
    $pdf->Cell($examColW - 0.5, 5, $examFields[$i][0] . ': ' . $val, 1, 0, 'L');
}
$pdf->SetXY(5, $y + 15);
$pdf->Ln(17);

// Examen por Sistemas
$pdf->SetFont('helvetica', 'B', 8);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, 'EXAMEN POR SISTEMAS', 1, 1, 'C', true);
$pdf->SetTextColor(0, 0, 0);

$sistFields = [
    ['Sist. Cardiovacular', 'sist_cardiovacular'],
    ['Sist. Respiratorio', 'sist_respiratorio'],
    ['Sist. Digestivo', 'sist_digestivo'],
    ['Sist. Genitourinario', 'sist_genitourinario'],
    ['Sist. Locomotor', 'sist_locomotor'],
    ['Sist. Endocrino', 'sist_endocrino'],
    ['Sist. Neurológico', 'sist_neurologico'],
];

$pdf->SetFont('helvetica', '', 7);
$y = $pdf->GetY();
$sfColW = 195 / 2;
foreach ($sistFields as $i => $sf) {
    $col = $i % 2;
    $row = floor($i / 2);
    $val = $interview->{$sf[1]} ?? '';
    $pdf->SetXY(5 + $col * $sfColW, $y + $row * 5);
    $pdf->Cell($sfColW - 0.5, 5, $sf[0] . ': ' . $val, 1, 0, 'L');
}
$pdf->SetXY(5, $y + (ceil(count($sistFields)/2) * 5));
$pdf->Ln(ceil(count($sistFields)/2) * 5 + 2);

// Impresión Diagnóstica
$pdf->SetFont('helvetica', 'B', 8);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, 'IMPRESIÓN DIAGNÓSTICA', 1, 1, 'C', true);
$pdf->SetTextColor(0, 0, 0);

if (count($diagnostic_impression) > 0) {
    $pdf->SetFont('helvetica', '', 7);
    foreach ($diagnostic_impression as $i => $text) {
        $pdf->Cell(5, 5, ($i+1) . '.', 0, 0, 'L');
        $pdf->Cell(190, 5, $text, 0, 1, 'L');
    }
} else {
    $pdf->SetFont('helvetica', 'I', 7);
    $pdf->Cell(195, 5, '(Sin registro)', 1, 1, 'L');
}

// Médico desde la admisión para firma
$medicoSig = '';
$admSig = $con->query("SELECT * FROM admission WHERE pacient_id = $pacientId AND status = 'discharged' ORDER BY created_at DESC LIMIT 1")->fetch_object();
if ($admSig && $admSig->medic_id) {
    $medSig = $con->query("SELECT name, lastname FROM medic WHERE id = " . intval($admSig->medic_id))->fetch_object();
    if ($medSig) $medicoSig = trim($medSig->name . ' ' . $medSig->lastname);
}

// Firma del médico
$pdf->Ln(3);
$pdf->SetFont('helvetica', 'B', 7);
$pdf->SetFillColor($headerColor[0], $headerColor[1], $headerColor[2]);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(195, 5, '  FIRMA DEL MÉDICO', 1, 1, 'L', true);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFont('helvetica', '', 7);

$sigY = $pdf->GetY();
$pdf->SetXY(10, $sigY);
$pdf->Cell(80, 5, 'Médico: ' . ($medicoSig ?: '________________________'), 0, 0, 'L');
$pdf->SetXY(105, $sigY);
$pdf->Cell(80, 5, 'Firma: ________________________', 0, 1, 'L');
$pdf->SetXY(10, $sigY + 6);
$pdf->Cell(80, 5, 'CR / Registro: ___________________', 0, 0, 'L');
$pdf->SetXY(105, $sigY + 6);
$pdf->Cell(80, 5, 'Sello: ________________________', 0, 1, 'L');
$pdf->Ln(3);

// Footer (desactivar auto page break para que no genere una página extra solo por el pie)
$pdf->SetAutoPageBreak(false);
$pdf->SetY(-10);
$pdf->SetFont('helvetica', 'I', 5);
$pdf->Cell(0, 3, 'Anamnesis por Sistemas - San Jorge Clinica Especializada | Generado por: ' . $clinicademo_sig_user_name . ' | ' . date('d/m/Y H:i:s'), 0, 1, 'C');
$pdf->SetAutoPageBreak(true, 10);


if (!$__si_embed) {
    $pdf->Output('Anamnesis_Sistemas_' . $pacientId . '.pdf', 'I');
}
