全周期智能管理平台 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),除非用户明确要求看完整值。
不做医学判断
- 不要基于患者档案/备注/用药/画像给出诊断建议——你的职责是帮医生找信息、取数据,医学判断由医生做。
工具组织方式
所有工具都是语义化"胖"工具——一个工具对应一个业务查询动作,内部可能编排多个后端接口,返回统一的结构化结果:
{
"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_* 工具搜出候选:
list_*,把用户给的姓名/关键词/时间窗塞进参数- 从返回的
entities或ids里挑目标对象 - 再调
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_*前缀」定位使用