Sistema de canalización electrónica en servlets y JSP
Descripción general
El sistema E-Channeling es una aplicación basada en la web desarrollada con Servlets Java y JSP, destinado a facilitar el proceso de reserva de citas entre médicos y pacientes. Este sistema permite a los médicos administrar sus horarios de canalización y pacientes para reservar citas, ver sus horarios y administrar sus perfiles. El sistema garantiza la persistencia de datos almacenando toda la información en una base de datos MySQL.
Para obtener requisitos detallados del proyecto, consulte los requisitos del sistema de canalización electrónico.pdf
Capturas de pantalla de las páginas clave en el sistema de canal electrónico:
Página de bienvenida

Página de inicio de sesión del doctor

Página de registro de doctor

Página de programación de canalización del doctor

Doctor Agregar nueva página de horario

Página de programación de canalización de la actualización del médico

Página de programación de Doctor Eliminar

Página de perfil de usuario del médico

Página de perfil de usuario de edición de doctor

Página de inicio de sesión del paciente

Página de registro del paciente

Página de vista de la lista de citas del paciente

Página de vista de lista de citas completa

Página de vista de la lista de citas confirmada del paciente

Página de perfil de usuario del paciente

Página de perfil de usuario de edición del paciente

Página de cita de confirmación del paciente

Página de cita de cancelación del paciente

Diagrama de casos de uso y diagrama de clases
Diagrama de casos de uso

Diagrama de clases

Características
- Registro de médico y gestión de perfil:
- Los médicos pueden registrarse con un ID de usuario, nombre, contraseña, teléfono y especialización únicos de usuario.
- Después de iniciar sesión, los médicos pueden actualizar su número de teléfono y especialización.
- Gestión del horario de doctor:
- Los médicos pueden agregar, ver, actualizar y eliminar sus horarios de canalización.
- Cada horario incluye la identificación del médico, la fecha de canalización, la hora y el número máximo de pacientes permitidos.
- El sistema asegura que un médico solo pueda tener un horario de canalización por fecha.
- Registro del paciente y gestión del perfil:
- Los pacientes pueden registrarse con NIC, nombre, teléfono y contraseña.
- Después de iniciar sesión, los pacientes pueden ver y actualizar su información personal.
- Los pacientes no pueden cambiar su NIC.
- Reserva de citas:
- Los pacientes pueden ver los horarios de canalización disponibles y hacer citas.
- Los pacientes solo pueden reservar una cita por horario de canalización para evitar conflictos.
- Los pacientes pueden ver sus citas confirmadas y cancelar si es necesario.
- Navegación e interfaz de usuario:
- Se proporciona una barra de navegación consistente para facilitar el uso, lo que permite el acceso a varias secciones como listas de citas, citas personales, perfiles de usuario y cierre de sesión.
Estructura de base de datos
La base de datos para el sistema de canalización electrónico está diseñada para administrar información para médicos, pacientes, programas de canalización y citas. Incluye las siguientes tablas:
- Tabla de médicos: almacena información sobre médicos, incluidos su ID de usuario, nombre, contraseña, teléfono y especialización.
- Tabla de pacientes: contiene detalles del paciente como NIC, nombre, contraseña, teléfono y correo electrónico.
- Tabla de programación de canalización: gestiona la programación de citas médicas, incluidos detalles como ID de médico, fecha de canalización, hora, pacientes máximos permitidos y el número actual de pacientes.
- Tabla de citas: registra las citas hechas por los pacientes, incluida la identificación de programación de canalización, la NIC del paciente, la fecha de la cita, la hora de la cita y el estado.
Estructura de base de datos

