@* Views/Admin/SurveyAnalysis/AnalyzeQuestionnaire.cshtml *@ @model Services.AIViewModel.QuestionnaireAnalysisOverview @{ ViewData["Title"] = $"AI Analysis - {Model.QuestionnaireTitle}"; }
MULTI-DIMENSIONAL INSIGHTS

Mental Health Analysis

Multi-dimensional mental health analysis powered by Azure AI Services

@Model.TotalResponses
Total Responses
@Model.AnalyzedResponses
Responses Analyzed
@Math.Round(Model.OverallPositiveSentiment * 100, 1)%
Positive Sentiment
@(Model.HighRiskResponses + Model.CriticalRiskResponses)
High/Critical Risk
@if (Model.HighRiskResponses + Model.CriticalRiskResponses > 0) {
}

Mental Health Risk Distribution

Comprehensive risk assessment across all response types

@if (Model.AnalyzedResponses > 0) {
Low Risk @Model.LowRiskResponses
@Math.Round(Model.AnalyzedResponses > 0 ? (Model.LowRiskResponses * 100.0 / Model.AnalyzedResponses) : 0, 1)%
Moderate Risk @Model.ModerateRiskResponses
@Math.Round(Model.AnalyzedResponses > 0 ? (Model.ModerateRiskResponses * 100.0 / Model.AnalyzedResponses) : 0, 1)%
High Risk @Model.HighRiskResponses
@Math.Round(Model.AnalyzedResponses > 0 ? (Model.HighRiskResponses * 100.0 / Model.AnalyzedResponses) : 0, 1)%
Critical Risk @Model.CriticalRiskResponses
@Math.Round(Model.AnalyzedResponses > 0 ? (Model.CriticalRiskResponses * 100.0 / Model.AnalyzedResponses) : 0, 1)%
@if (Model.HighRiskResponses > 0 || Model.CriticalRiskResponses > 0) {
ATTENTION REQUIRED
@(Model.HighRiskResponses + Model.CriticalRiskResponses) responses require immediate attention. View details
} } else {

No risk assessment data available

}

Overall Sentiment Analysis

Emotional tone assessment across responses

@if (Model.AnalyzedResponses > 0) {
Positive @Math.Round(Model.OverallPositiveSentiment * 100, 1)%
Neutral @Math.Round(Model.OverallNeutralSentiment * 100, 1)%
Negative @Math.Round(Model.OverallNegativeSentiment * 100, 1)%
string sentimentStatus = ""; string sentimentColor = ""; string sentimentIcon = ""; if (Model.OverallPositiveSentiment >= 0.6) { sentimentStatus = "Excellent mental health climate"; sentimentColor = "success"; sentimentIcon = "fa-thumbs-up"; } else if (Model.OverallPositiveSentiment >= 0.4) { sentimentStatus = "Moderate mental health climate"; sentimentColor = "warning"; sentimentIcon = "fa-balance-scale"; } else { sentimentStatus = "Concerning mental health climate"; sentimentColor = "danger"; sentimentIcon = "fa-exclamation-triangle"; }
@sentimentStatus
} else {

No sentiment analysis data available

}
@if (!string.IsNullOrEmpty(Model.ExecutiveSummary)) {

Executive Summary

Comprehensive analysis overview across all question types

@Html.Raw(Model.ExecutiveSummary.Replace("\n", "
"))
}

Top Workplace Issues & Interventions

Priority-ranked issues with recommended actions

@if (Model.TopWorkplaceIssues != null && Model.TopWorkplaceIssues.Any()) {
@foreach (var issue in Model.TopWorkplaceIssues.Take(5)) {
P@issue.Priority
@issue.Category
Priority @issue.Priority
@issue.Issue
Recommended Intervention
@issue.RecommendedIntervention
@if (issue.AffectedAreas.Any()) {
@foreach (var area in issue.AffectedAreas) { @area }
}
}
} else {

No workplace issues identified in the analysis

}

Common Themes

Key patterns and categories identified

@if (Model.MostCommonKeyPhrases != null && Model.MostCommonKeyPhrases.Any()) {
MOST MENTIONED PHRASES
@foreach (var phrase in Model.MostCommonKeyPhrases.Take(8)) { @phrase }
@if (Model.TopWorkplaceIssues.Any()) {
ISSUE CATEGORIES
@foreach (var category in Model.TopWorkplaceIssues.Select(i => i.Category).Distinct().Take(5)) { @category }
}
} else {

No common themes identified

}
@functions { private string GetPriorityBorderColor(int priority) { switch (priority) { case 5: return "border-danger"; case 4: return "border-warning"; case 3: return "border-primary"; case 2: return "border-info"; default: return "border-secondary"; } } private string GetPriorityBadgeColor(int priority) { switch (priority) { case 5: return "bg-danger"; case 4: return "bg-warning text-dark"; case 3: return "bg-primary"; case 2: return "bg-info"; default: return "bg-secondary"; } } } @section Styles { }