面向医护/助理场景,提供当前登录医生名下的患者列表检索、患者详情/画像标签/备注/病史查询,以及有权限科室列表查询等能力。
Scanned 9/8/2026
Install to Claude Code
npx -y skills add infometa/workbuddyskills --skill skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of archive-hospital-mcp?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-archive-hospital-mcp)More formats (shields.io, HTML) on the badges page.
---
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**——这是常见情况。你要**先列表、后详情**:
1. 调 `query_patient_list`,`keyword` 传用户提到的姓名/手机号/病历号
2. 从 `list[]` 里找到目标患者,拿到 `patientId`
3. 再调 `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 患者的档案")除非用户明确要求对比
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!