Files
triqura-ecd/docs/intent/noshow-case/fo-cortex-casus-noshow.md
colinislit 924988dd15 feat(cortex): no-show casus — intent flow, brief-rescript en document artifact
Cortex handelt een no-show af vanuit één chatcommando: afspraak
annuleren (declarabiliteits-nudge), en de openstaande concept-
huisartsbrief wordt via LLM herschreven en ter review aangeboden
in een document artifact (human-in-the-loop, PATCH dispatch zet
status op verzendklaar).

- API-routes: context, rescript, cancel, dispatch
- NoShowDocumentBlock: review/edit UI met origineel-vergelijk
- Mock-data voor concept huisartsbrief
- PRD, FO, bouwplan en epics in docs/intent/noshow-case/

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 23:14:55 +02:00

5.5 KiB

Functioneel Ontwerp (FO) - Cortex Use Case: No Show Afhandeling

Project: Cortex Intent System (Mini-EPD Prototype) Focus: Casus 2 (Journaliseren Consult - No Show) Datum: Vandaag Link: PRD - Casus No Show


1. Gedetailleerde User Flow (Stap-voor-stap)

De interactie verloopt volledig conversationeel via het Cortex Chat venster en de stateful UI (Artifacts).

  • Stap 1: Registratie
    • User: Opent (of is in) het dossier van de patiënt en typt in de inputbalk: "Patiënt is niet verschenen - no show."
    • Systeem: De NLP checkt intents en ziet register_no_show.
  • Stap 2: Context Analyse & Waarschuwing (Nudge)
    • Systeem: Achterhaalt de actieve afspraak. Rule engine check: is is_billable waar? Ja.
    • Cortex AI Bericht: "Ik zie een declarabel consult in de agenda. Volgens inkoopvoorwaarden mag deze afspraak NIET gedeclareerd worden. Wil je dat ik deze annuleer als 'No Show'?"
    • UI Component: Toont knoppen (Nudge Suggestions) eronder: [Ja, annuleer] | [Nee, laat staan]
  • Stap 3: Activering Brief Check
    • User: Klikt op [Ja, annuleer].
    • Systeem: Verstuurt signaal naar backend. Wijzigt afspraak status naar 'cancelled_no_show'. Systeem zoekt naar openstaande taken voor deze patiënt en vindt Concept Huisartsbrief.
    • Cortex AI Bericht: "Afspraak geannuleerd. Er staat nog een concept huisartsbrief klaar. Zal ik daar de No Show in verwerken?"
    • UI Component: Toont knoppen: [Ja, pas brief aan] | [Nee]
  • Stap 4: AI Generatie & Beoordeling (Artifact)
    • User: Klikt op [Ja, pas brief aan].
    • Systeem: Roept LLM API aan in de backend met de originele tekst + "Integreer dat de afspraak vandaag gepauzeerd is wegens no show."
    • Cortex AI Bericht: "Huisartsbrief is aangepast. Kijk of je hiermee akkoord bent."
    • UI Component: Triggert openArtifact en het rechtervenster met de bewerkte brief schuift in beeld.
  • Stap 5: Accordering
    • User: Leest de brief in het Artifact venster, eventuele handmatige typ-aanpassingen, en klikt op [Akkoord & Verzendklaar].
    • Systeem: Slaat document/state op (status naar ready_for_dispatch). Toont kleine succesmelding in chat.

2. Componenten Matrix (Hergebruik vs. Nieuw)

Hier is in kaart gebracht welke React/Next.js store- en UI componenten we nodig hebben en wat hun huidige status is in de codebase.

2.1 UI Componenten (Frontend)

Component Status Toelichting Locatie verwachting
Cortex Chat Input ♻️ Hergebruik De bestaande inputbalk / command center waar de "no show" in getypt wordt. Omdat intent-herkenning centraal op de tekst werkt, hebben we geen nieuwe velden nodig. components/cortex/chat/... of command-center/...
Cortex Chat Message ♻️ Hergebruik De 'bubbels' waarin Cortex reageert. Deze renderen al responses. components/cortex/chat/...
Nudge Suggestion Card 🛠️ Aanpassen Deze tonen de UI knoppen (zoals [Ja, annuleren]). We moeten in de component bevestigen dat we via een klik een onzichtbaar of command-response kunnen terug sturen naar de orchestrator voor Stap 3. components/cortex/chat/nudge-suggestion.tsx (indien apart)
Document Artifact Window ♻️ Hergebruik We hebben de Artifact functionaliteit open staan in de store (openArtifacts). In dat artefact paneel kunnen we document content afbeelden. components/cortex/artifacts/...
Rich Text Editor ♻️ Hergebruik Binnenin het Artifact tonen we de Huisartsbrief via de editor component, zodat de arts nog kan bewerken. components/cortex/rich-text-editor.tsx
Artifact Action Bar Nieuw Een component (of extra 'footer') aan het Artifact component, met een knop [Akkoord & Verzendklaar]. Nu is het vaak readonly. components/cortex/artifacts/ of als los element.

2.2 Logica & Backend Componenten

Component / Module Status Toelichting Huidige locatie
Intent Classifier 🛠️ Aanpassen Toevoegen van het register_no_show label in de mapping. lib/cortex/intent-labels.ts & lib/cortex/types.ts
Nudge Protocol Rules 🛠️ Aanpassen Hier integreren we The "Declarabele Check" en "Brief Alert". We programmeren een regel af in nudge.ts die luistert naar de no_show. lib/cortex/nudge.ts
Cortex Store ♻️ Hergebruik Functies zoals addSuggestion en openArtifact zijn klaar voor gebruik! Hier is geen redesign van state voor nodig. stores/cortex-store.ts
No-Show Orchestrator/API Nieuw Specifieke API call en/of uitbreiding in AI logica die de database context opzoekt, LLM (via Langchain) aanstuurt en de brief herschrijft. app/api/cortex/...

3. Implementatie Fasering (FO -> Bouw)

  1. Interface Prep: register_no_show in alle TypeScript Types & configuraties toevoegen. De Nudge Rule definiëren (Fase 1 is statisch zonder database checks om UI op te pikken).
  2. Acties (Nudges): Knoppen reageren: we zorgen dat het klikken op de Chat Suggestie door praat met de store, zodat het volgende venster / bericht ('Zal ik conceptbrief openen?') getriggerd kan worden.
  3. Artifact Opening: rich-text-editor.tsx integreren in een Artifact layout, openen doormiddel van openArtifact. Knoppen 'Akkoord' toevoegen (console logs voorlopig).
  4. Backend (API & DB): Bouw van server-side checks. Echt data mocken en een route voor de LLM brief-rescript uitschrijven.