diff --git a/app/api/swift/chat/route.ts b/app/api/swift/chat/route.ts index b92ec33..88e8df3 100644 --- a/app/api/swift/chat/route.ts +++ b/app/api/swift/chat/route.ts @@ -1,9 +1,9 @@ /** * Swift Chat API Route (v3.0) * - * Streaming chat endpoint voor Swift Medical Scribe met Server-Sent Events (SSE). + * Streaming chat endpoint voor Swift Assistent met Server-Sent Events (SSE). * - * Epic: E3 (Chat API & Medical Scribe) + * Epic: E3 (Chat API & Swift Assistent) * Story: E3.S1 (Chat API endpoint skeleton) */ @@ -76,10 +76,10 @@ const RequestSchema = z.object({ type RequestData = z.infer; /** - * Build medical scribe system prompt (E3.S3) + * Build Swift Assistent system prompt (E3.S3) * Full prompt with intent detection, entity extraction, and action generation */ -function buildMedicalScribePrompt(context?: RequestData['context']): string { +function buildSystemPrompt(context?: RequestData['context']): string { // Build context section const patientContext = context?.activePatient ? `{ @@ -92,7 +92,7 @@ function buildMedicalScribePrompt(context?: RequestData['context']): string { const shiftContext = context?.shift ?? 'ochtend'; - return `Je bent een medische assistent (medical scribe) voor Swift, een Nederlands EPD-systeem voor GGZ-instellingen. + return `Je bent Swift Assistent, een medische assistent voor Swift EPD, een Nederlands EPD-systeem voor GGZ-instellingen. ## Je rol @@ -524,8 +524,8 @@ export async function POST(request: NextRequest) { // 4. Prepare conversation history (limit to last N messages) const history = messages.slice(-MAX_HISTORY_MESSAGES); - // 5. Build medical scribe system prompt (E3.S3) - const systemPrompt = buildMedicalScribePrompt(context); + // 5. Build Swift Assistent system prompt (E3.S3) + const systemPrompt = buildSystemPrompt(context); // 6. Check for Claude API key const apiKey = process.env.ANTHROPIC_API_KEY; diff --git a/components/swift/artifacts/blocks/agenda-block.tsx b/components/swift/artifacts/blocks/agenda-block.tsx index 96a94fa..9765cb6 100644 --- a/components/swift/artifacts/blocks/agenda-block.tsx +++ b/components/swift/artifacts/blocks/agenda-block.tsx @@ -5,6 +5,7 @@ import { AgendaListView } from './agenda-list-view'; import { AgendaCreateForm } from './agenda-create-form'; import { AgendaCancelView } from './agenda-cancel-view'; import { AgendaRescheduleForm } from './agenda-reschedule-form'; +import { motion, AnimatePresence } from 'framer-motion'; export interface AgendaBlockProps { mode: 'list' | 'create' | 'cancel' | 'reschedule'; @@ -36,6 +37,7 @@ export function AgendaBlock({ case 'list': return ( ); case 'create': - return ; + return ; case 'cancel': return ( ); case 'reschedule': - return ; + return ; default: - return
Unknown mode: {mode}
; + return
Unknown mode: {mode}
; } }; return ( -
- {renderContent()} -
+ + + + {renderContent()} + + + ); } diff --git a/components/swift/artifacts/blocks/agenda-cancel-view.tsx b/components/swift/artifacts/blocks/agenda-cancel-view.tsx index cc20118..871f507 100644 --- a/components/swift/artifacts/blocks/agenda-cancel-view.tsx +++ b/components/swift/artifacts/blocks/agenda-cancel-view.tsx @@ -9,6 +9,7 @@ import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; import { Label } from '@/components/ui/label'; import { cancelEncounter } from '@/app/epd/agenda/actions'; import { CalendarEvent, APPOINTMENT_TYPES, AppointmentTypeCode } from '@/app/epd/agenda/types'; +import { motion } from 'framer-motion'; interface AgendaCancelViewProps { disambiguationOptions?: CalendarEvent[]; @@ -74,7 +75,7 @@ export function AgendaCancelView({ disambiguationOptions, prefillData, onClose }

Afspraak geannuleerd

De afspraak is succesvol verwijderd uit de agenda.

- + ); } @@ -82,16 +83,21 @@ export function AgendaCancelView({ disambiguationOptions, prefillData, onClose } // Disambiguation Mode if (!effectiveEncounter && disambiguationOptions && disambiguationOptions.length > 1) { return ( -
-
+ +

Afspraak annuleren

-
-
-

+

+

Er zijn meerdere afspraken gevonden. Welke wil je annuleren?

@@ -103,11 +109,11 @@ export function AgendaCancelView({ disambiguationOptions, prefillData, onClose } const timeStr = format(new Date(evt.start), 'HH:mm'); return ( -
+