El sistema Bookmedik cuenta con 7 tablas para gestionar las citas, usuarios, médicos, categorías, estados y estado de pagos.
Como ya saben el sistema de gestion de citas medicas sirve para administrar las citas de un centro medico, clinica o spa y que con algunas modificaciones se puede adaptar a cualquier uso.
Base de datos
A continuacion les muestro el diagrama de la base de datos, creado con el mysql WorkBench.
La base de datos del sistema BookMedik tiene 7 tablas:
- user
- category
- pacient
- medic
- status
- payment
- reservation
Link a el archivo SQL de la BD: https://github.com/evilnapsis/bookmedik/blob/master/schema.sql
Ahora les describiré cada una de las tablas.
User
La tabla user sirve para almacenar los usuarios que tienen acceso al sistema, los campos son:
- id: id o llave primaria
- name: nombre del usuario
- lastname: apellido
- username: nombre de usuario
- email: email
- password: contraseña de acceso
- is_active: valor booleano para identificar si esta activo o inactivo
- is_admin: valor booleano para identificar si el usuario es administrador
- created_at: fecha de creación del usuario
Consultas útiles
- Login valido del usuario: select * from user where (email=”EMAIL” and password=”PASSWORD”) and is_active=1
Category
La tabla category sirve para las categorías de los productos del sistema.
Campos
- id: Id auto incremental
- name: Nombre de la categoría, el que se muestra en el sistema
En la tabla medic existe un campo llamado category_id que se relaciona con el id de una categoría.
Payment
La tabla payment sirve para almacenar los estados de pagos: Pagado, Pendiente, Cancelado, etc.
Campos
- id: Id auto incremental
- name: Nombre del estado de pago, el que se muestra en el sistema
En la tabla reservation existe un campo llamado payment_id que se relaciona con el id de un payment.
Status
La tabla statussirve para almacenar los estados de la cita: Atendido, No atendido, Cancelado, No se presento el paciente, etc.
Campos
- id: Id auto incremental
- name: Nombre del estado, que se muestra en el sistema
En la tabla reservation existe un campo llamado status_id que se relaciona con el id de un status.
Pacient
Sirve para guardar los datos de los pacientes.
Campos:
- id: Id auto incremental
- no: Codigo interno del paciente, se puede usar como RUC, NIT , RFC o INE dependiendo de cada pais.
- name: El nombre(s) del paciente
- lastname: Los apellidos del paciente
- gender: El genero del paciente
- day_of_birth: La fecha de nacimiento
- email: El correo electronico
- address: La direccion o domicilio
- phone: El telefono
- image: La imagen de perfil del paciente
- sick: Si padece alguna Enfermedad
- medicaments: Si requiere algunmedicamente
- alergy: Si el paciente tiene alguna alergia
- created_at: Fecha en que se crea el registro del paciente
Medic
Sirve para guardar los datos de los médicos.
Campos:
- id: Id auto incremental
- no: Codigo interno del medico, se puede usar como RUC, NIT , RFC o INE dependiendo de cada pais.
- name: El nombre(s) del medico
- lastname: Los apellidos del medico
- gender: El genero del medico
- day_of_birth: La fecha de nacimiento
- email: El correo electronico
- address: La direccion o domicilio
- phone: El telefono
- image: La imagen de perfil del medico
- created_at: Fecha en que se crea el registro del medico
Reservation
La tabla reservation sirve para almacenar los datos relacionados con las citas.
Campos:
- id: Id auto incremental
- title: Asunto de la cita
- note: Nota u observaciones
- message: Algun mensaje o descripcion
- date_at: Fecha de la cita
- time_at: Hora de la cita
- pacient_id: El id o identificador del paciente.
- medic_id: Id o identificador del medico
- symtoms: Sintomas que presenta el paciente
- sick: Enfermedad que presenta el paciente
- medicaments: Medicamentos que se recentan
- user_id: Id del usuario que crea la cita
- price: Costo de la cita
- payment_id: Id del estado de pago
- status_id: Id del estado de la cita
Conclusión
Como podrán ver el modelo de la base de datos es bastante sencillo.
Al ver el modelo y ver para que sirve cada campo del sistema ustedes podrán modificar la base de datos a sus necesidades.
No olviden suscribirse a mi blog para que reciban notificaciones cuando se crean nuevos artículos.
Muchas gracias por tu aporte buen hombre 🙂
Excelente aporte amigo