Evilnapsis

Programming, Hacking and More

Databases

Modelo de base de datos del sistema de citas medicas BookMedik

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.

Agustin Ramos

Desarrollador de Software

2 thoughts on “Modelo de base de datos del sistema de citas medicas BookMedik

Leave a Reply