@section('page-title', 'Member Details')

{{ $member->full_name }}

{{ $member->member_number }} | {{ ucfirst($member->member_type) }}

@if(in_array($member->status, ['suspended', 'pending_reactivation'])) @can('edit_members')
@csrf
@endcan @endif Payments ID Card Waiting Periods Statement @feature('benefit_calculators') Dental Optical @endfeature @can('edit_members') Edit @endcan Back

Personal Information

National ID
{{ $member->national_id ?? 'N/A' }}
Date of Birth
{{ $member->date_of_birth->format('d M Y') }} ({{ $member->date_of_birth->age }} yrs)
Gender
{{ $member->gender }}
Phone
{{ $member->phone ?? 'N/A' }}
Email
{{ $member->email ?? 'N/A' }}
Address
{{ $member->address ?? 'N/A' }}

Membership Details

View Payments →
@php $lastPmt = $member->getLastPayment(); $nextDue = $member->getNextDueDate(); $premiumCents = $member->getPremiumAmountCents(); $currency = $member->policy->currency ?? 'USD'; $statusClasses = match($member->status) { 'active' => 'bg-green-100 text-green-800', 'due' => 'bg-yellow-100 text-yellow-800', 'pending_reactivation' => 'bg-orange-100 text-orange-800', 'suspended' => 'bg-red-100 text-red-800', default => 'bg-gray-100 text-gray-600', }; @endphp
Policy
{{ $member->policy->name ?? 'N/A' }}
Currency
{{ $currency }}
Monthly Premium
{{ $currency }} {{ $premiumCents > 0 ? number_format($premiumCents / 100, 2) : '—' }}
Join Date
{{ $member->join_date?->format('d M Y') ?? '—' }}
Months Active
{{ $member->monthsActive() }} months
Corporate
{{ $member->corporateClient->name ?? 'Individual' }}
Status
{{ $member->status_label }}
{{-- Last Payment --}}
Last Payment
@if($lastPmt)
{{ $currency }} {{ number_format($lastPmt->amount_cents / 100, 2) }} {{ $lastPmt->period_label }}

{{ $lastPmt->paid_at?->format('d M Y') ?? 'Date unknown' }}

@else
No payments recorded
@endif
{{-- Upcoming Payment --}}
Upcoming Payment
{{ $currency }} {{ $premiumCents > 0 ? number_format($premiumCents / 100, 2) : '—' }} {{ $nextDue->format('F Y') }}

{{ $nextDue->lt(now()->startOfMonth()) ? 'Overdue' : 'Due 1 ' . $nextDue->format('F Y') }}

Dependants ({{ $member->dependants->count() }})

@if($member->member_type === 'principal') @can('create_members') @endcan @endif
@foreach($member->dependants as $dep)

{{ $dep->full_name }}

{{ ucfirst($dep->member_type) }} | {{ $dep->date_of_birth->format('d M Y') }}

@endforeach @if($member->dependants->count() === 0)

No dependants registered.

@endif
@if($member->benefitUsage->count() > 0)

Benefit Usage ({{ date('Y') }})

@foreach($member->benefitUsage->where('benefit_year', date('Y')) as $usage)
{{ $usage->benefit_category }} ${{ number_format($usage->used_cents / 100, 2) }} / ${{ number_format($usage->limit_cents / 100, 2) }}

{{ $usage->getUtilizationPercentage() }}% utilized | Available: ${{ number_format($usage->getAvailableCents() / 100, 2) }}

@endforeach
@endif @if($member->chronicRegistrations->count() > 0)

Chronic Conditions

@foreach($member->chronicRegistrations as $chronic)

{{ $chronic->condition_name }} ({{ $chronic->icd10_code }})

Approved: {{ $chronic->approved_date?->format('d M Y') ?? 'Pending' }} | Expires: {{ $chronic->expiry_date?->format('d M Y') ?? 'N/A' }}

{{ ucfirst($chronic->status) }}
@if($chronic->status === 'approved')

Limit: ${{ number_format(($chronic->chronic_limit_cents ?? 0) / 100, 2) }} | Used: ${{ number_format($chronic->chronic_used_cents / 100, 2) }} | Can Refill: {{ $chronic->canRefill() ? 'Yes' : 'No (wait ' . (28 - $chronic->last_refill_date?->diffInDays(now())) . ' days)' }}

@endif
@endforeach
@endif

Claims History

@forelse($member->claims as $claim) @empty @endforelse
Claim # Provider Billed Awarded Status Date
{{ $claim->claim_number }} {{ $claim->provider->name ?? 'N/A' }} ${{ number_format($claim->total_billed_cents / 100, 2) }} ${{ number_format($claim->total_awarded_cents / 100, 2) }} {{ ucfirst(str_replace('_', ' ', $claim->status)) }} {{ $claim->service_date->format('d M Y') }}
No claims history.