prepare($query)->execute([$table]); return $result; } function createPatient($pdo, $data) { $query = "INSERT INTO paciente (nombre, apellido, fecha_de_nacimiento, documento_identificativo, tipo_documento, direccion, localidad, provincia, pais) VALUES (?,?,?,?,?,?,?,?,?)"; $pdo->prepare($query)->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"], $data["documento_identificativo"], $data["tipo_documento"], $data["direccion"], $data["localidad"], $data["provincia"], $data["pais"]]); return "Paciente creado con éxito"; } function editPatient($pdo, $data, $id) { $query = "UPDATE paciente SET nombre=?, apellido=?, fecha_de_nacimiento=?, documento_identificativo=?, tipo_documento=?, direccion=?, localidad=?, provincia=?, pais=? WHERE id=?"; $result = $pdo->prepare($query); $result->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"], $data["documento_identificativo"], $data["tipo_documento"], $data["direccion"], $data["localidad"], $data["provincia"], $data["pais"], $id]); return "Paciente modificado con éxito"; } function deletePatient($pdo, string $id) { $check = "SELECT * FROM informes where paciente = ?"; $result = $pdo->prepare($check); $result->execute([$id]); if($result->columnCount() == 0){ $statement = "DELETE FROM paciente where id=?"; $pdo->prepare($statement)->execute([$id]); return "El paciente se ha eliminado correctamente"; } return "No se puede eliminar el paciente dado que tiene citas"; } function createHoliday($pdo, $data) { $query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)"; $pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]); return "Festivo creado con éxito"; } function editHoliday($pdo, $attr, $param, $id) { $query = "UPDATE festivo SET ? = ? WHERE id = ?"; $pdo->prepare($query)->execute([$attr, $param, $id]); return "Festivo modificado con éxito"; } function deleteHoliday($pdo, str $id) { $statement = "DELETE FROM festivo where id = ?"; $pdo->prepare($statement)->execute([$id]); return "Festivo borrado con éxito"; } function createUser($pdo, $data) { $query = "INSERT INTO usuario (nombre, usuario, contraseña, rol, correo) VALUES (?,?,?,?,?)"; $pdo->prepare($query)->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data["correo"]]); return "Usuario creado con éxito"; } function editUser($pdo, $data, $id) { $query = "UPDATE usuario SET nombre=?, usuario=?, contraseña=?, rol=?, correo=? WHERE id=?"; $result = $pdo->prepare($query); $result->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data["correo"], $id]); return "Usuario modificado con éxito"; } function deactivateUser($pdo, $data, $id) { $query = "UPDATE usuario SET fecha_baja=now() WHERE id=?"; $result = $pdo->prepare($query); $result->execute([$id]); return "Usuario desactivado con éxito"; } function listAppointments($pdo, string $doctor) { findRows($pdo, "cita", "medico", $doctor); } function listUsers($pdo) { $query = "SELECT usuario.nombre, usuario.usuario, rol.nombre, usuario.correo, usuario.id, fecha_baja FROM usuario INNER JOIN rol ON usuario.rol = rol.codigo"; $result = $pdo->query($query)->fetchAll(); return $result; } function fetchUserData($pdo, string $id) { $query = "SELECT * FROM usuario WHERE id=?"; $result = $pdo->prepare($query); $result->execute([$id]); $data = $result->fetch(); return $data; } function findUser($pdo, $input) { $input = "%$input%"; $query = "SELECT usuario.nombre, usuario.usuario, rol.nombre, usuario.correo, usuario.id, fecha_baja FROM usuario, rol WHERE usuario.rol=rol.codigo AND (usuario.nombre LIKE ? OR usuario.usuario LIKE ? OR usuario.correo LIKE ?)"; $result = $pdo->prepare($query); $result->execute([$input, $input, $input]); $data = $result->fetchAll(); return $data; } function listPatients($pdo) { $query = "SELECT paciente.id, paciente.nombre, paciente.apellido, paciente.fecha_de_nacimiento, paciente.documento_identificativo, paciente.tipo_documento, paciente.direccion, paciente.localidad, paciente.provincia, paciente.pais, cita.id, informe.titulo FROM paciente LEFT JOIN cita ON paciente.id=cita.paciente LEFT JOIN informe ON paciente.id=informe.paciente GROUP BY paciente.id, cita.id, informe.titulo"; $result = $pdo->prepare($query); $result->execute(); $data = $result->fetchAll(); return $data; } function fetchPatientData($pdo, string $id) { $query = "SELECT * FROM paciente WHERE id=?"; $result = $pdo->prepare($query); $result->execute([$id]); $data = $result->fetch(); return $data; } function findPatient($pdo, $input) { $input = "%$input%"; $query = "SELECT * FROM paciente WHERE nombre LIKE ? OR apellido LIKE ? OR documento_identificativo LIKE ?"; $result = $pdo->prepare($query); $result->execute([$input, $input, $input]); $data = $result->fetchAll(); return $data; } ?>