<?php
require_once "config/Conexion.php";

echo "<h2>Diagnóstico Profundo - Atención #4</h2>";

$idatencion = 4; // El folio del último PDF

// 1. Verificar Atencion
$sqlAt = "SELECT * FROM atencion WHERE idatencion = '$idatencion'";
$at = ejecutarConsultaSimpleFila($sqlAt);
if ($at) {
    echo "<p style='color:green;'>✓ Atención #$idatencion encontrada. Estado: " . $at['estado'] . "</p>";
} else {
    echo "<p style='color:red;'>✗ Atención #$idatencion NO ENCONTRADA.</p>";
}

// 2. Verificar Resultado
$sqlRes = "SELECT * FROM resultado WHERE idatencion = '$idatencion' ORDER BY idresultado DESC LIMIT 1";
$res = ejecutarConsultaSimpleFila($sqlRes);
if ($res) {
    echo "<p style='color:green;'>✓ Registro en 'resultado' encontrado. ID Resultado: " . $res['idresultado'] . "</p>";
    $idresultado = $res['idresultado'];
    
    // 3. Verificar Diagnósticos vinculados
    $sqlDiag = "SELECT dd.*, d.codigo, d.enfermedad 
                FROM detalle_diagnostico dd 
                INNER JOIN diagnostico d ON dd.iddiagnostico = d.iddiagnostico
                WHERE dd.idresultado = '$idresultado'";
    $rspta = ejecutarConsulta($sqlDiag);
    if ($rspta->num_rows > 0) {
        echo "<p style='color:green;'>✓ " . $rspta->num_rows . " diagnósticos encontrados:</p>";
        while ($d = $rspta->fetch_assoc()) {
            echo " - " . $d['codigo'] . ": " . $d['enfermedad'] . " (Tipo: " . $d['tipo'] . ")<br>";
        }
    } else {
        echo "<p style='color:orange;'>! No hay diagnósticos en 'detalle_diagnostico' para idresultado $idresultado.</p>";
        
        // Ver si hay diagnósticos huérfanos o en otros resultados de la misma atención
        $sqlOrphan = "SELECT dd.*, r.idatencion 
                      FROM detalle_diagnostico dd 
                      INNER JOIN resultado r ON dd.idresultado = r.idresultado 
                      WHERE r.idatencion = '$idatencion'";
        $resOrphan = ejecutarConsulta($sqlOrphan);
        if ($resOrphan->num_rows > 0) {
            echo "<p style='color:blue;'>? Se encontraron " . $resOrphan->num_rows . " diagnósticos en OTROS registros de resultado para la misma atención.</p>";
        }
    }
} else {
    echo "<p style='color:red;'>✗ NO HAY registro en 'resultado' para la atención $idatencion.</p>";
}

// 4. Verificar existencia del código en la tabla diagnostico
$testCode = 'V95.4';
$sqlTest = "SELECT * FROM diagnostico WHERE codigo = '$testCode' LIMIT 1";
$resTest = ejecutarConsultaSimpleFila($sqlTest);
if ($resTest) {
    echo "<p style='color:green;'>✓ Código $testCode existe en DB con ID: " . $resTest['iddiagnostico'] . "</p>";
} else {
    echo "<p style='color:red;'>✗ Código $testCode NO EXISTE en la tabla 'diagnostico'.</p>";
    
    // Buscar parecidos
    $sqlSimilar = "SELECT codigo FROM diagnostico WHERE codigo LIKE 'V95%' LIMIT 5";
    $resSim = ejecutarConsulta($sqlSimilar);
    echo "Códigos parecidos: ";
    while($s = $resSim->fetch_assoc()) echo $s['codigo'] . ", ";
}

echo "<hr>";
echo "<h3>Últimos Errores de MySQL</h3>";
// Intentamos forzar un error para ver si podemos capturar el mensaje de error de la conexión
// Aunque usualmente Conexion.php no expone el objeto $conexion directamente de forma global
// Intentaremos usar la variable global si existe
global $conexion;
if (isset($conexion) && $conexion->error) {
    echo "<p style='color:red;'>Error MySQL: " . $conexion->error . "</p>";
} else {
    echo "<p>No se detectaron errores inmediatos.</p>";
}
?>
