07 Módulo Pacientes Formulario de Creacion Asignación Rol Paciente Sis Odontológico Clinica Dental
Duración: 28 min
Módulo: Módulo de Gestión de Pacientes (CRUD Completo)
Lección 2 de
4
Descripción
🎓 Lección 07: Módulo Pacientes — Formulario de Creación y Asignación de Rol
Objetivo: Diseñar la arquitectura de base de datos para la entidad de pacientes, implementar la relación con usuarios mediante llaves foráneas, y desarrollar el flujo completo de creación con asignación automática de rol en Laravel.
🚀 Pasos Clave con Timestamps
- ⏱️ 01:37 Diseño y Relación de Entidades: Análisis del diagrama DML para conectar la tabla pacientes con users mediante la llave foránea usuario_id con borrado en cascada.
- ⏱️ 04:30 Creación de Modelo y Migración: Ejecución del comando Artisan para generar el modelo Paciente, migración y controlador con recursos en una sola instrucción.
- ⏱️ 07:44 Configuración de Relaciones ORM: Definición del atributo $fillable y relaciones en Eloquent (belongsTo en Paciente y hasOne en User).
- ⏱️ 09:50 Rutas de Recurso y Vistas Blade: Configuración de rutas HTTP independientes (index, create, store, show, edit, update, destroy) y estructuración del directorio de vistas.
- ⏱️ 14:48 Vista de Listado General: Implementación de la vista principal con paginación, filtro de búsqueda y botones de acción.
- ⏱️ 19:48 Formulario Dinámico de Registro: Construcción del formulario de alta con campos médicos, hábitos y antecedentes en formato array.
- ⏱️ 21:11 Procesamiento de Transacción y Rol: Implementación del método store para registrar de forma atómica el usuario, asignar el rol de paciente y guardar la ficha médica.
🛠️ Comandos y Rutas Principales
| Tipo | Comando / Ruta HTTP | Función |
|---|---|---|
| 💻 Terminal | php artisan make:model Paciente -mcr | Crea Modelo, Migración y Controller con recursos |
| 💻 Terminal | php artisan migrate | Ejecuta las migraciones pendientes en la BD |
| 🌐 Ruta HTTP | GET /admin/pacientes | Método index() — Muestra el listado paginado |
| 🌐 Ruta HTTP | GET /admin/pacientes/create | Método create() — Despliega el formulario de alta |
| 🌐 Ruta HTTP | POST /admin/pacientes | Método store() — Procesa y guarda el nuevo registro |
| 🌐 Ruta HTTP | GET /admin/pacientes/{id} | Método show() — Visualización detallada de la ficha |
🔒 Buenas Prácticas y Seguridad
- 🔐 Transacciones en Base de Datos (DB::transaction): Como el alta involucra crear registros en tres tablas distintas (users, model_has_roles y pacientes), rodea la lógica del controlador en una transacción de BD para revertir cambios (rollback) si algún paso falla.
- 🛡️ Validación Estricta de Entradas: Exige la regla unique:pacientes,numero_documento y valida el formato de arreglos para los hábitos/antecedentes antes de persistir la información.
- 🔑 Credenciales Automáticas Seguras: Muestra advertencias claras de cambio de clave tras el primer ingreso si utilizas el número de documento como contraseña provisional.
Lecciones
Introducción, Configuración Base & UI
Seguridad, Autenticación & Roles con Spatie
Módulo de Gestión de Pacientes (CRUD Completo)
Repositorio & Código Fuente Base
Módulo de Doctores & Cuerpo Médico
Horarios de Atención & Agenda Médica
Especialidades & Tratamientos Odontológicos
Autenticación Social & Registro de Pacientes
Seguridad Avanzada, Permisos & Control de UI
Agendamiento, Reservas & Control de Citas Interactivo
Expediente Clínico, Prescripción & Odontograma Interactivo
Notificaciones, Finanzas & Seguridad de Datos
Lección 1. 33 Módulo de Caja y Pagos Comprobantes Pagos Parciales en Laravel Sistema de Odontología
15 min
Lección 3. 35 Respondiendo Comentarios en el curso de Sistema de Gestión Odontológico en Laravel
13 min
Lección 6. 38 🎁 REGALAMOS EL CODIGO FUENTE para Clínicas Dentales en Laravel si llegamos a la meta 🔥
21 min
Despliegue en Producción & Configuración Final
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️