<?php
/**
 * POST /api/lab/save_orden.php
 * Crea o actualiza datos de una orden médica (sin cambiar estado).
 * Body JSON:
 *   { id?, paciente_id, conversation_id?, whatsapp_media_id?, local_file?,
 *     medico_nombre?, medico_registro?, fecha_orden?, diagnostico?,
 *     examenes_solicitados?, requiere_ayuno?, horas_ayuno?,
 *     indicaciones?, notas_admin? }
 */
require_once __DIR__ . '/_helpers.php';
requireMethod('POST');

try {
    $datos = inputJson();
    $om    = new OrdenMedica();
    $admin = adminId();

    if (!empty($datos['id'])) {
        $id = (int)$datos['id'];
        unset($datos['id']);
        $om->actualizar($id, $datos, $admin);
        jsonOk(['id' => $id], 'Orden actualizada correctamente');
    } else {
        if (empty($datos['paciente_id'])) {
            jsonError('El campo paciente_id es obligatorio');
        }
        $id = $om->crear($datos, $admin);
        jsonOk(['id' => $id], 'Orden creada correctamente');
    }
} catch (Exception $e) {
    jsonError($e->getMessage(), 500);
}
