{
  "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"
  }
}
