{{ __('Patient Dashboard') }}

@if($showProfileCompletionModal) @endif @if($showMedicalQuestionnaireModal) @endif

Quick Actions

Start Your Consultation

Our streamlined process guides you through scheduling, providing health information, and completing your questionnaire.

Start Now

Schedule Appointment

Order Medications

Upload Medical Record

Medical Questionnaires

Manage Subscription

Daily Wellness Check-In

Insurance Information

@php $subscription = $patient->activeSubscription(); @endphp @if($subscription && $subscription->plan->isFamilyPlan())

Family Members

@endif

Patient Information

Edit Profile
@if($patient->image) {{ $patient->name }} @else
@endif

Name: {{ $patient->name }}

Email: {{ $patient->email }}

Phone: {{ $patient->phone }}

DOB: {{ $patient->dob?->format('F j, Y') ?? 'Not Available' }}

@if($patient->address1)

Address: {{ $patient->address1 }}, {{ $patient->city }}, {{ $patient->state }} {{ $patient->zip }}

@endif

Subscription Status

@php $subscription = $patient->activeSubscription(); @endphp @if($subscription)
@php $isActive = $subscription->status === 'active' && ($subscription->ends_at === null || $subscription->ends_at->isFuture()); @endphp

{{ $subscription->plan->name }}

{{ $isActive ? 'Active Subscription' : 'Expired Subscription' }}

{{ $isActive ? 'ACTIVE' : 'EXPIRED' }}
@php // Get the human-friendly time difference $daysLeftDisplay = $subscription->ends_at?->diffForHumans() ?? 'N/A'; // Also calculate numeric days for styling $daysLeftNumeric = $subscription->ends_at ? now()->diffInDays($subscription->ends_at, false) : null; // Determine progress percentage $progressPercentage = 0; if ($subscription->starts_at && $subscription->ends_at) { $totalDays = $subscription->starts_at->diffInDays($subscription->ends_at); $daysUsed = $subscription->starts_at->diffInDays(now()); $progressPercentage = $totalDays > 0 ? min(100, ($daysUsed / $totalDays) * 100) : 0; } @endphp
{{ $subscription->starts_at?->format('M d, Y') ?? 'Start Date' }} {{ $subscription->ends_at?->format('M d, Y') ?? 'End Date' }}

EXPIRES

{{ $subscription->ends_at ? $subscription->ends_at->format('M d, Y') : 'N/A' }}

TIME REMAINING

{{ $daysLeftDisplay }}

@if(!$isActive)

Your subscription has expired!

Renew now to regain access to all features.

@elseif($daysLeftNumeric !== null && $daysLeftNumeric >= 0 && $daysLeftNumeric <= 7)

Your subscription is expiring soon!

Renew now to maintain access to all features.

@endif
Manage Subscription
@else

No Active Subscription

You currently don't have an active subscription. Subscribe to access all features of our platform including medication ordering and consultations.

View Subscription Plans
@endif

Recent Medication Orders

New Order
@if($recentMedicationOrders->count() > 0)
@foreach($recentMedicationOrders as $order)
Order #{{ $order->id }} {{ $order->created_at->format('M d, Y') }}
@php $orderStatusClasses = [ 'pending' => 'bg-yellow-100 text-yellow-800', 'assigned' => 'bg-blue-100 text-blue-800', 'prescribed' => 'bg-green-100 text-green-800', 'completed' => 'bg-green-100 text-green-800', 'rejected' => 'bg-red-100 text-red-800' ]; $orderStatusClass = $orderStatusClasses[$order->status] ?? 'bg-gray-100 text-gray-800'; @endphp {{ ucfirst($order->status) }}

Doctor: {{ $order->doctor ? $order->doctor->name : 'Not Assigned' }}

Medications: {{ $order->items->count() }}

View Details →
@endforeach
View All Orders
@else

No medication orders yet.

Order Medications
@endif

Allergies

Add Allergy
@if($allergies->count() > 0)
    @foreach($allergies as $allergy)
  • {{ $allergy->allergen }} @if($allergy->severity) @php $severityClasses = [ 'mild' => 'bg-green-100 text-green-800', 'moderate' => 'bg-yellow-100 text-yellow-800', 'severe' => 'bg-orange-100 text-orange-800', 'life_threatening' => 'bg-red-100 text-red-800' ]; $severityClass = $severityClasses[$allergy->severity] ?? 'bg-gray-100 text-gray-800'; @endphp {{ ucfirst(str_replace('_', ' ', $allergy->severity)) }} @endif
    @if($allergy->reaction)

    Reaction: {{ $allergy->reaction }}

    @endif @if($allergy->notes)

    {{ $allergy->notes }}

    @endif
  • @endforeach
