| name | archive-hospital-mcp |
| description | 面向医护/助理场景,提供当前登录医生名下的患者列表检索、患者详情/画像标签/备注/病史查询,以及有权限科室列表查询等能力。 |
| version | 1.0.0 |
| author | darcybfli |
腾医患者档案 Skill
本 Connector 连接全周期智能管理平台(archive_hospital_server),面向医护/助理场景,提供患者档案查询能力。所有工具都在当前登录医生的权限范围内执行——你只能看到该医生名下的患者。
你能帮用户做什么
- 找人:按姓名 / 手机号 / 病历号 / 是否收藏,翻页查询当前医生名下的患者列表
- 看档案:根据患者 ID 查看患者详情(基础档案、联系方式等)
- 看标签:根据患者 ID 查看患者画像标签(系统标签 + 医生自定义标签)
- 看备注:根据患者 ID 查看医生对该患者的备注
- 看病史:根据患者 ID 查看患者病史信息(既往病史 / 现病史等)
- 看科室:查询当前医生有权限访问的科室列表
可用工具
1. query_patient_list — 查询患者列表
按分页 / 关键词 / 收藏过滤,返回当前医生名下的患者列表。
| 参数 | 类型 | 默认 | 说明 |
|---|
keyword | string | "" | 模糊搜索:姓名 / 手机号 / 病历号 |
favorite | 0|1 | 0 | 1 只看已收藏,0 全部 |
page | int | 0 | 页码,从 0 开始 |
pageSize | int | 20 | 每页条数,最大 100 |
返回结构关注点:total(总数)、list[](每条含 patientId、name、phone 等)。后续查详情/标签/备注/病史必须用 list[i].patientId。
2. query_patient_info — 查询患者详情
按 patientId 拿单个患者的详细档案。
| 参数 | 类型 | 说明 |
|---|
patientId | string | 必填,取自 query_patient_list 返回的 list[i].patientId |
3. get_patient_portrait_tag — 查询患者画像标签
按 patientId 拿患者的画像标签集合(系统标签 / 自定义标签)。
| 参数 | 类型 | 说明 |
|---|
patientId | string | 必填,取自 query_patient_list 返回的 list[i].patientId |
4. get_patient_remarks — 查询患者备注
按 patientId 拿医生对该患者的备注信息。
| 参数 | 类型 | 说明 |
|---|
patientId | string | 必填,取自 query_patient_list 返回的 list[i].patientId |
5. get_patient_disease_info — 查询患者病史
按 patientId 拿患者的病史信息(既往病史 / 现病史等)。
| 参数 | 类型 | 说明 |
|---|
patientId | string | 必填,取自 query_patient_list 返回的 list[i].patientId |
6. get_perm_department_list — 查询科室列表
查询当前登录医生有权限访问的科室列表。无业务入参。返回结构里通常包含科室 id / 名称等,可用于后续按科室维度进一步筛选或展示。
推荐调用姿势
用户说患者名字,而不是 ID——这是常见情况。你要先列表、后详情:
- 调
query_patient_list,keyword 传用户提到的姓名/手机号/病历号
- 从
list[] 里找到目标患者,拿到 patientId
- 再调
query_patient_info / get_patient_portrait_tag / get_patient_remarks / get_patient_disease_info
如果 list[] 里有多个同名患者,不要自作主张选一个——把候选列表(姓名 + 手机号后 4 位 / 病历号)展示给用户,请用户确认后再进详情。
如果用户想同时看详情 / 标签 / 备注 / 病史中的多个,这些 tool 都只依赖 patientId,可以并行调用,不要串行等。
get_perm_department_list 独立于患者维度,用户想"看看我管哪些科室"、或需要按科室做二次筛选时再调;不需要在每次查患者前预热调用。
分页与批量
- 用户说"最近的"、"前几条",用默认
page=0, pageSize=20 即可
- 用户说"全部",先看第一页的
total,估算页数再决定要不要继续翻页;不要盲目一次性拉几百条
- 单页上限是 100,超过要翻页
错误处理
工具返回的文本里如果带 [XXX] 前缀,代表结构化错误:
| 前缀 | 含义 | 你该怎么办 |
|---|
[MISSING_AUTHORIZATION] | 没带 Bearer token | 提示用户在 WorkBuddy 侧完成腾医账号授权 |
[INVALID_TOKEN] | token 无效 / 过期 / 权限不足 | 提示用户重新授权;不要重试 |
[BIZ_ERROR] | 后端业务报错(HTTP ≥ 400) | 把后端 message 展示给用户,不要瞎猜 |
[NETWORK_ERROR] | 网络异常 / 超时 | 可以稍等再试一次;连续失败要提示用户 |
遇到 [INVALID_TOKEN] 不要重复调用——token 状态由 WorkBuddy 客户端管,你重试也是同样结果,会打扰用户。
隐私与合规
- 患者数据涉及个人健康信息(PHI),属于敏感数据
- 展示患者手机号 / 身份证号 / 病历号时,默认脱敏(如手机号显示为
138****1234),除非用户明确要求看完整值
- 不要主动把患者数据写入外部文件、发送到其他服务、或用于与本次问询无关的目的
- 不要基于患者标签/档案/病史给出诊断建议——你的职责是帮医生找信息,诊断由医生做
不要做的事
- 不要在没有
patientId 的情况下瞎猜一个 ID 去调详情/标签/备注/病史
- 不要在错误未消除时继续重试消耗后端配额
- 不要跨患者拼接信息("A 患者的标签 + B 患者的档案")除非用户明确要求对比