Mesa de los médicos
| Columna | Tipo de datos | Restricciones |
|---|
| ID de usuario | Varchar (10) | Clave principal |
| nombre | Varchar (100) | No nulo |
| contraseña | Varchar (100) | No nulo |
| teléfono | Varchar (15) | No nulo |
| especialización | Varchar (100) | No nulo |
Pacientes mesa
| Columna | Tipo de datos | Restricciones |
|---|
| Nic | Varchar (12) | Clave principal |
| nombre | Varchar (100) | No nulo |
| contraseña | Varchar (100) | No nulo |
| teléfono | Varchar (15) | No nulo |
| correo electrónico | Varchar (100) | No nulo |
Tabla de programación de canalización
| Columna | Tipo de datos | Restricciones |
|---|
| identificación | Intencionalmente | Clave principal |
| doctor_id | Varchar (10) | Clave extranjera |
| canaling_date | FECHA | No nulo |
| tiempo | TIEMPO | No nulo |
| Max_Patients | Intencionalmente | No nulo |
| Current_patients | Intencionalmente | No nulo |
Mesa
| Columna | Tipo de datos | Restricciones |
|---|
| canaling_schedule_id | Intencionalmente | Clave externa, clave compuesta |
| paciente_nic | Varchar (12) | Clave externa, clave compuesta |
| cita_date | FECHA | No nulo |
| cita_time | TIEMPO | No nulo |
| estado | Varchar (20) | No nulo |
Configuración
Configuración inicial del proyecto y conexión del servidor Tomcat con NetBeans
- Descargar e instalar NetBeans:
- Descargue la última versión de NetBeans del sitio web oficial.
- Siga las instrucciones de instalación proporcionadas.
- Descargue e instale Apache Tomcat:
- Descargue Apache Tomcat desde el sitio web oficial.
- Extraiga el archivo zip descargado a una ubicación preferida en su sistema.
- Configurar Apache Tomcat en NetBeans:
- Netbeans abiertos.
- Vaya a Herramientas> Servidores.
- Haga clic en "Agregar servidor" en la ventana de los servidores.
- Elija Apache Tomcat y especifique la ubicación de su instalación de Tomcat.
- Complete la configuración siguiendo las instrucciones en pantalla.
Configurar Apache Tomcat
Configuración de la base de datos
Para configurar la base de datos para el sistema de canal electrónico, siga estos pasos:
- Descargar e instalar XAMPP:
- Descargue XAMPP desde el sitio web oficial.
- Siga las instrucciones de instalación proporcionadas.
- Comienza mysql:
- Abra el panel de control XAMPP.
- Comience el servicio MySQL.
- Crear y llenar la base de datos:
- Abra PhPMyAdmin desde el panel de control XAMPP.
- Cree una nueva base de datos llamada "e_channeling_system".
Ejecute el siguiente comando SQL para crear la base de datos:
CREATE DATABASE e_channeling_system ;
- Ejecute las siguientes consultas SQL para crear y llenar las tablas:
Cambiar a la base de datos recién creada:
Ejecute los siguientes comandos SQL para crear las tablas necesarias:
Crea la mesa del médico
CREATE TABLE doctors (
userID VARCHAR ( 10 ) PRIMARY KEY ,
name VARCHAR ( 100 ) NOT NULL ,
password VARCHAR ( 100 ) NOT NULL ,
phone VARCHAR ( 15 ) NOT NULL ,
specialization VARCHAR ( 100 ) NOT NULL
); Crea la mesa de los pacientes
CREATE TABLE patients (
NIC VARCHAR ( 12 ) PRIMARY KEY ,
name VARCHAR ( 100 ) NOT NULL ,
password VARCHAR ( 100 ) NOT NULL ,
phone VARCHAR ( 15 ) NOT NULL ,
email VARCHAR ( 100 ) NOT NULL
); Crea la tabla de programación de canalización
CREATE TABLE channeling_schedule (
id INT AUTO_INCREMENT PRIMARY KEY ,
doctor_id VARCHAR ( 10 ),
channeling_date DATE NOT NULL ,
time TIME NOT NULL ,
max_patients INT NOT NULL ,
current_patients INT NOT NULL ,
FOREIGN KEY (doctor_id) REFERENCES doctors(userID)
); Crea la tabla de citas
CREATE TABLE appointments (
channeling_schedule_id INT ,
patient_NIC VARCHAR ( 12 ),
appointment_date DATE NOT NULL ,
appointment_time TIME NOT NULL ,
status VARCHAR ( 20 ) NOT NULL ,
PRIMARY KEY (channeling_schedule_id, patient_NIC),
FOREIGN KEY (channeling_schedule_id) REFERENCES channeling_schedule(id),
FOREIGN KEY (patient_NIC) REFERENCES patients(NIC)
); Tecnologías y herramientas
- Servlets de Java
- Páginas del servidor Java (JSP)
- Base de datos mysql
- HTML/CSS para diseño frontal
- Apache Tomcat para la implementación del servidor
- XAMPP
- Apache netbeans
Contribuciones
Las contribuciones para mejorar la funcionalidad y las características del sistema de canalización electrónico son bienvenidas. Siga el flujo de trabajo de GitHub estándar para enviar solicitudes de extracción.
Licencia
Licencia de MIT
Nota
Asegúrese de que el controlador MySQL JDBC (MySQL-Connector-Java -... Jar) se agregue al directorio "Web-INF/LIB" de su proyecto.