116 Modificación del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack

Duración: 15 min
Módulo: 📝 Historial Clínico, Configuraciones y Reportes Lección 17 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 116: Modificación y Optimización del Historial Clínico

La Lección 116 completa la funcionalidad de listado del Módulo de Historial Clínico optimizando la visualización del diagnóstico, y luego implementa la función completa de Edición (Edit/Update) para modificar los registros existentes.

1. 📋 Optimización en el Listado (Index)

Para evitar que la tabla de historiales se vea demasiado grande o desordenada debido a los diagnósticos extensos, se implementa una limitación de caracteres.

A. Limitación del Detalle [01:03]

  • Problema: Un diagnóstico extenso puede ocupar múltiples líneas en la columna "Detalle" de la tabla, volviendo el listado poco estético y difícil de navegar [00:30].
  • Solución: Se utiliza la función Str::limit() de Laravel para mostrar solo los primeros 100 caracteres del campo detalle en la tabla.
  • Implementación: Después del límite, se añaden automáticamente tres puntos suspensivos (...) para indicar que hay más información disponible. El contenido completo solo es visible al usar la acción Ver/Show [01:42].

    💡 El instructor ajusta el límite a 100 caracteres, encontrando que es el valor ideal para mantener el diseño compacto y funcional [02:22].

2. ✏️ Implementación de la Edición (Edit/Update)

Se configura el flujo para que el doctor pueda modificar los registros de historial clínico que haya creado.

A. Función Edit (Controlador) [03:08]

  1. Recepción del ID: La función Edit recibe el ID del historial a modificar.
  2. Consulta: Se utiliza el modelo Historial y el método find() para obtener el registro completo de la base de datos [03:37].
  3. Consulta de Pacientes: Se realiza una consulta al modelo Paciente (ordenado por apellido) para llenar la lista desplegable del formulario de edición, al igual que en la vista Create [06:16].
  4. Retorno: Se devuelve la vista admin.historial.edit con las variables $historial y $pacientes [06:40].

B. Diseño de la Vista Edit (Formulario) [04:36]

  • Título: Se cambia el título a "Modificar Historial" [04:46].
  • Ruta y Método: El formulario se configura para enviar los datos a la ruta de actualización utilizando el método PUT y enviando el ID del historial en la ruta [05:17].
  • Selección Automática del Paciente:
    • Para que el formulario sea usable, el paciente asociado al historial debe aparecer seleccionado por defecto en el select [06:50].
    • Esto se logra usando una expresión condicional ternaria dentro de la etiqueta <option> que compara el paciente_id del historial ($historial->paciente_id) con el ID del paciente en el bucle ($paciente->id), añadiendo el atributo selected si son iguales [08:11].
  • Carga de Datos Existentes:
    • El campo Fecha de la Cita se rellena con el valor de la base de datos [09:16].
    • El área de texto Detalle se carga con el contenido completo del diagnóstico, manteniendo el formato enriquecido (HTML) del CKEditor [09:44].

C. Función Update (Lógica de Guardado) [10:50]

  1. Recepción: La función Update recibe el request (datos del formulario) y el ID del historial a actualizar.
  2. Actualización: Se busca el registro existente con el método find($id) y luego se actualizan los campos con los nuevos valores recibidos en el request [13:16].
  3. Doctor ID: Se asegura que el campo doctor_id se mantenga sin cambios (o se reasigne al doctor actual) [13:22].
  4. Guardado: Se llama al método save() [13:25].
  5. Redirección: Se retorna a la vista de listado con un mensaje de éxito "Se actualizó el historial médico del paciente de la manera correcta" [13:30].

➡️ Próximo Paso [14:15]

Las próximas lecciones se centrarán en completar las acciones pendientes del módulo: la función Eliminar (Delete) y la generación de un Reporte en PDF (impresión) del historial clínico. También se desarrollará un reporte para imprimir todos los registros de un paciente específico.