# 小医用户服务全流程

> 版本：v1.0  
> 创建时间：2026-04-27  
> 适用范围：小医（健康之路医生助理）

---

## 📋 流程总览

```
用户添加小医微信
    ↓
系统自动识别 contactId
    ↓
检查 user_index.json（判断新老用户）
    ↓
┌─────────────────┬─────────────────┐
│   新用户流程    │   老用户流程    │
│  (verified=false)│  (verified=true) │
└─────────────────┴─────────────────┘
    ↓                     ↓
发送欢迎词 + 引导建档     加载权限 + 正常会话
    ↓
用户提供姓名 + 手机号
    ↓
调用 API 核验身份
    ↓
建档完成（verified=true）
    ↓
正常会话 + 提供服务
```

---

## 一、新用户服务流程

### 1.1 用户添加小医

**触发条件：** 用户通过微信扫描小医二维码/搜索微信号添加

**系统动作：**
1. tutu-aggchat 接收微信消息
2. 自动解析 contactId（如：q29m0gev）
3. 检查 `user_index.json` 是否存在该 contactId

---

### 1.2 新用户识别

**判断逻辑：**
```python
if contactId not in user_index:
    # 新用户 → 执行新用户欢迎流程
    create_profile(contactId)
    send_welcome_message()
else:
    # 老用户 → 加载权限
    load_user_permissions()
```

**档案创建：**
```json
// other-contacts/{contactId}/profile.json
{
  "contactId": "q29m0gev",
  "role": "other-contacts",
  "verified": false,
  "createdAt": "2026-04-27 15:51"
}
```

---

### 1.3 发送欢迎词

**欢迎词内容：**（加载自 `skills/activity-faq/doctor-faq.md`）

```
您好！我是您的健康之路专属小助手，随时在线为您提供解答和支持！🩺

【特别提醒】当前正在进行"数字专科"征集活动，诚邀您的参与！

我们精心挑选了多个热门的高价值学术活动，助您为健康事业贡献力量。本期代表活动速览：

✅ 「健康科普」内容征集 - 分享您在临床中的专病知识，让您的智慧精准触达患者！
✅ 「仁心循证」学术临床调研 - 仅需几分钟，填写专业问卷，您的宝贵经验将助力医学研究！
✅ 「学术π」前沿文献领航计划 - 深度解析前沿文献，以思想碰撞，定义学科新坐标！

🔥 本期活动已启动，限时征集，额满即止！

点击下方链接，查看更多适合您的活动，速速报名参与吧👇

#小程序://无边界互联网医院/0mEeGNNb3g0rGpg

---

请问怎么称呼您？方便告诉我您的姓名和所在医院吗？
```

---

### 1.4 收集用户信息

**询问内容：**
1. 姓名
2. 手机号（用于身份核验）
3. 所在医院（可选）
4. 科室（可选）

**用户回复示例：**
```
我叫陈美华，手机号 13559110806，在福州协和医院心内科
```

---

### 1.5 身份核验

**调用 API：** `UserMgmt.Account.getUserInfoByLoginID`

**请求参数：**
```json
{
  "loginID": "13559110806",
  "loginType": "1",
  "needDepartment": "false"
}
```

**核验结果处理：**

| API 返回 | 处理方式 |
|---------|---------|
| Code=10000，有 UserID | ✅ 核验通过，更新档案 |
| Code=-9999，无此用户 | ❌ 核验失败，引导重新提供 |
| 其他错误 | ⚠️ 记录日志，人工介入 |

**核验通过后更新档案：**
```json
{
  "contactId": "q29m0gev",
  "name": "陈美华",
  "role": "other-contacts",
  "verified": true,
  "phone": "13559110806",
  "doctorUid": 710558434,
  "hospital": "福州协和医院",
  "department": "心内科",
  "lastUpdate": "2026-04-27 18:15"
}
```

---

### 1.6 建档完成

**档案状态：**
- ✅ verified: true
- ✅ name: 陈美华
- ✅ phone: 13559110806
- ✅ doctorUid: 710558434
- ✅ hospital: 福州协和医院（可选）
- ✅ department: 心内科（可选）

**后续服务：**
- 活动查询与报名
- 审核状态查询
- 订单/提现查询
- 常见问题解答

---

## 二、老用户服务流程

### 2.1 用户识别

**判断逻辑：**
```python
if contactId in user_index and user_index[contactId]['verified'] == true:
    # 老用户 → 加载权限
    role = user_index[contactId]['role']
    load_session_state(role, contactId)
```

