Task Suggestions
Na tej stronie
Overview
Dział zatytułowany „Overview”AI Task Suggestions automatycznie proponuje zadania na podstawie wizyty – przypomnienia o kontroli, badania do wykonania, recepty do wystawienia.
Architecture
Dział zatytułowany „Architecture”flowchart TB subgraph Trigger["Trigger"] VisitComplete[Visit Completed] SOAPGenerated[SOAP Generated] Manual[Manual Request] end
subgraph Generation["Generation"] Service[aiTaskSuggestionsService] AI[unified_ai_generate_tasks] end
subgraph Output["Output"] Suggestions[Task Suggestions] Accept[Accept → Create Task] Dismiss[Dismiss] end
Trigger --> Service Service --> AI AI --> Suggestions Suggestions --> Accept Suggestions --> DismissHook: useAiTaskSuggestions
Dział zatytułowany „Hook: useAiTaskSuggestions”Plik: src/hooks/ai/useAiTaskSuggestions.ts
const { suggestions, // TaskSuggestion[] isLoading, error, acceptSuggestion, dismissSuggestion, acceptAll, dismissAll, refresh,} = useAiTaskSuggestions(visitId);Task Suggestion Model
Dział zatytułowany „Task Suggestion Model”interface TaskSuggestion { id: string; visitId: string; title: string; description?: string; priority: 'low' | 'medium' | 'high'; suggestedDueDate?: string; type: SuggestionType; confidence: number; // 0-1}
type SuggestionType = | 'followup' // Wizyta kontrolna | 'lab_test' // Badania laboratoryjne | 'prescription' // Recepta | 'callback' // Telefon do właściciela | 'reminder' // Przypomnienie ogólne | 'vaccination'; // SzczepienieGeneration Flow
Dział zatytułowany „Generation Flow”sequenceDiagram participant UI as Visit Editor participant Hook as useAiTaskSuggestions participant Service as aiTaskSuggestionsService participant BE as Backend participant LLM as AI
Note over UI: Visit finalized
UI->>Hook: visitId changed Hook->>Service: generateSuggestions(visitId) Service->>BE: unified_ai_generate_tasks
BE->>BE: Load visit + patient data BE->>LLM: Generate suggestions LLM-->>BE: Suggested tasks
BE-->>Service: TaskSuggestion[] Service-->>Hook: suggestions Hook->>UI: Display suggestionsUI Display
Dział zatytułowany „UI Display”┌─────────────────────────────────────────────┐│ 💡 AI Suggestions (3) │├─────────────────────────────────────────────┤│ ││ ☐ 📅 Wizyta kontrolna za 5 dni ││ Sprawdzenie postępu leczenia ││ [Accept] [Dismiss] ││ ││ ☐ 🧪 Badanie krwi - morfologia ││ Kontrola po antybiotykoterapii ││ [Accept] [Dismiss] ││ ││ ☐ 📞 Telefon do właściciela ││ Sprawdzić stan pacjenta za 2 dni ││ [Accept] [Dismiss] ││ │├─────────────────────────────────────────────┤│ [Accept All] [Dismiss All] │└─────────────────────────────────────────────┘Commands
Dział zatytułowany „Commands”| Command | Description |
|---|---|
unified_ai_generate_tasks | Generate suggestions for visit |
unified_ai_list_task_suggestions | List existing suggestions |
unified_ai_accept_task_suggestions | Accept and create tasks |
unified_ai_dismiss_task_suggestions | Dismiss suggestions |
Accept Flow
Dział zatytułowany „Accept Flow”// Accept single suggestionconst acceptSuggestion = async (suggestionId: string) => { // 1. Call backend to accept await safeInvoke('unified_ai_accept_task_suggestions', { suggestion_ids: [suggestionId], });
// 2. Task created automatically // 3. Remove from suggestions list setSuggestions(prev => prev.filter(s => s.id !== suggestionId) );
// 4. Refresh tasks list refreshTasks();};Integration with Workspace
Dział zatytułowany „Integration with Workspace”// WorkspaceReminders panelconst { aiSuggestions, aiLoading, aiAccept, aiDismiss } = useAiTaskSuggestions( aiTasksEnabled ? lastAiVisitId : null );
// lastAiVisitId from localStorageconst lastAiVisitId = localStorage.getItem('vista.ai.lastVisitId');
// Event to update'vista-open-workspace-ai-suggestions' → updates lastAiVisitIdSuggestion Generation Logic
Dział zatytułowany „Suggestion Generation Logic”AI analizuje wizytę i sugeruje zadania na podstawie:
| Source | Suggestions |
|---|---|
| Plan (SOAP) | Follow-up visits, prescriptions |
| Assessment | Lab tests, specialists |
| Medications | Refill reminders |
| Visit type | Standard protocols |
Example
Dział zatytułowany „Example”SOAP Plan:"Metacam 5 dni, kontrola po leczeniu, morfologia za tydzień"
Generated Suggestions:1. Followup: "Wizyta kontrolna" - due: +5 days2. Lab test: "Morfologia krwi" - due: +7 days3. Reminder: "Sprawdzić tolerancję leku" - due: +2 daysConfidence Scores
Dział zatytułowany „Confidence Scores”Sugestie mają confidence score:
| Score | Meaning | UI |
|---|---|---|
| 0.9+ | Very confident | Bold, highlighted |
| 0.7-0.9 | Confident | Normal |
| 0.5-0.7 | Moderate | Subtle |
| <0.5 | Low | Not shown by default |
Settings
Dział zatytułowany „Settings”// User preferences{ tasks_panel_mode: 'manual' | 'auto' | 'off', auto_generate_tasks: boolean,}
// 'auto' - suggestions generated automatically// 'manual' - only on request// 'off' - feature disabledRelated
Dział zatytułowany „Related”- Tasks Commands - Task API
- Tasks Overview - Tasks module
- AI Suite Overview - Full AI system