@else

No allergies recorded.

@endif

Upcoming Consultation

Start Guided Process Schedule Only
@if($upcomingConsultation)

{{ $upcomingConsultation->formatDate('scheduled_at', 'F j, Y') }}

{{ $upcomingConsultation->formatDate('scheduled_at', 'g:i A') }}

{{ $upcomingConsultation->doctor?->name ?? 'No doctor assigned' }}

{{ $upcomingConsultation->type }} consultation

@php $isToday = $upcomingConsultation->formatDateDiffForHumans('scheduled_at') && strpos($upcomingConsultation->formatDateDiffForHumans('scheduled_at'), 'day') === false; @endphp @if($isToday)

{{ $upcomingConsultation->formatDateDiffForHumans('scheduled_at') }}

@endif
@php $statusClasses = [ 'scheduled' => 'bg-blue-100 text-blue-800', 'in_progress' => 'bg-green-100 text-green-800', ]; $statusClass = $statusClasses[$upcomingConsultation->status] ?? 'bg-gray-100 text-gray-800'; @endphp
{{ $upcomingConsultation->status }}

Consultation Status

@switch($upcomingConsultation->status) @case('scheduled') Your consultation is scheduled. We'll notify you by email, phone, or text when there are updates. @break @case('in_progress') Your consultation is currently in progress. @if($upcomingConsultation->type === 'video') Please use the "Join Video Call" button below to connect with your healthcare provider. @elseif($upcomingConsultation->type === 'audio') Please wait for a call from your healthcare provider. @elseif($upcomingConsultation->type === 'chat') Please check your messages to communicate with your healthcare provider. @else Your healthcare provider will contact you shortly. @endif @break @case('completed') Your consultation has been completed. You can view the details and any follow-up instructions. @break @case('cancelled') This consultation has been cancelled. Please schedule a new consultation if you still need assistance. @break @default Your consultation status is being updated. We'll notify you by email, phone, or text when there are updates. @endswitch

View Details @if($upcomingConsultation->type === 'video' && $upcomingConsultation->status === 'in_progress') @endif
@else

No upcoming consultations scheduled

Schedule a consultation with one of our healthcare providers to discuss your health concerns.

Start Guided Process Schedule Only
@endif

Current Medications

Add Medication
@if($medications->count() > 0)

Prescribed Medications

    @foreach($medications as $medication)
  • {{ $medication->name }}

    Prescribed

    {{ $medication->dosage }}, {{ $medication->frequency }}

  • @endforeach
@endif @if($userMedications->count() > 0)

Self-Reported Medications

    @foreach($userMedications as $medication)
  • {{ $medication->medication_name }} Self-Reported
    @if($medication->dosage || $medication->frequency)

    @if($medication->dosage) {{ $medication->dosage }} @endif @if($medication->dosage && $medication->frequency), @endif @if($medication->frequency) {{ $medication->frequency }} @endif

    @endif @if($medication->reaction)

    Reaction: {{ $medication->reaction }}

    @endif @if($medication->side_effects)

    {{ $medication->side_effects }}

    @endif
  • @endforeach
@endif @if($medications->count() == 0 && $userMedications->count() == 0)

No current medications. Click the "Add Medication" button above to add your medications.

@endif

Recent Medical Records

Add Record
@if($recentMedicalRecords->count() > 0)
    @foreach($recentMedicalRecords as $record)
  • {{ $record->record_date->format('F j, Y') }} - {{ config('medical.records.types')[$record->record_type] }} @if ($record->file_path) @endif
  • @endforeach
@else

No recent medical records.

@endif

Recent Consultations

Start Guided Process Schedule Only
{{ $item->formatDate('scheduled_at', 'F j, Y g:i A') }} {{ $item->doctor?->name }} View Details
{{--

Health Reminders

@foreach($healthReminders as $reminder)

{{ $reminder['title'] }}

{{ $reminder['description'] }}

Due: {{ $reminder['due_date']->format('F j, Y') }}

@endforeach
--}}