@extends('crm.layouts.app') @section('title', 'Health Questionnaire Analytics') @section('content')

Health Questionnaire Analytics

Analytics and insights for health questionnaire responses

Back to Questionnaires
{{ $totalResponses }}
Total Responses
{{ $pendingResponses }}
Pending Reviews
{{ $approvedResponses }}
Approved
{{ $rejectedResponses }}
Rejected

Health Risk Distribution

{{ $riskDistribution['low'] }}

Low Risk

Health score ≥ 8.0

{{ $riskDistribution['medium'] }}

Medium Risk

Health score 6.0-7.9

{{ $riskDistribution['high'] }}

High Risk

Health score 4.0-5.9

{{ $riskDistribution['very_high'] }}

Very High Risk

Health score < 4.0

Monthly Response Trends ({{ date('Y') }})

@if($totalResponses > 0)
@php $months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; $monthlyArray = $monthlyResponses->toArray(); $maxResponses = !empty($monthlyArray) ? max(array_values($monthlyArray)) : 1; $maxResponses = $maxResponses > 0 ? $maxResponses : 1; @endphp @foreach($months as $monthIndex => $monthName) @php $monthNumber = $monthIndex + 1; $responseCount = $monthlyResponses[$monthNumber] ?? 0; $height = $maxResponses > 0 ? ($responseCount / $maxResponses) * 100 : 0; @endphp
@if($responseCount > 0)
{{ $responseCount }}
@endif
{{ $monthName }}
@endforeach
@else

No response data available

Trends will appear here once clients start submitting health questionnaires

@endif

Questionnaire Performance

@forelse($questionnaires as $questionnaire) @empty @endforelse
Questionnaire Total Responses Completion Rate Avg Health Score Pending Reviews Status
{{ $questionnaire->title }}
@if($questionnaire->description)
{{ Str::limit($questionnaire->description, 50) }}
@endif
{{ $questionnaire->responses_count }} @php $completionRate = $questionnaire->getCompletionRate(); $completionColor = $completionRate >= 80 ? 'text-green-400' : ($completionRate >= 60 ? 'text-yellow-400' : 'text-red-400'); @endphp {{ number_format($completionRate, 1) }}% @php $avgScore = $questionnaire->getAverageHealthScore(); $scoreColor = $avgScore >= 8 ? 'text-green-400' : ($avgScore >= 6 ? 'text-yellow-400' : 'text-red-400'); @endphp {{ number_format($avgScore, 1) }} @php $pendingCount = $questionnaire->getPendingApprovals(); @endphp @if($pendingCount > 0) {{ $pendingCount }} @else 0 @endif @if($questionnaire->is_active) Active @else Inactive @endif

No questionnaires found

Create your first questionnaire to see analytics

Key Insights

@php $totalCalculatedResponses = $approvedResponses + $rejectedResponses + $pendingResponses; $approvalRate = $totalCalculatedResponses > 0 ? ($approvedResponses / $totalCalculatedResponses) * 100 : 0; $riskTotal = array_sum($riskDistribution); $highRiskPercentage = $riskTotal > 0 ? (($riskDistribution['high'] + $riskDistribution['very_high']) / $riskTotal) * 100 : 0; @endphp
Approval Rate
{{ number_format($approvalRate, 1) }}%
High Risk Clients
{{ number_format($highRiskPercentage, 1) }}%
Pending Reviews
{{ $pendingResponses }}

Recommendations

@if($pendingResponses > 10)

Review Backlog

You have {{ $pendingResponses }} pending reviews. Consider reviewing them promptly.

@endif @if($highRiskPercentage > 25)

High Risk Alert

{{ number_format($highRiskPercentage, 1) }}% of clients are high or very high risk. Consider additional screening.

@endif @if($approvalRate < 70)

Low Approval Rate

Consider reviewing questionnaire criteria or providing client guidance.

@endif @if($pendingResponses <= 5 && $highRiskPercentage <= 15 && $approvalRate >= 80)

Excellent Performance

Your health questionnaire system is performing well with low risk clients and timely reviews.

@endif
@endsection