Back to skills
SKILL.md
archive-hospital-mcp
ASecurity面向医护/助理场景,提供当前登录医生名下的患者列表检索、患者详情/画像标签/备注/病史查询,以及有权限科室列表查询等能力。
- 279 stars
- 0 votes
- 0 copies
- 4 views
- Added September 8, 2026
Works with
Security analysis
100/100npx -y skills add infometa/workbuddyskills --skill skills --agent claude-codeAre you the author of archive-hospital-mcp?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-archive-hospital-mcp)---
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 患者的档案")除非用户明确要求对比
Attribution
Comments
Loading comments…