113 Módulo Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack

Duración: 19 min
Módulo: 📝 Historial Clínico, Configuraciones y Reportes Lección 14 de 23

¡Contenido Exclusivo!

Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.

Inscribirse Ahora por $20.00 Acceso instantáneo de por vida y código fuente incluido.

Descripción

🏥 Lección 113: Implementación del Listado y Formulario de Historial Clínico

Esta lección se enfoca en la implementación del listado de historiales clínicos y en la creación del formulario para registrar nuevos historiales. Se asegura que cada doctor solo pueda ver los historiales que ha creado.

1. 🔍 Optimización y Seguridad (Comentarios)

El instructor aborda comentarios clave antes de continuar el desarrollo:

  • Encriptación de IDs: Se discute la recomendación de encriptar los IDs que se muestran en la URL (como paciente/1) para mejorar la seguridad. Se reconoce la validez de la sugerencia [01:06], pero se decide no implementarla en este curso, ya que el framework Laravel ya proporciona seguridad robusta por defecto, y la encriptación de IDs es más crítica en sistemas de manejo de dinero o comercio electrónico [02:27]. Se promete implementar esto en un curso futuro [03:00].
  • Formas de Pago: Se rechaza la sugerencia de integrar PayPal debido a restricciones geográficas (PayPal no está habilitado en el país del instructor), lo que limitaría la prueba de la funcionalidad para muchos estudiantes [04:25].

2. 📝 Implementación del Listado de Historiales

Se configura el controlador para listar los registros del historial clínico, asegurando la correcta relación de datos.

A. Consulta del Historial [06:06]

  • En la función Index del HistorialController, se realiza la consulta a la base de datos.
  • Se utiliza el método with() para cargar las relaciones del modelo Historial con los modelos Paciente y Doctor, optimizando la consulta y evitando el problema de N+1 [06:20]:

    PHP

    $historiales = Historial::with(['paciente', 'doctor'])->get();

  • Nota Importante: Aunque en la consulta se traen todos los historiales, en el próximo capítulo se agregará el filtro where() para que el doctor que ha iniciado sesión solo vea los registros que le corresponden [05:42].

B. Diseño de la Vista Index [07:14]

  • Se copia y adapta la vista Index de otro módulo (como el de configuración) para mostrar los datos del historial en formato de tabla (DataTables).
  • Se pasan los $historiales a la vista con el método compact() [07:05].

3. ✍️ Creación del Formulario de Registro

Se inicia el diseño del formulario para que el doctor pueda registrar un nuevo historial clínico.

A. Consulta de Pacientes [11:13]

  • En la función Create del HistorialController, se consulta el listado de todos los pacientes.
  • Se utiliza orderBy('apellidos', 'asc') para ordenar la lista de pacientes alfabéticamente por apellido de forma ascendente (A-Z) [16:07]. Esto facilita que el doctor encuentre al paciente rápidamente en la lista desplegable:

    PHP

    $pacientes = Paciente::orderBy('apellidos', 'asc')->get();

B. Campos del Formulario [11:52]

El formulario de create.blade.php está diseñado con los siguientes campos para el nuevo registro del historial:

  1. Paciente: Campo <select> donde el doctor elige al paciente. Se muestra el Nombre y Apellido del paciente, y se envía internamente el ID (paciente_id) a través del atributo value [13:20].
  2. Descripción de la Cita (Detalle): Un área de texto (<textarea>) para que el doctor ingrese el diagnóstico y el detalle de la atención [18:20].
  • Campos Ocultos: El ID del Doctor y la Fecha de Visita se gestionarán internamente en el controlador sin requerir inputs en el formulario.

➡️ Próximo Paso [19:09]

La próxima lección se centrará en:

  1. Aplicar un filtro de seguridad en la función Index para que el doctor solo vea su propio historial.
  2. Completar la lógica de la función Store para guardar los datos del formulario en la base de datos.