{ "id": "architecture-diagram", "name": "Architectuur Diagram — Drie-Lagen Intelligentie", "version": "1.0", "created": "2025-01-05", "purpose": "Technische geloofwaardigheid voor ICT-managers en EPD-leveranciers", "primary_audience": ["ICT-managers", "EPD-leveranciers"], "core_message": "Doordacht, schaalbaar, veilig", "format": { "aspect_ratio": "4:3", "resolution": "1920x1440px", "file_type": "Vector (SVG/Figma)", "alternatives": ["A4 landscape", "1920x1080px for slides"], "use_cases": ["Technical documentation", "Whitepaper", "Integration guide", "Pitch deck"] }, "brand_colors": { "layer1_reflex": "#0F766E", "layer2_orchestrator": "#F59E0B", "layer3_nudge": "#16A34A", "background": "#F8FAFC", "surface": "#FFFFFF", "text_primary": "#0F172A", "text_secondary": "#475569", "border": "#E2E8F0" }, "diagram_spec": { "layout": "vertical_flow_top_to_bottom", "layers": [ { "id": "input", "name": "Input Layer", "name_nl": "Invoer", "description": "Spraak en tekst invoer van zorgprofessional", "example": "\"Maak notitie voor Jan\"", "icons": ["microphone", "keyboard"], "color": "neutral", "height": "80px" }, { "id": "reflex", "name": "Layer 1: Reflex Arc", "name_nl": "Laag 1: Reflex", "tagline": "Snelle lokale verwerking", "description": "Lokale pattern matching zonder AI-calls", "coverage": "70% van alle requests", "latency": "<20ms", "color": "#0F766E", "icon": "zap", "intents": [ { "id": "notitie", "label": "Notitie", "pattern": "notitie|noteer|schrijf op" }, { "id": "zoeken", "label": "Zoeken", "pattern": "zoek|vind|waar is" }, { "id": "agenda", "label": "Agenda", "pattern": "agenda|afspraak|planning" }, { "id": "overdracht", "label": "Overdracht", "pattern": "overdracht|handover" } ], "escalation": { "condition": "confidence < 0.7", "target": "orchestrator", "label": "Escaleer naar Layer 2" }, "height": "160px" }, { "id": "orchestrator", "name": "Layer 2: Orchestrator", "name_nl": "Laag 2: Orchestrator", "tagline": "Claude AI voor complexe gevallen", "description": "Context-aware intent classificatie", "model": "Claude 3.5 Haiku", "color": "#F59E0B", "icon": "brain", "capabilities": [ { "id": "multi_intent", "label": "Multi-intent", "example": "\"annuleer afspraak én maak notitie\"", "icon": "layers" }, { "id": "pronoun_resolution", "label": "Pronoun resolutie", "example": "\"voor hem\" → actieve patiënt", "icon": "user" }, { "id": "relative_time", "label": "Relatieve tijd", "example": "\"morgen 14:00\" → 2025-01-06T14:00", "icon": "calendar" } ], "height": "180px" }, { "id": "nudge", "name": "Layer 3: Nudge", "name_nl": "Laag 3: Nudge", "tagline": "Proactieve suggesties", "description": "Post-actie aanbevelingen op basis van zorgprotocollen", "color": "#16A34A", "icon": "lightbulb", "example": { "trigger": "Na wondnotitie", "suggestion": "Plan wondcontrole over 3 dagen?", "source": "V&VN richtlijnen" }, "height": "120px" }, { "id": "output", "name": "Output: Gestructureerde Zorgdata", "name_nl": "Uitvoer: Gestructureerde Data", "description": "FHIR-compatibele data naar EPD", "color": "neutral", "icon": "database", "output_card": { "fields": [ { "label": "Patient", "value": "Jan Bakker" }, { "label": "Type", "value": "Verpleegkundige notitie" }, { "label": "Categorie", "value": "ADL" }, { "label": "Inhoud", "value": "Goed geslapen, zelfstandig ontbeten" }, { "label": "Dienst", "value": "Ochtend" }, { "label": "Datum", "value": "2025-01-05" } ] }, "integration": "EPD / FHIR", "height": "160px" } ], "connectors": { "style": "arrow_down", "color": "#CBD5E1", "width": "2px" } }, "style": { "corners": "8px rounded", "shadows": "0 2px 6px rgba(15,23,42,0.08)", "typography": { "headings": "font-weight: 600", "body": "font-weight: 400", "code": "font-family: monospace" }, "spacing": { "layer_gap": "24px", "inner_padding": "20px" }, "iconography": "Lucide or Phosphor icons", "language": "Dutch labels" }, "platforms": { "figma": { "instructions": "Use Auto Layout for each layer. Create components for reusable elements. Use brand colors from variables.", "template_structure": [ "Frame: Architecture Diagram (1920x1440)", " ├── Component: Input Layer", " ├── Connector Arrow", " ├── Component: Reflex Layer", " ├── Connector Arrow (conditional)", " ├── Component: Orchestrator Layer", " ├── Connector Arrow", " ├── Component: Nudge Layer", " ├── Connector Arrow", " └── Component: Output Layer" ] }, "mermaid": { "code": "flowchart TD\n A[\"🎤 Spraak / ⌨️ Tekst\"] --> B\n B[\"Layer 1: Reflex Arc\\n⚡ <20ms | 70% requests\"] --> C{Confidence < 0.7?}\n C -->|Nee| E\n C -->|Ja| D[\"Layer 2: Orchestrator\\n🧠 Claude AI\"]\n D --> E[\"Layer 3: Nudge\\n💡 Proactieve suggesties\"]\n E --> F[\"📋 Gestructureerde Zorgdata\\nEPD / FHIR\"]" }, "excalidraw": { "style": "Hand-drawn for workshops", "instructions": "Use rounded rectangles, hand-drawn arrows, sticky note aesthetic" }, "draw_io": { "instructions": "Use flowchart shapes, custom colors from brand palette" } }, "text_content": { "title": "Cortex Drie-Lagen Architectuur", "subtitle": "Van natuurlijke taal naar gestructureerde zorgdata", "layer_descriptions": { "reflex": "Snelle, lokale verwerking voor 70% van alle commando's. Geen externe API-calls, <20ms latency.", "orchestrator": "Claude AI voor complexe gevallen: multi-intent, context-resolutie, tijdsparsing.", "nudge": "Proactieve suggesties na acties, gebaseerd op V&VN zorgprotocollen." }, "footer": "FHIR-compatibel | WCAG AA toegankelijk | AVG-compliant" } }