@extends('layouts.app') @section('title', 'Clinical Performance Report – ' . $semester->name) @section('content')
{{ $semester->name }} Logbook

Clinical Performance Report

{{ $semester->name }}

Download PDF
{{-- Student Info --}}
Student Information
Student Name
{{ auth()->user()->name }}
Student ID
{{ $profile?->student_id ?? '—' }}
IC Number
{{ $profile?->ic_number ?? '—' }}
Intake
{{ $profile?->intake ?? '—' }}
Semester
{{ $semester->name }}
Hospital / Placement
{{ $report->hospital_name ?? '—' }}
{{-- Attendance --}}
Clinical Attendance
Total Clinical Days
{{ $report->total_clinical_days ?? '—' }}
Attendance Rate
@php $att = $report->clinical_attendance; @endphp
{{ $att ? number_format($att, 1) . '%' : '—' }}
Absent Days
{{ $report->absent_days ?? '—' }}
Replacement Dates
@if(!empty($report->replacement_dates)) @foreach($report->replacement_dates as $d) {{ $d }} @endforeach @else — @endif
{{-- Procedure Progress --}}
Clinical Competency Summary (Year {{ $semester->year }})
@foreach($yearSemesters as $sem) @php $p = $yearProgress[$sem->id] ?? []; $total = ($p['compulsory_total']??0) + ($p['optional_total']??0); $passed = ($p['compulsory_passed']??0) + ($p['optional_passed']??0); $pct = $total > 0 ? round($passed / $total * 100) : 0; $ok = $pct >= 70; $isCurrent = $sem->id === $semester->id; @endphp @endforeach
Semester Compulsory Optional Overall Status
{{ $sem->name }}{{ $isCurrent ? ' ★' : '' }} {{ ($p['compulsory_passed']??0) }}/{{ ($p['compulsory_total']??0) }} {{ ($p['optional_passed']??0) }}/{{ ($p['optional_total']??0) }}
{{ $pct }}%
@if($ok) Satisfactory @else Needs Improvement @endif
@if($report->notes) {{-- Remarks --}}
Remarks / Notes

{{ $report->notes }}

@endif {{-- Checked by --}}
Verified By
@php $ci = $report->checkedBy; $ciProfile = $ci?->ciProfile; @endphp @if($ciProfile?->photo_path) @else
@endif
{{ $ci?->name ?? '—' }}
@if($ciProfile?->position || $ciProfile?->department)
{{ implode(' · ', array_filter([$ciProfile->position, $ciProfile->department])) }}
@endif
{{ $report->checked_date ? $report->checked_date->format('d M Y') : 'Not yet signed' }}
@endsection