logo bco de sangre-rojo

HISTORIA CLINICA DEL DONANTE

Sistema de Atención al Donante (SAD)

Formulario de Registro de Donantes

Historia Clínica del Donante

Historia Clínica del Donante

Consulta de Donante Existente

connect_error) { die("Error de conexión: " . $conn->connect_error); } // Variables para mensajes y datos $mensajeExito = ''; $mensajeError = ''; $datosDonante = null; $cedulaConsultada = ''; // =========================================== // PROCESAMIENTO: CONSULTA DE DONANTE EXISTENTE // =========================================== if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['consultar'])) { $cedula_consulta = $_POST['consulta_cedula']; $cedulaConsultada = $cedula_consulta; // Limpiar cédula: quitar puntos y espacios, dejar solo números $cedula_limpia = preg_replace('/[^0-9]/', '', $cedula_consulta); if (!empty($cedula_limpia)) { // Consultar en la tabla datos_del_donante $sql_consulta = "SELECT * FROM datos_del_donante WHERE REPLACE(cedula, '.', '') = ?"; $stmt_consulta = $conn->prepare($sql_consulta); if ($stmt_consulta) { $stmt_consulta->bind_param("s", $cedula_limpia); $stmt_consulta->execute(); $resultado = $stmt_consulta->get_result(); if ($resultado->num_rows > 0) { $datosDonante = $resultado->fetch_assoc(); $mensajeExito = "✅ Donante encontrado. Los datos han sido cargados en el formulario."; } else { $mensajeError = "❌ No se encontró ningún donante con la cédula: " . $cedula_consulta; } $stmt_consulta->close(); } else { $mensajeError = "❌ Error en la consulta a la base de datos."; } } else { $mensajeError = "❌ Por favor ingrese un número de cédula válido."; } } // =========================================== // PROCESAMIENTO: GUARDADO DE NUEVO DONANTE // =========================================== if ($_SERVER['REQUEST_METHOD'] === 'POST' && !isset($_POST['consultar'])) { $nro_historia = $_POST['nro_historia']; // Verificar si el número de historia ya existe $check_sql = "SELECT COUNT(*) as total FROM datos_del_donante WHERE nro_historia = ?"; $check_stmt = $conn->prepare($check_sql); $check_stmt->bind_param("s", $nro_historia); $check_stmt->execute(); $result = $check_stmt->get_result(); $row = $result->fetch_assoc(); if ($row['total'] > 0) { $mensajeError = "❌ El donante ya existe. Hay un registro con el número de historia: " . $nro_historia . ". Puede buscarlo en el buscador de donantes."; } else { // Procesar fecha de donación $fecha_donacion_user = $_POST['fecha_donacion']; $fecha_partes = explode('/', $fecha_donacion_user); if(count($fecha_partes) === 3) { $fecha_donacion_db = $fecha_partes[2].'-'.$fecha_partes[1].'-'.$fecha_partes[0]; } else { $fecha_donacion_db = date('Y-m-d'); } // Recoger datos del formulario $tipo_donacion = $_POST['tipo_donacion']; $nombre = $_POST['nombre']; $apellido = $_POST['apellido']; $cedula = $_POST['cedula']; $edad = $_POST['edad']; $sexo = $_POST['sexo']; $fecha_nacimiento = $_POST['fecha_nacimiento']; $lugar_nacimiento = $_POST['lugar_nacimiento']; $ubicacion = $_POST['ubicacion']; $sector = $_POST['sector']; $estado = $_POST['estado']; $profesion = $_POST['profesion']; $ocupacion = $_POST['ocupacion']; $telefono = $_POST['telefono']; $paciente_receptor = $_POST['paciente_receptor']; $ubicacion_paciente = $_POST['ubicacion_paciente']; // Normalizar tipo de donación if ($tipo_donacion === "Reposición") { $tipo_donacion = "Reposicion"; } // Preparar consulta de inserción $sql = "INSERT INTO datos_del_donante (nro_historia, fecha_donacion, tipo_donacion, nombre, apellido, cedula, edad, sexo, fecha_nacimiento, lugar_nacimiento, ubicacion, sector, estado, profesion, ocupacion, telefono, paciente_receptor, ubicacion_paciente) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $stmt = $conn->prepare($sql); if ($stmt) { $stmt->bind_param("ssssssisssssssssss", $nro_historia, $fecha_donacion_db, $tipo_donacion, $nombre, $apellido, $cedula, $edad, $sexo, $fecha_nacimiento, $lugar_nacimiento, $ubicacion, $sector, $estado, $profesion, $ocupacion, $telefono, $paciente_receptor, $ubicacion_paciente); if ($stmt->execute()) { header("Location: https://grupomedisur.com/hdonantes/Consultas.php"); exit; } else { $mensajeError = "❌ Error al guardar los datos: " . $stmt->error; } $stmt->close(); } else { $mensajeError = "❌ Error al preparar la consulta: " . $conn->error; } } $check_stmt->close(); } ?>

Detalles de Donación

Información Personal

Ubicación

Datos Profesionales

Información del Paciente Receptor

Scroll al inicio
logo bco de sangre-rojo

Bienvenido al Sistema de

Atencion del Donante

logo bco de sangre-rojo