115 Listado de Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack

Duración: 17 min
Módulo: 📝 Historial Clínico, Configuraciones y Reportes Lección 16 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 115: Listado y Seguridad del Historial Clínico por Doctor

La Lección 115 se centra en la implementación del listado de registros del Historial Clínico (Index) y en la aplicación de un filtro de seguridad clave para garantizar que cada doctor solo pueda ver los historiales que ha creado. También se inicia la visualización detallada del registro.

1. 🛡️ Filtro de Seguridad por Doctor [07:17]

Para mantener la confidencialidad de los datos, el listado de historiales en la vista index.blade.php debe ser filtrado según el usuario autenticado:

  • Problema Inicial: La consulta inicial en el controlador trae todos los historiales, lo cual no es seguro [01:26].
  • Solución en la Vista: Se utiliza una directiva @if dentro del bucle @foreach de la tabla para imprimir solo las filas cuyo doctor_id coincida con el ID del doctor actualmente autenticado (Auth::user()->doctor_id) [08:12].

    Blade

    @if ($historial->doctor_id == Auth::user()->doctor_id)    {{-- ... Mostrar fila ... --}} @endif

  • Comprobación: Se verifica que al ingresar con una cuenta de doctor diferente, el listado de historiales aparece vacío, confirmando que el filtro de seguridad es efectivo [09:05].

2. 📋 Presentación de Datos en la Tabla

Se ajustan los campos que se muestran en la tabla de listado para el doctor:

ColumnaDatos mostradosDetalle de Implementación
PacienteApellidos y NombresSe utiliza la relación de Eloquent ($historial->paciente->apellidos y $historial->paciente->nombres) para obtener el nombre completo del paciente [02:37].
FechaFecha de la CitaSe muestra el campo fecha_visita [03:33].
DetalleDiagnósticoSe muestra el campo detalle. Crucial: Para que el contenido HTML (negritas, colores) del CKEditor se renderice correctamente en lugar de mostrar el código fuente, se utiliza la sintaxis especial de Laravel con doble signo de exclamación (!!) en lugar de doble llave ({{ }}) [04:36].

3. 👁️ Implementación de la Vista Detalle (Show) [11:08]

Se configura la funcionalidad para ver los detalles completos de un registro de historial específico, accesible desde la columna de acciones.

A. Lógica del Controlador

  • La función Show recibe el ID del historial a través de la ruta [07:03].
  • Utiliza el método find() para buscar y obtener el registro de historial correspondiente a ese ID [11:34].
  • Retorna la vista admin.historial.show, pasando el objeto $historial encontrado [11:49].

B. Diseño de la Vista Detalle (show.blade.php) [12:16]

  • Se adapta la estructura del formulario create para crear una vista informativa y no editable.
  • Paciente: Muestra el nombre completo del paciente utilizando la relación $historial->paciente->nombres [13:25].
  • Fecha de Visita: Muestra la fecha del historial.
  • Detalle (Diagnóstico): Muestra el contenido completo del diagnóstico, usando la sintaxis {!! ... !!} para interpretar el HTML del CKEditor [15:06].

➡️ Próximo Paso [16:47]

La próxima lección se enfocará en optimizar la visualización de la columna Detalle en la tabla de listado, limitando la cantidad de caracteres que se muestran para evitar tablas demasiado grandes, e implementando la función de edición (Edit).