// Services/Interfaces/IAiAnalysisService.cs using Services.AIViewModel; namespace Services.Interaces { public interface IAiAnalysisService { #region Azure Language Service Methods /// /// Analyzes sentiment of response text using Azure Language Service /// Task AnalyzeSentimentAsync(string text); /// /// Extracts key phrases and workplace factors from response text /// Task ExtractKeyPhrasesAsync(string text); /// /// Removes PII (Personally Identifiable Information) from response text /// Task AnonymizeTextAsync(string text); /// /// Detects entities in text (workplace factors, departments, roles, etc.) /// Task> DetectEntitiesAsync(string text); #endregion #region Azure OpenAI Methods /// /// Assesses mental health risk level using GPT-3.5 Turbo /// Task AssessMentalHealthRiskAsync(string anonymizedText, string questionContext); /// /// Generates workplace insights and intervention recommendations /// Task> GenerateWorkplaceInsightsAsync(string anonymizedText, string questionContext); /// /// Creates executive summary for questionnaire analysis /// Task GenerateExecutiveSummaryAsync(List analysisResults); /// /// Categorizes responses into mental health themes /// Task> CategorizeResponseAsync(string anonymizedText); #endregion #region Combined Analysis Methods /// /// Performs complete AI analysis on a single response (both Azure services) /// Task AnalyzeCompleteResponseAsync(AnalysisRequest request); /// /// Analyzes multiple responses for a specific question /// Task> AnalyzeQuestionResponsesAsync(int questionId, List requests); /// /// Generates comprehensive analysis overview for entire questionnaire /// Task GenerateQuestionnaireOverviewAsync(int questionnaireId); /// /// Batch processes multiple responses efficiently /// Task> BatchAnalyzeResponsesAsync(List requests); #endregion #region Mental Health Specific Methods /// /// Identifies responses requiring immediate attention (high risk) /// Task> IdentifyHighRiskResponsesAsync(int questionnaireId); /// /// Generates mental health trends across time periods /// Task> AnalyzeMentalHealthTrendsAsync(int questionnaireId, DateTime fromDate, DateTime toDate); /// /// Compares mental health metrics between departments/teams /// Task> CompareTeamMentalHealthAsync(int questionnaireId, List teamIdentifiers); /// /// Generates intervention recommendations based on overall analysis /// Task> GenerateInterventionRecommendationsAsync(int questionnaireId); #endregion #region Reporting Methods /// /// Creates detailed analysis report for specific questionnaire /// Task GenerateDetailedAnalysisReportAsync(int questionnaireId); /// /// Generates anonymized data export for further analysis /// Task> ExportAnonymizedAnalysisAsync(int questionnaireId); /// /// Creates management dashboard summary /// Task GenerateManagementDashboardAsync(int questionnaireId); #endregion #region Utility Methods /// /// Tests connection to Azure Language Service /// Task TestAzureLanguageServiceConnectionAsync(); /// /// Tests connection to Azure OpenAI Service /// Task TestAzureOpenAIConnectionAsync(); /// /// Validates analysis request before processing /// Task ValidateAnalysisRequestAsync(AnalysisRequest request); /// /// Gets analysis service health status /// Task> GetServiceHealthStatusAsync(); #endregion } }