<?php
// api/auditorias_intervencion.php
// GET /api/auditorias_intervencion.php       → lista de auditorías multidisciplinarias
// GET /api/auditorias_intervencion.php?id=X  → hallazgos + notas de un paciente específico

require_once __DIR__ . '/../middleware/auth_check.php';

header('Content-Type: application/json; charset=utf-8');
$pdo = db();

$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

// ── Detalle: hallazgos de frecuencia de un paciente ──────────
if ($id > 0) {
    $stmtP = $pdo->prepare("SELECT * FROM pacientes_interv WHERE id = ?");
    $stmtP->execute([$id]);
    $paciente = $stmtP->fetch();

    if (!$paciente) {
        echo json_encode(['ok' => false, 'msg' => 'Paciente no encontrado']);
        exit;
    }

    $stmtH = $pdo->prepare("
        SELECT tipo, terapia_nombre AS terapia, fecha, descripcion
        FROM   hallazgos_interv
        WHERE  paciente_id = ?
        ORDER  BY fecha
    ");
    $stmtH->execute([$id]);
    $hallazgos = $stmtH->fetchAll();

    // Actividades sin mapear: notas guardadas cuyo terapia_id quedó NULL
    // porque su título no tiene fila en mapeo_actividad_terapia todavía.
    $stmtSM = $pdo->prepare("
        SELECT DISTINCT titulo_nota
        FROM   notas_interv
        WHERE  paciente_id = ? AND terapia_id IS NULL
    ");
    $stmtSM->execute([$id]);
    $sinMapeo = $stmtSM->fetchAll(PDO::FETCH_COLUMN);

    echo json_encode([
        'ok'   => true,
        'data' => [
            'fecha_ingreso'         => $paciente['fecha_ingreso'],
            'fecha_egreso'          => $paciente['fecha_egreso'],
            'advertencias_fecha'    => [], // las advertencias de fecha son transitorias (por PDF), no se persisten
            'hallazgos'             => $hallazgos,
            'actividades_sin_mapeo' => $sinMapeo,
        ],
    ]);
    exit;
}

// ── Lista de auditorías multidisciplinarias ──────────────────
$stmt = $pdo->prepare("
    SELECT
        p.id                AS auditoria_id,
        p.fecha_analisis    AS fecha_audit,
        p.fecha_ingreso,
        p.fecha_egreso,
        p.total_notas,
        p.total_hallazgos,
        p.nombre            AS paciente_nombre,
        p.cc                AS paciente_cc,
        p.job_estado,
        u.nombre            AS auditor,
        ec.nombre           AS eps_contrato,
        (SELECT COUNT(DISTINCT titulo_nota) FROM notas_interv
         WHERE paciente_id = p.id AND terapia_id IS NULL)  AS total_sin_mapeo
    FROM      pacientes_interv p
    JOIN      usuarios     u  ON u.id  = p.usuario_id
    LEFT JOIN eps_contratos ec ON ec.id = p.eps_contrato_id
    WHERE     p.job_estado = 'completado'
    ORDER BY  p.fecha_analisis DESC
");
$stmt->execute();
echo json_encode(['ok' => true, 'data' => $stmt->fetchAll()]);
