{
  "title": "近视防控管理系统",
  "version": "2.1",
  "systemArchitecture": {
    "layers": [
      {
        "id": "access",
        "name": "接入层",
        "color": "#e0f2fe",
        "nodes": [
          { "label": "PC 工作台", "desc": "视光师/助理" },
          { "label": "平板视训端", "desc": "现场执行" },
          { "label": "家长查询", "desc": "可选 H5" }
        ]
      },
      {
        "id": "business",
        "name": "业务层 · 7 大模块",
        "color": "#f0fdfa",
        "nodes": [
          { "label": "患者档案", "group": "主数据" },
          { "label": "检查记录", "group": "屈光/眼轴" },
          { "label": "视训管理", "group": "方案/执行" },
          { "label": "效果分析", "group": "趋势/对比" },
          { "label": "检查提醒", "group": "约束规则" },
          { "label": "数据仪表盘", "group": "经营分析", "desc": "核心" },
          { "label": "系统设置", "group": "阈值/权限" }
        ]
      },
      {
        "id": "platform",
        "name": "平台层",
        "color": "#f8fafc",
        "nodes": [
          { "label": "权限角色", "desc": "视光师/助理/管理员" },
          { "label": "效果算法", "desc": "按年龄阶段阈值" },
          { "label": "约束引擎", "desc": "时间+次数双轨" },
          { "label": "导出打印", "desc": "Excel/PDF" },
          { "label": "消息提醒", "desc": "到期/超次" }
        ]
      },
      {
        "id": "integration",
        "name": "集成层",
        "color": "#fefce8",
        "nodes": [
          { "label": "验光设备", "desc": "可选对接" },
          { "label": "短信/微信", "desc": "复查提醒" },
          { "label": "ERP/收银", "desc": "视训套餐" },
          { "label": "BI 报表", "desc": "连锁汇总" }
        ]
      }
    ],
    "relations": [
      { "from": "business", "to": "platform", "label": "效果评级、检查约束由平台规则引擎计算" },
      { "from": "business", "to": "integration", "label": "到期名单可推送短信；视训次数可回写收银" }
    ]
  },
  "flowDiagrams": [
    {
      "id": "patient-lifecycle",
      "title": "患者全生命周期（8 步）",
      "subtitle": "从建档到效果评估的完整闭环",
      "type": "linear",
      "steps": [
        { "seq": 1, "label": "新建档案", "actor": "前台/视光师", "detail": "录入基本信息、瞳距、负责视光师" },
        { "seq": 2, "label": "首次检查", "actor": "视光师", "detail": "屈光、眼轴、视功能指标入库", "gate": "无检查不可评估效果" },
        { "seq": 3, "label": "光学矫正登记", "actor": "视光师", "detail": "多点离焦/点扩散/双控/单光" },
        { "seq": 4, "label": "视训执行", "actor": "助理", "detail": "选方案模板，逐项记录实际时长", "gate": "受检查约束规则限制" },
        { "seq": 5, "label": "复查检查", "actor": "视光师", "detail": "间隔达标后新增检查记录" },
        { "seq": 6, "label": "效果计算", "actor": "系统", "detail": "初末次对照，按年龄阈值评级" },
        { "seq": 7, "label": "趋势/对比", "actor": "视光师", "detail": "眼轴曲线、视功能前后对比" },
        { "seq": 8, "label": "调整方案", "actor": "视光师", "detail": "效果不佳时换镜/加训/加红光" }
      ]
    },
    {
      "id": "exam-constraint",
      "title": "检查约束与提醒（双轨）",
      "subtitle": "时间间隔 + 视训次数，任一达标即触发提醒",
      "type": "branch",
      "branches": [
        {
          "name": "时间轨",
          "steps": ["上次检查日期", "距今 ≥ 间隔月数", "标记临期/超期"],
          "ruleExample": "默认间隔 1 月，临期前 3 天黄色提醒"
        },
        {
          "name": "次数轨",
          "steps": ["上次检查后视训次数", "累计 ≥ 阈值", "剩余次数归零"],
          "ruleExample": "默认阈值 20 次，剩余 ≤3 次黄色提醒"
        },
        {
          "name": "角色约束",
          "steps": ["视训师/助理执行视训", "超期患者拦截或豁免"],
          "ruleExample": "视光师可豁免；管理员可调整规则"
        }
      ]
    },
    {
      "id": "effect-rating",
      "title": "防控效果评级算法",
      "subtitle": "按年龄阶段分别设置眼轴增速与屈光增速阈值",
      "type": "linear",
      "steps": [
        { "seq": 1, "label": "取初末检查", "actor": "系统", "detail": "至少 2 次检查才参与评级" },
        { "seq": 2, "label": "计算年化增速", "actor": "系统", "detail": "眼轴 mm/年、等效球镜 D/年" },
        { "seq": 3, "label": "匹配年龄阶段", "actor": "系统", "detail": "学龄前/小学低/小学高/初中及以上" },
        { "seq": 4, "label": "输出等级", "actor": "系统", "detail": "显著有效/有效/基本稳定/效果不佳/数据不足" }
      ]
    },
    {
      "id": "training-session",
      "title": "视训执行流程（5 步）",
      "subtitle": "方案模板 → 逐项计时 → 保存归档",
      "type": "swimlane",
      "steps": [
        { "seq": 1, "lane": "助理", "label": "选择患者", "detail": "系统显示剩余可训次数" },
        { "seq": 2, "lane": "助理", "label": "选择方案", "detail": "基础调节/集合训练等模板" },
        { "seq": 3, "lane": "助理", "label": "逐项执行", "detail": "翻转拍、聚散球等，填实际时长" },
        { "seq": 4, "lane": "系统", "label": "校验约束", "detail": "超期患者提示，可豁免" },
        { "seq": 5, "lane": "系统", "label": "保存记录", "detail": "更新患者视训总次、红光时长" }
      ]
    }
  ]
}
