全周期智能管理平台(archive_hospital_server)只读 Connector。围绕当前登录医生的患者档案提供跨域查询能力,覆盖患者/标签画像/生活方式/随访/用药/消息沟通/报告指标/模板管理等业务域,把机构端数据取回供 WorkBuddy 做后续分析。所有查询都在当前登录医生的权限范围内执行;数据只读,仅限对话内分析,禁止下载导出。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --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/ahang1598-archive-hospital-mcp)More formats (shields.io, HTML) on the badges page.
---
name: archive-hospital-mcp
description: 全周期智能管理平台(archive_hospital_server)只读 Connector。围绕当前登录医生的患者档案提供跨域查询能力,覆盖患者/标签画像/生活方式/随访/用药/消息沟通/报告指标/模板管理等业务域,把机构端数据取回供 WorkBuddy 做后续分析。所有查询都在当前登录医生的权限范围内执行;数据只读,仅限对话内分析,禁止下载导出。
version: 2.0.0
author: darcybfli
---
# 全周期智能管理平台 Skill(只读)
本 Connector 连接**全周期智能管理平台**(archive_hospital_server),面向医护/助理场景。所有工具都在**当前登录医生**的权限范围内执行——你只能看到该医生名下的患者及相关业务数据。
> ⚠️ 当前会话为**只读**(read-only):所有已注册工具都是查询类,**没有任何写/更新/删除能力**。用户若要求新建/修改/删除档案数据(含用药计划),请直接告诉用户"当前 Connector 为只读模式,无法执行写操作,请到医生端应用中操作",**不要**尝试用查询工具"曲线救国"。
> ⚠️ 本 skill 正文**不**逐个展开工具的完整参数——工具数量与形态会随业务演进变化,具体清单以运行时 `tools/list` 为准,工具描述里已经写清楚了参数与返回。正文只讲**通用姿势**:怎么发现工具、怎么组合调用、怎么处理返回、怎么规避坑。文末**附录**提供当前已知工具的静态快照,供快速定位参考。
## 职责边界(先想清楚再动手)
本 skill 的职责是**帮 WorkBuddy 把机构端数据取回来**:发现工具 → 组合调用 → 处理返回 → 规避坑。数据取回之后的分析,由 WorkBuddy 自身的通用能力承担,**不在本 skill 职责内**——不要在本 skill 里写死任何"分析配方"或"输出格式规范"。
## 数据合规与使用边界(强制,P0)
患者数据属于**个人健康信息(PHI)**,敏感且涉及数据较多,使用必须遵循「合规、最小范围、保护数据」原则。
### 只能用于数据分析,禁止下载 / 导出(强制)
- **禁止**把患者数据写成任何文件——包括 xlsx / csv / pdf / docx / json / md 等,**也禁止通过 WorkBuddy 生成文件交付**。用户要求"导出到桌面 / 生成表格文件 / 下载"时,一律拒绝并说明"患者数据只支持在对话内分析,不支持下载或导出"。
- **禁止**复制大段原始数据到对话外、发送到其他服务、或粘贴到其他应用。
- 数据只用于**本次问询的分析**,不落盘、不外传。
### 输出必须附数据合规提醒(强制)
每次输出涉及患者数据时,**末尾都附上固定的数据合规提醒**——面向用户,提醒其注意数据合规与隐私保护,格式统一:
> 🔒 数据合规提醒:以上内容涉及患者个人健康信息,请严格遵守数据保护要求,仅在授权范围内使用,勿对外泄露。
### 展示脱敏
- 展示手机号 / 身份证号 / 住院号时,**默认脱敏**(如手机号显示为 `138****1234`),除非用户明确要求看完整值。
### 不做医学判断
- 不要基于患者档案/备注/用药/画像给出**诊断建议**——你的职责是帮医生找信息、取数据,医学判断由医生做。
## 工具组织方式
所有工具都是**语义化"胖"工具**——一个工具对应一个业务查询动作,内部可能编排多个后端接口,返回统一的结构化结果:
```jsonc
{
"summary": "面向 AI 的一句话摘要",
"entities": { /* 结构化数据,形态因工具而异 */ },
"ids": { /* 便于下一步引用的 id 集合 */ },
"nextActions": [ "推荐的后续工具名" ]
}
```
### 命名规律(**用来快速定位工具**)
工具名一律 `snake_case`,动词前缀直接暗示了它的语义:
| 前缀 | 含义 | 典型输入 | 典型输出 |
|---|---|---|---|
| `list_*` | 分页/批量查询 | 关键词、时间窗、筛选条件、分页参数 | 列表 + 分页元信息(`totalCount` / `hasMore` 等) |
| `get_*` | 单对象详情 / 某维度信息 | 目标 id(`patientId` / `followUpId` / `reportId` / `templateId` / 用药计划 id …) | 结构化详情 |
所有工具都是 **read**。看到工具描述里没有 `⚠️` / `❌` 前缀标记,就是纯查询。
### 业务域(**判断该找哪个前缀 + 关键词**)
下表是**当前已知业务域的快照,仅供参考**——用于帮 AI 快速定位"该去哪个域找工具"。真实业务域以运行时 `tools/list` 为准;**遇到表外的新域 / 新工具,按同样的命名规律 + 通用调用姿势处理即可,无需等本 skill 更新**。
| 业务域 | 关键词 | 典型问题 |
|---|---|---|
| **患者管理** | patient / group / remark | 找病人、看基础信息、备注、分组 |
| **标签画像 & 病史** | tag(system/custom)/ portrait / history / indicators | 患者身上有哪些标签、健康画像、既往病史、健康指标 |
| **生活方式** | diet / sport(records / statistics) | 饮食/运动明细与统计 |
| **随访管理** | followUp / joinRequest / autoImport / questionnaire | 随访项目、随访对象、时间轴、加入申请、患者答卷 |
| **消息沟通** | chat(session/messages)/ mass | 查看消息记录、消息列表、群聊详情 |
| **报告指标** | report / indicator | 检查报告列表与详情、指标类型、指标趋势 |
| **模板管理** | plan / questionnaire / msg template / template categories | 诊后计划模板、问卷模板、消息模板、模板分类 |
| **用药管理** | medication / drug(plan / records / checkIn) | 患者在吃什么药、用药计划怎么设置的、有没有按时吃、打卡依从性如何 |
### 跨域 id 的机制与示例
**机制**:同一个对象(患者 / 随访 / 报告 / 用药计划等)在不同业务域里共用同一个主 id——拿到一个 id,同域和跨域的多个 `get_*` 都能复用,这是跨域联查的基础。
**示例**(仅说明机制,**非权威清单**,具体字段名以运行时 `tools/list` 的 `inputSchema` 为准,不要硬编):患者用 `patientId`、分组用 `groupId`、随访用 `followUpId`、模板用 `templateId`、用药计划用其自身 id……
**发现工具的正确姿势**:调 `tools/list` 拿到清单 → 按前缀 + 业务域关键词过滤 → 读工具的 `description` 与 `inputSchema` 决定用哪个。**不要凭记忆硬编工具名**,工具会随业务演进增删。
## 通用调用姿势
### 姿势 1:用户报名字/关键词 → 先列表后详情
绝对高频场景。任何 `get_*_detail` / `get_*_basic_info` / `get_*_info` 类的详情工具都需要 id,**先用对应域的 `list_*` 工具搜出候选**:
1. `list_*`,把用户给的姓名/关键词/时间窗塞进参数
2. 从返回的 `entities` 或 `ids` 里挑目标对象
3. 再调 `get_*` 拿详情
**多个候选时不要自作主张选一个**——把候选(姓名 + 手机号后 4 位 + 科室/分组,或该业务域的区分字段)展示给用户,让用户确认。
### 姿势 2:同一对象的多维信息 → **并行**
针对同一个 `patientId`(或其他主 id),多个 `get_*` 工具是**互相独立**的,**在同一轮里并行调用**,不要串行等。
典型:用户问"某某患者的完整情况" → 并行拉基础信息、备注、画像、病史、最近饮食/运动统计、随访状态、用药计划与打卡统计、报告等。
胖工具内部可能已经把常联查的数据一次给全,**先看第一个工具 `entities` 里到底有什么**,再决定是否需要补拉,别重复拉同一份数据。
### 姿势 3:跨域联查靠共享 id
同一个 `patientId` 在患者、标签、生活方式、随访、用药、报告等多个域里都通用;`followUpId` 可以关联到时间轴、答卷、患者列表、统计等;用药计划的 id 可以关联到用药记录与打卡数据。拿到一个 id 后,同域和跨域的多个 `get_*` 都可以直接复用。
### 姿势 4:nextActions 是导航提示,不是必选
`nextActions` 是工具建议的下一步——如果你或用户接下来的意图就是这些动作,直接用;如果意图不匹配,忽略即可。
## 分页
- 用户说"最近的"/"前几条":用工具的默认页码/页大小(一般 `currentPage=0, pageSize=20`)
- 用户说"全部":先看第一页返回里的 `totalCount` / `hasMore` 之类字段,估算页数再决定是否翻页;**不要盲目一次性拉几百条**
- `entities` 里的列表可能被截断,但总数字段是真实总数——需要更多细节再翻页
## 时间参数
- 涉及时间窗的 `list_*`(饮食/运动/报告/随访/用药记录/打卡/消息等),优先用工具 `inputSchema` 里定义的时间字段(通常是 ISO8601 或 `YYYY-MM-DD`),不要瞎传格式
- 用户说"最近一周""上个月"这类相对时间,**基于当前会话时间换算成绝对日期**再传入
## 错误处理
工具返回的文本如果带 `[XXX]` 前缀,代表结构化错误,**按前缀决定动作**:
| 前缀 | 含义 | 处理 |
|---|---|---|
| `[MISSING_AUTHORIZATION]` | 没带 Bearer token | 提示用户在客户端侧完成全周期智能管理平台账号授权 |
| `[INVALID_TOKEN]` | token 无效 / 过期 / 权限不足 | 提示用户重新授权;**不要重试** |
| `[BIZ_ERROR:*]` | 后端业务报错(HTTP ≥ 400) | 把后端 `message` 原样告知用户,不要瞎猜原因 |
| `[NETWORK_ERROR]` | 网络异常 / 超时 | 可以再试一次;连续失败要提示用户 |
| 其他 | 未分类异常 | 展示原文并让用户联系维护方 |
**遇到 `[INVALID_TOKEN]` 不要重复调用**——token 状态由外层客户端管,你重试也是同样结果,只会打扰用户。
## 不要做的事
- **不要**尝试执行写操作(新增/修改/删除/发送/审批等,含设置或调整用药计划)——当前 Connector 就是只读,用户提出这类需求直接告知在应用中操作
- **不要**下载 / 导出患者数据(写文件、发外、生成文件交付等)——见「数据合规与使用边界」
- **不要**凭记忆硬编工具名,每次会话都用 `tools/list` 校对;工具会增删
- **不要**在没有 id 的情况下瞎猜一个 id 去调详情类工具,先用 `list_*` 搜
- **不要**在错误未消除时重复调用(尤其 `[INVALID_TOKEN]` / `[BIZ_ERROR]`),既浪费配额也解决不了问题
- **不要**跨对象拼接信息("A 患者的备注 + B 患者的档案"),除非用户明确要求对比
- **不要**把不同域的 id 张冠李戴(`followUpId` 传给患者详情、`reportId` 传给随访详情、用药计划 id 传给随访/报告类工具等)
---
## 附录:工具清单快照(v2.0.0)
> 本附录是**静态快照**,仅供快速定位参考,不替代运行时发现。工具会随业务演进增删,**一切以 `tools/list` 实际返回为准**;遇到附录之外的工具,按正文「命名规律 + 业务域」定位,读工具 `description` 与 `inputSchema` 使用。
### 源码已确认的工具(6 个)
| 工具名 | 业务域 | 关键参数 | 说明 |
|---|---|---|---|
| `query_patient_list` | 患者管理 | `keyword`(姓名/手机号/病历号模糊搜索)、`page`(页码,从 0 起)、`pageSize`(1~100,默认 20)、`favorite`(0 全部 / 1 只看收藏) | 查询当前登录医生名下的患者列表,返回 `total` / `list` 等 |
| `query_patient_info` | 患者管理 | `patientId` | 患者详细档案(基础信息、联系方式等) |
| `get_patient_disease_info` | 标签画像 & 病史 | `patientId` | 既往病史 / 现病史 |
| `get_patient_remarks` | 患者管理 | `patientId` | 患者备注 |
| `get_patient_portrait_tag` | 标签画像 & 病史 | `patientId` | 画像标签(系统标签 / 自定义标签) |
| `get_perm_department_list` | 患者管理 | 无入参 | 当前登录医生有权限访问的科室列表 |
**用法要点**:
- 所有 `patientId` 都来自 `query_patient_list` 返回的 `list[].patientId`,**不要凭空构造**
- 针对同一患者的多个 `get_*` 工具互相独立,可**并行调用**
- 患者域之外的业务域(生活方式 / 随访管理 / 消息沟通 / 报告指标 / 模板管理 / 用药管理)工具未包含在本快照内,以运行时 `tools/list` 实际返回为准,按正文「业务域表格关键词 + `list_*` / `get_*` 前缀」定位使用
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!