31 Módulo de Odontograma Anatómico e Interactivo en Laravel con Sistema FDI y PDF Automático
Duración: 15 minDescripción
🎓 Lección 31: Módulo de Odontograma Anatómico e Interactivo en Laravel con Sistema FDI y PDF Automático
Objetivo General: Diseñar e integrar la arquitectura completa del odontograma digital interactivo, permitiendo el marcado visual de patologías en piezas dentales (adulto e infantil), la persistencia dinámica mediante JSON y la generación automática del reporte clínico en formato PDF.
🚀 Pasos Clave con Timestamps
- ⏱️ 00:00 — 🦷 Introducción y Demostración del Módulo: Presentación del esquema gráfico del odontograma clínico, diferenciación por dentición y visualización interactiva.
- ⏱️ 04:41 — 🔐 Configuración de Permisos y Roles: Definición de los permisos ver-odontograma y guardar-odontograma asignados estrictamente a doctores y administradores.
- ⏱️ 05:31 — 🛣️ Definición de Rutas HTTP: Configuración de las rutas en Laravel para la visualización (show), guardado (store) e impresión (imprimir).
- ⏱️ 06:11 — 🗄️ Modelado de Base de Datos y Migración: Creación de la tabla odontogramas con llaves foráneas (paciente_id, doctor_id, cita_id) y almacenamiento en formato JSON.
- ⏱️ 08:37 — 🧠 Lógica en Eloquent y Controlador: Configuración del modelo Odontograma con sus relaciones relacionales y la estructura del controlador OdontogramaController.
- ⏱️ 09:29 — 🎨 Interacción Visual e Interfaz JavaScript: Selección entre dentición de adulto (32 piezas) o infantil (20 piezas) y marcado de hallazgos (caries, resina, sellantes, extracciones, coronas, endodoncias).
- ⏱️ 12:24 — 💾 Persistencia de Datos: Envío de la estructura clínica mediante JavaScript y serialización JSON directa en la base de datos MySQL.
- ⏱️ 14:16 — 🖨️ Generación del Odontograma en PDF: Exportación del gráfico anatómico dental junto al desglose de hallazgos, diagnóstico y espacio de firma del profesional.
🌐 Rutas HTTP (Laravel routes/web.php)
| Método | Ruta HTTP | Acción / Controlador | Descripción |
|---|---|---|---|
| GET | /admin/odontograma/{cita_id} | OdontogramaController@show | Muestra la vista del odontograma interactivo para la cita indicada. |
| POST | /admin/odontograma/create | OdontogramaController@store | Guarda o actualiza las piezas dentales codificadas en JSON. |
| GET | /admin/odontograma/pdf/{cita_id} | OdontogramaController@imprimir | Exporta e imprime la ficha del odontograma anatómico en formato PDF. |
🔒 Buenas Prácticas y Seguridad
- 📦 Estructura Flexible en JSON: Almacenar el estado de las 32 piezas y sus caras dentales en una columna tipo JSON, garantizando escalabilidad sin alterar el esquema relacional ante nuevos diagnósticos.
- 🔒 Aislamiento por Permisos de Rol (RBAC): Restringir la acción de edición y guardado del odontograma al rol Doctor, impidiendo modificaciones por personal no especializado o administrativo.
- 🔁 Sincronización Bidireccional: Diseñar el frontend interactivo en JavaScript para cargar el último estado guardado del JSON y renderizar los colores y estados anatómicos de forma fidedigna.
- 📄 Fidelidad del Reporte en PDF: Exportar de forma vectorial/imagen el gráfico del mapa dental para evitar distorsiones en la impresión física o digital del expediente médico.