Generation

generate functionMon, 14 Apr 2025

Sistema de Gestión de Citas Médicas para un Centro de Salud El Centro Médico Vida Saludable es una clínica especializada en el seguimiento y monitoreo integral de la salud de sus pacientes. Entre los servicios que ofrece se encuentra la gestión de cada consulta médica para garantizar un adecuado seguimiento de la evolución de cada paciente. Por tanto, se requiere el desarrollo de un Sistema de Gestión de Citas Médicas que facilite la administración de la información de los pacientes, doctores y citas médicas. Este sistema permitirá llevar un control preciso del historial médico de cada paciente, asegurando la disponibilidad de los doctores y optimizando la planificación de las consultas. El sistema será implementado en Python, utilizando listas para la manipulación de datos y archivos de texto plano para su almacenamiento. Con esta solución, se garantizará un acceso estructurado a la información, permitiendo consultas rápidas y generación de reportes detallados que contribuyan a una mejor toma de decisiones en la atención médica. Funciones del Sistema El sistema deberá permitir: • Registrar nuevos pacientes y doctores. • Gestión de citas médicas. • Administrar el historial médico del paciente. • Gestionar la agenda del doctor. • Verificar disponibilidades. Menú de Opciones 1. Registrar paciente. 2. Registrar doctor. 3. Registrar cita médica. 4. Agregar consulta al historial médico. 5. Mostrar historial médico. 6. Agregar horario a la agenda del doctor. 7. Mostrar agenda del doctor. 8. Verificar disponibilidad del doctor. 9. Contar citas pendientes. 10. Buscar citas de un paciente. 11. Salir Creación de la base de datos • Todos los datos serán almacenados en archivos de texto plano con formato estructurado. • Se utilizarán los siguientes archivos: o pacientes.txt: Contendrá la información de los pacientes. o doctores.txt: Almacenará los datos de los doctores. o citas.txt: Guardará las citas médicas registradas. o agenda_doctores.txt: Mantendrá la agenda de horarios de cada doctor. o historial_medico.txt: Contendrá el historial médico de los pacientes, gestionado por separado. Estructura de Archivos Pacientes (pacientes.txt) Formato: cedula,nombre,telefono,correo Ejemplo: 12345678,Juan Pérez,5551234,juanperez@email.com 98765432,Ana Gómez,5555678,anagomez@email.com Doctores (doctores.txt) Formato: cedula,nombre,especialidad,telefono Ejemplo: 11111111,Dr. Martínez,Cardiología,5559876 22222222,Dra. López,Pediatría,5558765 Citas (citas.txt) Formato: cedula_paciente,cedula_doctor ,fecha,hora,estado Ejemplo: 12345678,11111111 ,2025-03-15,09:00,pendiente 98765432,22222222 ,2025-03-16,10:30,completada Historial Médico (historial_medico.txt) Formato: cedula_paciente,fecha,descripcion,doctor Ejemplo: 12345678,2025-02-10,Consulta general,Dr. Martínez 12345678,2025-02-15,Examen de laboratorio,Dr. López Agenda de Doctores (agenda_doctores.txt) Formato: cedula_doctor,fecha,hora,estado Ejemplo: 11111111,2025-03-15,09:00,ocupado 11111111,2025-03-15,10:00,disponible Requerimientos Funcionales 1. Registro de Pacientes • Permitir la incorporación de pacientes con los siguientes datos: cédula, nombre, teléfono y correo electrónico. • Verificar que la cédula no esté duplicada antes de agregar un nuevo paciente. • Guardar los datos en el archivo pacientes.txt. Registro de Doctores • Registrar doctores con los siguientes atributos: cédula, nombre, especialidad y teléfono. • Asegurar que la cédula no esté repetida. • Almacenar la información en doctores.txt. Gestión de Citas Médicas • Crear citas médicas asociadas a un paciente y un doctor en una fecha y hora específicas. • Comprobar la existencia del paciente y del doctor antes de registrar la cita. • Confirmar que el doctor no tenga otra cita en la misma fecha y hora. • Guardar las citas en citas.txt. • Datos a solicitar para registro: cedula_paciente,cedula_doctor ,fecha,hora, siempre la primera vez se ingresa en estado pendiente • Datos a solicitar para consulta: cedula_paciente Historial Médico del Paciente • Vincular el historial médico de cada paciente a través de un archivo separado llamado historial_medico.txt. • El historial de cada paciente se gestionará por separado y contendrá una lista de consultas realizadas, cada una con su fecha, descripción y el nombre del doctor tratante. • Permitir agregar nuevas consultas y acceder al historial completo de un paciente. • Datos a solicitar cedula_paciente,fecha,descripcion,doctor para • Datos a solicitar para consulta: cedula_paciente Agenda del Doctor registro: • Cada doctor tendrá una agenda de citas con los días y horarios en los que tiene consultas programadas. • La agenda se almacenará en agenda_doctores.txt, registrando las fechas y horas disponibles o reservadas. • Permitir agregar nuevos horarios a la agenda y consultar los horarios disponibles. • Datos a solicitar para registro: cedula_doctor,fecha,hora,estado • Datos a solicitar para consulta: cedula_doctor Verificación de Disponibilidad • Consultar los horarios disponibles de un doctor en una fecha específica. • Mostrar los horarios libres en la pantalla para facilitar la asignación de citas. • Datos a solicitar para consulta: cedula_doctor Funciones Recursivas En este proyecto, se requiere el uso de recursividad para implementar funciones que generen reportes estadísticos dentro del sistema de gestión de citas médicas. La recursividad es una técnica en la que una función se llama a sí misma para resolver un problema de manera progresiva, descomponiéndolo en casos más pequeños hasta alcanzar una condición base que detenga la ejecución. Casos a resolver con recursividad Se deben implementar las siguientes funciones recursivas: • Contar Citas Pendientes La función recorre la lista de citas almacenadas en el archivo citas.txt y cuenta cuántas tienen el estado "pendiente". o Caso base: Si no hay más citas en la lista, devuelve 0. o Caso recursivo: Si la primera cita en la lista está en estado "pendiente", suma 1 al contador y llama recursivamente a la función con el resto de la lista. • Buscar Citas de un Paciente La función busca todas las citas asociadas a un paciente en particular utilizando su cédula. o Caso base: Si la lista de citas está vacía, devuelve una lista vacía. o Caso recursivo: Si la cédula del paciente coincide con la de la primera cita en la lista, la agrega a la lista de resultados y llama a la función con el resto de la lista.

Please keep input under 1000 characters

Want to kickstart your project?Use the new AI Studio to create your code