{{-- resources/views/historial/partials/historial-clinico.blade.php --}} @php $historialClinico = $historialClinico ?? null; $itemsPorSeccion = $historialClinico ? $historialClinico->items->groupBy('seccion') : collect(); $alertasActivas = $historialClinico ? $historialClinico->alertas->where('activo', true) : collect(); $totalAlertas = $alertasActivas->count(); // ID único por paciente para poder reutilizar el include varias veces si fuera necesario $collapseId = 'historialClinicoCollapse_' . ($historialClinico->idPaciente ?? 'sin_historial'); @endphp
{{-- HEADER COMPACTO --}}
Historial clínico
@if($historialClinico) @if($totalAlertas > 0) Alertas a considerar: {{ $totalAlertas }} @else Sin alertas activas @endif @else Sin historial clínico registrado @endif
@if($historialClinico?->ultima_actualizacion)
Última actualización {{ $historialClinico->ultima_actualizacion->format('d/m/Y') }}
@endif @if($historialClinico) @endif
{{-- CONTENIDO DESPLEGABLE --}} @if($historialClinico)
{{-- ALERTAS --}} @if($alertasActivas->isNotEmpty())
Alertas médicas
@foreach($alertasActivas as $alerta)
{{ $alerta->titulo }}
@if($alerta->descripcion) {{ $alerta->descripcion }} @endif
@endforeach
@endif {{-- INFORMACIÓN CLÍNICA --}} @if($itemsPorSeccion->isNotEmpty())
@foreach($itemsPorSeccion as $seccion => $items)
{{ ucfirst(str_replace('_', ' ', $seccion)) }}
@foreach($items as $item)
{{ ucfirst(str_replace('_', ' ', $item->campo)) }}
{{ $item->valor ?: '—' }}
@if($item->detalle) {{ $item->detalle }} @endif
@endforeach
@endforeach
@else
No hay información clínica registrada.
@endif {{-- OBSERVACIONES --}} @if($historialClinico->observaciones_generales)
Observaciones generales
{!! nl2br(e($historialClinico->observaciones_generales)) !!}
@endif {{-- ACTUALIZACIÓN EN MÓVIL --}} @if($historialClinico?->ultima_actualizacion)
Última actualización: {{ $historialClinico->ultima_actualizacion->format('d/m/Y H:i') }}
@endif
@endif