<?php
// --- Auth gate: PDF standalone, sin sesión no se sirve ---
if (session_status() !== PHP_SESSION_ACTIVE) { @session_start(); }
if (empty($_SESSION['user_id'])) { header('Location: index.php?view=login'); exit; }
// --- end auth gate ---
// Consentimiento Informado para Internacion
include __DIR__ . '/core/autoload.php';
include __DIR__ . '/core/app/model/CotizacionData.php';
include __DIR__ . '/core/app/model/UserData.php';
include __DIR__ . '/core/app/model/PacientData.php';
include __DIR__ . '/core/app/model/MedicData.php';

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');

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();
if (!$pacient) { die('Paciente no encontrado'); }
$age = $pacient->birthdate ? floor((time() - strtotime($pacient->birthdate)) / (365.25 * 24 * 60 * 60)) : null;

require_once 'tcpdf/tcpdf.php';
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetCreator('Cedimik');
$pdf->SetAuthor('Cedimik');
$pdf->SetTitle('Consentimiento Informado para Internacion');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetMargins(20, 18, 20);
$pdf->SetAutoPageBreak(true, 18);
$pdf->SetFont('helvetica', '', 11);

$pdf->AddPage();
$pdf->Image('assets/images/logo/logo.png', 165, 10, 25, 12, 'PNG');

$pdf->SetFont('helvetica', 'B', 14);
$pdf->Cell(0, 8, 'Consentimiento Informado para Internacion', 0, 1, 'C');
$pdf->SetFont('helvetica', '', 9);
$pdf->Cell(0, 5, 'Cedimik', 0, 1, 'C');
$pdf->Ln(4);

$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 6, 'Datos del paciente', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(40, 6, 'Nombre:', 0, 0, 'L');
$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 6, $pacient->name . ' ' . ($pacient->lastname ?? ''), 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(40, 6, 'C.I.:', 0, 0, 'L');
$pdf->Cell(0, 6, $pacient->dni ?: '-', 0, 1, 'L');
$pdf->Cell(40, 6, 'Edad:', 0, 0, 'L');
$pdf->Cell(0, 6, ($age !== null ? $age . ' anos' : '-'), 0, 1, 'L');
$pdf->Cell(40, 6, 'Sexo:', 0, 0, 'L');
$pdf->Cell(0, 6, ($pacient->sex === 'F' ? 'Femenino' : ($pacient->sex === 'M' ? 'Masculino' : '-')), 0, 1, 'L');
$pdf->Ln(4);

$pdf->SetFont('helvetica', '', 10);
$pdf->MultiCell(0, 5, 'Yo, el paciente identificado en este documento, declaro haber sido informado/a de manera comprensible sobre la necesidad de mi internacion hospitalaria.

El medico tratante me ha explicado:
- El motivo de la internacion y el diagnostico que la justifica.
- El plan de tratamiento, los estudios a realizar y los procedimientos previstos.
- La duracion estimada de la internacion.
- Los riesgos generales de la internacion, incluyendo infecciones nosocomiales, eventos adversos a medicamentos, caidas y complicaciones propias de la inmovilizacion prolongada.
- Las alternativas a la internacion, incluyendo manejo ambulatorio cuando sea posible.
- El derecho a solicitar el alta voluntaria en cualquier momento, asumiendo las responsabilidades y riesgos que esto implica.

Autorizo al equipo de salud de Cedimik a:
- Realizar los estudios diagnosticos y procedimientos terapeuticos que se consideren necesarios durante mi internacion.
- Administrar la medicacion prescrita por el medico tratante.
- Solicitar interconsultas con otras especialidades cuando sea necesario.

Me comprometo a:
- Informar al equipo medico sobre cualquier cambio en mi estado de salud.
- Cumplir con las indicaciones medicas y de enfermeria.
- Respetar las normas de la institucion durante mi permanencia.

Este consentimiento puede ser revocado en cualquier momento, previa notificacion al equipo medico.', 0, 'J');
$pdf->Ln(8);

$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(95, 6, 'Firma del paciente / representante', 0, 0, 'L');
$pdf->Cell(95, 6, 'Fecha y hora', 0, 1, 'L');
$pdf->Ln(14);
$pdf->Line(20, $pdf->GetY(), 110, $pdf->GetY());
$pdf->SetY($pdf->GetY() + 0.5);
$pdf->Line(120, $pdf->GetY(), 190, $pdf->GetY());
$pdf->Ln(2);
$pdf->SetFont('helvetica', '', 8);
$pdf->Cell(95, 4, 'C.I.: ____________________', 0, 0, 'L');
$pdf->Cell(95, 4, '____/____/________  :____ hrs', 0, 1, 'L');
$pdf->Ln(6);

$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 6, 'Medico responsable:', 0, 1, 'L');
$pdf->Ln(14);
$pdf->Line(20, $pdf->GetY(), 110, $pdf->GetY());
$pdf->Ln(2);
$pdf->SetFont('helvetica', '', 8);
$pdf->Cell(95, 4, 'Nombre: ______________________________', 0, 0, 'L');
$pdf->Cell(95, 4, 'Matricula: ____________', 0, 1, 'L');

$pdf->SetY(-12);
$pdf->SetFont('helvetica', 'I', 7);
$pdf->Cell(0, 3, 'Cedimik | ' . $clinicademo_sig_footer, 0, 1, 'C');

$pdf->Output('Consentimiento Informado para Internacion.pdf', 'I');