---

### 2.2 权限加载

**角色分类：**

| 角色 | 说明 | 权限 |
|------|------|------|
| owner | 系统所有者（高祖峰） | 全部权限 |
| employee | 内部员工 | 员工权限 |
| other-contacts | 外部医生用户 | 医生权限 |

**SESSION_STATE 加载：**

| 角色 | 加载文件 |
|------|---------|
| owner | `memory/SESSION_STATE.md` |
| employee | `employees/{姓名}_{contactId}/{姓名}_{contactId}_SESSION_STATE.md` |
| other-contacts | `other-contacts/{contactId}/{contactId}_SESSION_STATE.md` |

---

### 2.3 正常会话

**服务内容：**

| 用户请求 | 处理技能 | 说明 |
|---------|---------|------|
| "有什么活动？" | activity-query | 查询可参与活动 |
| "XX 活动报名链接" | activity-reg-link | 获取报名链接 |
| "我的审核进度" | audit-status-query | 查询审核状态 |
| "我的提现" | order-query | 查询提现订单 |
| "怎么报名？" | activity-faq | 常见问题解答 |
| "转人工" | ticket-escalation | 转接运营人员 |

---

## 三、特殊场景处理

### 3.1 员工身份核验

**触发条件：** 用户自称是内部员工

**处理流程：**
1. 查询 `employees/employee_list.json`
2. 匹配姓名或手机号
3. 匹配成功 → 问手机后四位核验
4. 核验通过 → role=employee，创建员工档案

---

### 3.2 审核催促

**触发条件：** 用户查询审核进度，发现 state=1（待审核）

**处理流程：**
1. 创建工单：`tickets/ticket-{date}-{num}.json`
2. 通知全科医生团队（企业微信）
3. 告知用户已转接催促

---

### 3.3 问题转接

**触发条件：**
- 用户问题超出小医能力范围
- 用户明确要求"转人工"
- 技术问题需要人工排查

**处理流程：**
1. 创建工单
2. 通知运营人员
3. 告知用户已转接

---

## 四、数据管理

### 4.1 档案目录结构

```
workspace/
├── user_index.json              # 用户索引（contactId ↔ 信息映射）
├── employees/                   # 内部员工档案
│   ├── employee_list.json      # 员工预置名单
│   └── {姓名}_{contactId}/     # 员工个人档案
└── other-contacts/              # 外部用户档案
    └── {contactId}/            # 用户档案目录
        └── profile.json        # 用户基本信息
```

---

### 4.2 用户索引格式

```json
{
  "q29m0gev": {
    "name": "陈美华",
    "callName": "陈医生",
    "role": "other-contacts",
    "verified": true,
    "phone": "13559110806",
    "doctorUid": 710558434,
    "hospital": "福州协和医院",
    "department": "心内科",
    "createdAt": "2026-04-27 15:51",
    "lastUpdate": "2026-04-27 18:15"
  }
}
```

---

### 4.3 隐私保护

**敏感信息处理：**
- 手机号：脱敏显示（135****0806）
- 医生 UID：仅内部使用，不对外展示
- 订单金额：仅用户本人可见
- 审核细节：不对外透露内部流程

**数据隔离：**
- 用户之间数据互不可见
- 只有 owner 可访问所有数据
- 员工只能查看工作相关数据

---

## 五、质量保障

### 5.1 欢迎词发送率

**目标：** 100% 新用户收到欢迎词

**监控指标：**
- 新用户档案创建数
- 欢迎词发送成功数
- 建档完成率（verified=true 比例）

---

### 5.2 身份核验通过率

**目标：** >90% 核验通过率

**常见问题：**
- 手机号未实名 → 引导使用实名手机号
- 非医生用户 → 告知暂不支持
- API 调用失败 → 重试或人工介入

---

### 5.3 响应时效

**标准：**
- 查询类请求：立即响应
- 推送类任务：按时执行
- 问题转接：5 分钟内创建工单
- 审核催促：立即通知全科医生团队

---

## 六、附录

### 6.1 相关文档

- AGENTS.md - 小医工作指南
- SOUL.md - 小医的灵魂（行为准则）
- USER.md - 用户分类与沟通原则
- HEARTBEAT.md - 心跳检查任务

### 6.2 技能清单

详见 `config/skill-manifest.json`

### 6.3 活动名称映射

详见 `config/activity-name-mapping.json`

---

_最后更新：2026-04-27 18:31_
