AI Assistants
Specjalizowani asystenci AI z dedykowanymi promptami i kontekstem klinicznym.
Na tej stronie
Overview
Dział zatytułowany „Overview”AI Assistants to specjalizowane tryby AI dostosowane do konkretnych scenariuszy klinicznych. Każdy specjalista ma dedykowany system prompt i kontekst.
Available Specialists
Dział zatytułowany „Available Specialists”| Specialist | Focus | Use Case |
|---|---|---|
| General | Ogólny asystent | Pytania ogólne |
| Dermatology | Skóra, sierść | Problemy dermatologiczne |
| Cardiology | Serce, układ krążenia | Problemy kardiologiczne |
| Orthopedics | Kości, stawy | Kulawizny, urazy |
| Emergency | Nagłe przypadki | Triaging, pierwsza pomoc |
| Nutrition | Dieta, żywienie | Zalecenia dietetyczne |
Architecture
Dział zatytułowany „Architecture”flowchart TB subgraph Selection["Specialist Selection"] Selector[Specialist Selector] Tabs[Specialist Tabs] end
subgraph Host["AISpecialistHost"] Context[Build Context] SystemPrompt[Load System Prompt] Chat[Chat Interface] end
subgraph Backend UnifiedAI[unified_ai_chat] end
Selection --> Host Host --> Context Context --> SystemPrompt SystemPrompt --> Chat Chat --> UnifiedAISpecialist Host
Dział zatytułowany „Specialist Host”Komponent: AISpecialistHost
interface AISpecialistHostProps { specialist: SpecialistType; visitId?: string; patientId?: string; onClose: () => void;}
// Usage<AISpecialistHost specialist="dermatology" visitId={currentVisitId} patientId={selectedPatient?.patient_id}/>System Prompts
Dział zatytułowany „System Prompts”Każdy specjalista ma dedykowany prompt:
General Assistant
Dział zatytułowany „General Assistant”Jesteś asystentem weterynaryjnym. Pomagasz lekarzom w codziennej pracy.Odpowiadaj rzeczowo i profesjonalnie. Jeśli nie jesteś pewien, powiedz o tym.Dermatology Specialist
Dział zatytułowany „Dermatology Specialist”Jesteś specjalistą dermatologii weterynaryjnej. Skupiasz się na:- Chorobach skóry (atopia, alergie, infekcje)- Problemach z sierścią (wypadanie, świąd)- Zmianach skórnych (guzy, owrzodzenia)
Przy analizie pytaj o: lokalizację zmian, czas trwania, świąd, dietę.Emergency Specialist
Dział zatytułowany „Emergency Specialist”Jesteś specjalistą medycyny ratunkowej. Priorytetem jest:1. Ocena stanu zagrożenia życia2. Triaging (ABC - airway, breathing, circulation)3. Natychmiastowe działania ratunkowe
ZAWSZE pytaj o: stan świadomości, oddech, krwawienie, uraz.Context Building
Dział zatytułowany „Context Building”// Build specialist contextfunction buildSpecialistContext( specialist: SpecialistType, visit?: Visit, patient?: Patient): SpecialistContext { return { systemPrompt: SPECIALIST_PROMPTS[specialist], visitContext: visit ? { type: visit.visit_type, transcript: visit.transcript, soap: visit.soap_subjective, } : undefined, patientContext: patient ? { name: patient.name, species: patient.species, breed: patient.breed, age: calculateAge(patient.birth_date), medicalHistory: patient.medical_conditions, } : undefined, };}UI Layout
Dział zatytułowany „UI Layout”┌─────────────────────────────────────────────┐│ AI Specialists │├─────────────────────────────────────────────┤│ [General] [Derma] [Cardio] [Ortho] [Emerg] │├─────────────────────────────────────────────┤│ ││ 🩺 Dermatology Specialist ││ ││ Aktywny pacjent: Burek (pies, 5 lat) ││ ││ ───────────────────────────────────────── ││ ││ [Chat messages...] ││ │├─────────────────────────────────────────────┤│ [Ask about skin condition...] [Send] │└─────────────────────────────────────────────┘Integration with Visits
Dział zatytułowany „Integration with Visits”Specjaliści mogą być wywoływani z kontekstem wizyty:
// From RightPanel in Visit Editorconst openSpecialist = (type: SpecialistType) => { setActiveSpecialist(type); setSpecialistContext({ visitId: selectedVisit.id, transcript: selectedVisit.transcript, patientData: selectedPatient, });};Specialist Switching
Dział zatytułowany „Specialist Switching”// Preserve context when switchingconst handleSpecialistChange = (newSpecialist: SpecialistType) => { // Save current chat saveDraft(currentSpecialist, messages);
// Load new specialist draft const draft = loadDraft(newSpecialist);
setActiveSpecialist(newSpecialist); setMessages(draft || []);};Notes Agent
Dział zatytułowany „Notes Agent”Specjalny agent do notatek:
const { generateNotes, isGenerating, progress,} = useNotesAgent();
// Generate clinical notesawait generateNotes({ visitId, patientData, visitData, format: 'soap', // or 'narrative'});Related
Dział zatytułowany „Related”- AI Suite Overview - Full AI system
- AI Chat - Chat interface
- SOAP Generation - SOAP notes