@extends('layouts.app') @section('title', 'Follow-up Worklist') @section('content')
{{ now()->format('l, d M Y') }}
Due Today
{{ $stats['due_today'] }}
Done Today
{{ $stats['completed_today'] }}
Repeat Tomorrow
{{ $stats['repeat_tomorrow'] }}
Complaints (7d)
{{ $stats['complaints_recent'] }}
| Patient | Trigger | Visit Context | Due | Attempts | Action |
|---|---|---|---|---|---|
|
{{ $f->patient->full_name ?? '—' }}
{{ $f->patient->mrn ?? '' }}
{{ $f->patient->phone ?? 'No phone' }}
|
{{-- Trigger badge + reason --}}
{{ $f->triggerLabel() }}
{{ $f->reason }} |
{{-- Visit context (snapshot fields) --}}
@if($f->department_snapshot)
{{ $f->department_snapshot }} @endif @if($f->clinician_snapshot){{ $f->clinician_snapshot }} @endif @if($f->diagnosis_snapshot){{ \Illuminate\Support\Str::limit($f->diagnosis_snapshot, 60) }} @endif |
{{-- Due date --}}
@php
$effectiveDue = $f->next_attempt_due ?? $f->due_date;
$isOverdue = $effectiveDue && $effectiveDue->isPast() && $f->status !== 'closed';
@endphp
{{ $effectiveDue?->format('d M') ?? '—' }} @if($isOverdue){{ $effectiveDue->diffForHumans() }} @endif |
{{-- Attempts --}}
@for($i = 1; $i <= 3; $i++)
@php
$attempt = $f->attempts->firstWhere('attempt_number', $i);
$dotClass = !$attempt
? 'bg-gray-200'
: ($attempt->wasPickedUp() ? 'bg-green-500' : 'bg-amber-400');
@endphp
@endfor
{{ $f->attempt_count }}/{{ \App\Models\FollowUp::MAX_ATTEMPTS }} |
{{-- Action --}}
@if($f->status === 'closed') @if($f->outcome === 'doing_well') Satisfied @elseif($f->outcome === 'still_unwell') Return visit @elseif($f->outcome === 'complaint') Complaint @elseif($f->outcome === 'unreachable') Unreachable @elseif($f->outcome === 'wrong_number') Wrong number @elseif($f->outcome === 'do_not_call') Do not call @endif @if($f->review_eligible && !$f->review_sent) @elseif($f->review_sent) Review sent @endif @else @endif |
|
@switch($tab) @case('overdue') No overdue calls. Well done. @break @case('repeat') No repeat calls scheduled for tomorrow. @break @case('completed') No follow-ups completed today yet. @break @default No calls due today. The list is clear. @endswitch |
|||||