{{ now()->format('D, d M Y') }} @can('encounters.create') Open encounter @endcan
{{-- ------------------------------------------------------- waiting --}} @if ($canSeeQueue)

Waiting to be seen

Calls go in token order, with emergencies pulled to the front.

Queue board
@if ($waiting->isEmpty()) @else
@foreach ($waiting as $entry) @endforeach
Token Patient Visit Priority Status Action
{{ $entry->token_number ?: '—' }} @if ($entry->patient) {{ $entry->patient->full_name }}
{{ $entry->patient->medical_record_number }}
@else — @endif
{{ $entry->visit?->visit_no ?? '—' }} @if ($entry->priority !== 'routine') @else Routine @endif @can('encounters.create') @if ($entry->visit) Open encounter @endif @endcan
@endif
@endif {{-- --------------------------------------------- my open records --}}

Encounters still open

A record stays open until the narrative is written and it is closed.

All mine
@if ($open->isEmpty()) @else
@foreach ($open as $encounter) @endforeach
Encounter Patient Type Started Action
{{ $encounter->encounter_no }}
{{ $encounter->visit?->visit_no }}
{{ $encounter->patient?->full_name }}
{{ $encounter->patient?->medical_record_number }} @if ($encounter->patient?->isRestricted()) @endif
@if ($encounter->visit?->priority && $encounter->visit->priority !== 'routine') @endif {{ $encounter->started_at?->format('d M, H:i') }} Open
@endif
{{-- --------------------------------------------------------- diary --}} @if ($canSeeDiary)

Today's clinic

Booked patients, in clock order. A no-show is marked from the diary.

Diary
@if ($diary->isEmpty()) @else
@foreach ($diary as $appointment) @endforeach
Slot Patient Purpose Status Action
{{ $appointment->slot_time ? substr((string) $appointment->slot_time, 0, 5) : '—' }} {{ $appointment->patient?->full_name }}
{{ $appointment->patient?->medical_record_number }}
{{ $appointment->reason ?: $appointment->appointment_type_label }} View
@endif
@endif
{{-- --------------------------------------------------- unclaimed --}}

Nobody's patient yet

Encounters opened against the department pool rather than a named consultant.

@if ($unassigned->isEmpty()) @else
    @foreach ($unassigned as $encounter)
  • {{ $encounter->patient?->full_name }}
    {{ $encounter->encounter_no }} · {{ $encounter->encounter_type_label }}
    {{ $encounter->department?->name ?? 'No department' }} · started {{ $encounter->started_at?->diffForHumans() }}
  • @endforeach
@endif
  • The queue holds checked-in patients; opening an encounter pulls their visit into the clinical record.
  • An encounter stays on your list until you close it — closing completes the visit and clears the queue entry.
  • Diagnoses and notes can be revisited after closing; the narrative itself is frozen at that point.
  • Only records you are entitled to see appear here — restricted patients are held back unless your role allows them.