<?php
echo "<h2>PRUEBA - Ordenamiento por Fecha de Estudio</h2>";

// Simular datos de estudios con diferentes fechas
$jsonData = [
    [
        "MainDicomTags" => [
            "StudyDate" => "20250915", // 15 de septiembre
            "StudyDescription" => "Radiografía Propia"
        ],
        "PatientMainDicomTags" => [
            "PatientName" => "Paciente Propio",
            "PatientID" => "PROP001"
        ],
        "es_derivado" => false
    ],
    [
        "MainDicomTags" => [
            "StudyDate" => "20250920", // 20 de septiembre
            "StudyDescription" => "Cone Beam Derivado"
        ],
        "PatientMainDicomTags" => [
            "PatientName" => "Paciente Derivado",
            "PatientID" => "DER001"
        ],
        "es_derivado" => true,
        "fecha_derivacion" => "2025-09-18 20:45:45"
    ],
    [
        "MainDicomTags" => [
            "StudyDate" => "20250918", // 18 de septiembre
            "StudyDescription" => "Panorámica Derivada"
        ],
        "PatientMainDicomTags" => [
            "PatientName" => "Paciente Derivado 2",
            "PatientID" => "DER002"
        ],
        "es_derivado" => true,
        "fecha_derivacion" => "2025-09-19 10:30:00"
    ]
];

echo "<h3>1. Datos ANTES del ordenamiento:</h3>";
echo "<table border=\"1\">";
echo "<tr><th>Tipo</th><th>Paciente</th><th>StudyDate</th><th>Fecha Derivacion</th><th>Descripción</th></tr>";
foreach ($jsonData as $study) {
    $tipo = isset($study["es_derivado"]) && $study["es_derivado"] ? "DERIVADO" : "PROPIO";
    $fechaDerivacion = isset($study["fecha_derivacion"]) ? $study["fecha_derivacion"] : "N/A";
    echo "<tr>";
    echo "<td>" . $tipo . "</td>";
    echo "<td>" . $study["PatientMainDicomTags"]["PatientName"] . "</td>";
    echo "<td>" . $study["MainDicomTags"]["StudyDate"] . "</td>";
    echo "<td>" . $fechaDerivacion . "</td>";
    echo "<td>" . $study["MainDicomTags"]["StudyDescription"] . "</td>";
    echo "</tr>";
}
echo "</table>";

// Aplicar el ordenamiento CORRECTO (por StudyDate)
usort($jsonData, function($a, $b) {
    $fechaA = $a["MainDicomTags"]["StudyDate"];
    $fechaB = $b["MainDicomTags"]["StudyDate"];
    return strtotime($fechaB) - strtotime($fechaA);
});

echo "<h3>2. Datos DESPUÉS del ordenamiento (por StudyDate):</h3>";
echo "<table border=\"1\">";
echo "<tr><th>Orden</th><th>Tipo</th><th>Paciente</th><th>StudyDate</th><th>Fecha Derivacion</th><th>Descripción</th></tr>";
foreach ($jsonData as $index => $study) {
    $tipo = isset($study["es_derivado"]) && $study["es_derivado"] ? "DERIVADO" : "PROPIO";
    $fechaDerivacion = isset($study["fecha_derivacion"]) ? $study["fecha_derivacion"] : "N/A";
    echo "<tr>";
    echo "<td>" . ($index + 1) . "</td>";
    echo "<td>" . $tipo . "</td>";
    echo "<td>" . $study["PatientMainDicomTags"]["PatientName"] . "</td>";
    echo "<td>" . $study["MainDicomTags"]["StudyDate"] . "</td>";
    echo "<td>" . $fechaDerivacion . "</td>";
    echo "<td>" . $study["MainDicomTags"]["StudyDescription"] . "</td>";
    echo "</tr>";
}
echo "</table>";

echo "<h3>3. Resultado:</h3>";
echo "<p style=\"color: green;\"><strong> ÉXITO:</strong> Los estudios se ordenan correctamente por fecha del estudio (StudyDate), no por fecha de derivación</p>";
echo "<p><strong>Orden correcto:</strong> 20/09  18/09  15/09 (más reciente primero)</p>";
?>
