@extends('layouts.admin') @php use App\Enums\EmergencyApprovalStatus; use App\Enums\HospitalVisitStage; $r = auth()->user()->role; $can = fn (string $t) => in_array($r, $transitionRoles[$t] ?? [], true); $emergencyQueueReady = $visit->triage_priority !== 'emergency' || $visit->emergency_approval_status === EmergencyApprovalStatus::Approved; $canApproveEmergency = in_array($r, ['nurse', 'charge_nurse', 'hospital_admin'], true) || ($r === 'doctor' && auth()->user()->doctor_type === 'hospital'); @endphp @section('page_kicker', 'Clinical flow') @section('page_title', 'Visit #'.$visit->id) @section('content')
MRN {{ $visit->mrn }} · {{ $visit->patient?->name }}
Current stage
{{ str_replace('_', ' ', $visit->stage->value) }}
Control # {{ $visit->registration_control_number ?? '—' }}
Registration fee {{ $visit->registration_fee_amount !== null ? number_format((float) $visit->registration_fee_amount, 2).' TZS' : '—' }}
Registration invoice @if($visit->registration_invoice_id)#{{ $visit->registration_invoice_id }}@else — @endif
Paid at {{ $visit->registration_paid_at?->format('Y-m-d H:i') ?? '—' }}
Verified at {{ $visit->registration_verified_at?->format('Y-m-d H:i') ?? '—' }}
Priority @if($visit->triage_priority === 'emergency') {{ $visit->triage_priority }} @else {{ $visit->triage_priority ?? '—' }} @endif
@if($visit->triage_priority === 'emergency')Emergency activation @if($visit->emergency_approval_status === EmergencyApprovalStatus::Pending) Pending approval @elseif($visit->emergency_approval_status === EmergencyApprovalStatus::Approved) Approved @if($visit->emergency_financial_bypass) · financial bypass active (registration / service payment gates) @endif @if($visit->emergency_approved_at) · {{ $visit->emergency_approved_at->format('Y-m-d H:i') }} @if($visit->emergencyApprovedBy) by {{ $visit->emergencyApprovedBy->name }} @endif @endif @else — @endif
@endifDepartment {{ $visit->department?->name ?? '—' }}
Doctor {{ $visit->assignedDoctor?->name ?? '—' }}
@if($visit->doctor_assigned_at)Doctor assignment {{ $visit->doctor_assigned_by_id ? 'Manual by '.$visit->doctorAssignedBy?->name : 'Automatic (system)' }} · {{ $visit->doctor_assigned_at->format('Y-m-d H:i') }}
@endifQueued {{ $visit->queued_at?->format('Y-m-d H:i') ?? '—' }}
{{ json_encode($visit->triage_vitals, JSON_PRETTY_PRINT) }}
Diagnosis
{{ $visit->diagnosis }}
Notes
{{ $visit->clinical_notes }}
Treatment plan
{{ $visit->treatment_plan }}
{{ $o->kind }} — {{ $o->description }}
Status: {{ $o->status }} @if($o->completed_at) · completed {{ $o->completed_at->format('Y-m-d H:i') }} @endif
@if($canFulfillOrder) @endifService invoice @if($visit->service_invoice_id)#{{ $visit->service_invoice_id }} ({{ number_format((float) ($visit->serviceInvoice?->amount ?? 0), 2) }} {{ $visit->serviceInvoice?->currency ?? 'TZS' }})@else — @endif
Service paid {{ $visit->service_paid_at?->format('Y-m-d H:i') ?? '—' }}
Service verified {{ $visit->service_verified_at?->format('Y-m-d H:i') ?? '—' }}
@if($visit->emergency_financial_bypass)Emergency financial bypass is on — approved emergency activation; reception may apply the emergency service waiver instead of collecting service fees.
@endif{{ $visit->discharge_summary }}
Discharged {{ $visit->discharged_at?->format('Y-m-d H:i') ?? '' }}
Departments required
Add at least one department for this hospital before triage can record routing (needed for doctor auto-assignment).
This visit is triaged as emergency. A nurse, charge nurse, hospital doctor, or hospital admin must approve activation before the patient can enter the doctor queue. Approval is written to the EMR audit trail with approver and timestamp.
@if($canApproveEmergency) @elseSign in as authorized clinical staff to approve.
@endifDoctor queue
Only triage nursing staff can send this patient to a doctor (automatic assignment or manual override). Reception cannot assign doctors.
Queue to doctor
One active doctor per visit. Assignment is logged (who and when). Use automatic routing by department and queue load, or override with a specific doctor.
@if($suggestedDoctor)Suggested automatic assignment: {{ $suggestedDoctor->name }} (department match, lowest active queue load).
@elseNo doctor is linked to this department for auto-assignment. Link doctors to departments under Doctors, or use manual assignment below.
@endifDoctor encounter
Use the doctor workspace for diagnosis, treatment plan, prescriptions, and encounter completion (EMR + pharmacy integration).
Open in doctor workspace