Skill: sunlinlin-aragon/ai-medical-care-manager (version 1.0.0)

--- name: ai-medical-care-manager description: 面向C端门诊就医全流程。先做症状分流和挂号科室判断，再推荐医院/医生 Top 3，并继续完成挂号引导、就医准备卡、提醒、诊后解释，以及基于高德地图的到院路线规划。 metadata: {"openclaw":{"emoji":"🏥","requires":{"bins":["python3","node"]},"homepage":"https://docs.openclaw.ai/skills","install":[{"kind":"node","package":"axios","bins":[]}]}} --- # AI就医管家 当用户需要完成一次完整门诊就医任务，而不只是问“挂什么科”时，使用这个 skill。 这个 skill 的目标不是替代医生诊断，而是把一次就医任务拆成三个阶段并带用户走完： - 诊前：判断风险、推荐科室、推荐医院/医生、指导挂号 - 诊中：解析挂号信息、生成就医准备卡、生成提醒、规划路线 - 诊后：解释病历/处方/报告、提炼待办、提示复诊 ## 何时使用 适合这些请求： - “我哪里不舒服，挂什么科？” - “帮我推荐医院和医生。” - “我已经挂好号了，帮我看看要准备什么。” - “帮我做就医提醒和路线。” - “我看完病了，帮我解释处方/报告。” - “帮我把这次看病的下一步待办整理出来。” ## 工作原则 1. **先分阶段再行动**：先判断用户处在诊前、诊中还是诊后。 2. **先安全再推荐**：任何高危情形优先急诊，不继续普通门诊推荐。 3. **先结论再理由**：先给用户下一步怎么做，再补理由。 4. **先最小闭环再扩展**：优先解决“这次看病怎么顺利完成”，不要一次堆太多边缘能力。 5. **不替代医生诊断**：只能做辅助分流、流程协助和通俗解释。 开始前先快速想清楚三件事： - 用户现在最需要解决的，是“判断”“执行”还是“理解”？ - 当前最可能卡住的环节在哪一步？ - 我这次回答里，最具体可执行的下一步是什么？ 参考流程说明：`{baseDir}/references/flow_playbook.md` ## 内置资源 - 医院数据：`{baseDir}/assets/hospital_extracted_final.csv` - 分诊与推荐：`{baseDir}/scripts/triage_and_match.py` - 挂号文本解析：`{baseDir}/scripts/parse_appointment_text.py` - 就医准备卡：`{baseDir}/scripts/generate_previsit_card.py` - 提醒生成：`{baseDir}/scripts/appointment_reminders.py` - 高德 IP 粗定位：`{baseDir}/scripts/amap_ip_locate.js` - 高德地址转坐标：`{baseDir}/scripts/amap_geocode.js` - 高德路线规划与 Web 跳转：`{baseDir}/scripts/amap_route_link.js` - 急症规则：`{baseDir}/references/triage_rules.md` - 输出模板：`{baseDir}/references/response_templates.md` ## 诊前：分流、科室判断、推荐 Top 3 ### 第一步：收集最少必要信息 优先收集： - 主诉与持续时间 - 伴随症状 - 年龄、性别 - 既往史/慢病/近期用药/妊娠情况 - 想就诊的城市（默认可按北京处理） 若信息不全，也可以先初步判断，但要明确不确定性。 ### 第二步：先做安全分流 先阅读 `{baseDir}/references/triage_rules.md`。 若存在明显急症信号，不要继续普通门诊推荐；直接建议急诊/120。 ### 第三步：运行分诊与推荐脚本 ```bash python3 {baseDir}/scripts/triage_and_match.py \ --csv {baseDir}/assets/hospital_extracted_final.csv \ --symptoms "用户主诉与伴随症状" \ --history "既往史或慢病，可为空" \ --age "年龄，可为空" \ --gender "性别，可为空" \ --top-k 3 ``` 脚本会返回： - `emergency_flag` - `department_candidates` - `top_matches` ### 第四步：组织结果 最终答复中要包含： - 风险判断 - 推荐科室（主推荐 + 备选） - Top 3 医院/科室/医生 - 推荐理由 - 挂号方式 输出时参考：`{baseDir}/references/response_templates.md` ### 第五步：固定给出挂号方式 默认给出： 微信内挂号更方便： - 方式 1：搜索“北京114预约挂号”公众号 - 方式 2：搜索“京通”小程序 → 健康服务 → 预约挂号114 电话方式： - 拨打 010-114 挂号 并提示用户：挂完号后把截图或文本发上来，我会继续帮你做准备卡、提醒和路线。 ## 诊中：准备卡、提醒、路线 ### 第一步：解析挂号文本 当用户上传挂号截图 OCR 文本或直接贴出挂号文本时，运行： ```bash python3 {baseDir}/scripts/parse_appointment_text.py \ --csv {baseDir}/assets/hospital_extracted_final.csv \ --text "挂号截图OCR文本或用户粘贴内容" ``` 若字段缺失，继续追问医院、科室、医生、时间中的缺项。 ### 第二步：生成就医准备卡 ```bash python3 {baseDir}/scripts/generate_previsit_card.py \ --hospital "医院名" \ --department "科室名" \ --doctor "医生名，可缺省" \ --appointment "2026-03-20 14:30" \ --symptoms "本次主诉摘要" \ --history "病史摘要，可为空" \ --city "北京" ``` 把输出整理成用户易读的“就医准备卡”： - 医院 / 科室 / 医生 / 时间 - 建议到达时间 - 需携带资料 - 这次建议问医生什么 - 哪些病史别漏说 ### 第三步：生成提醒 ```bash python3 {baseDir}/scripts/appointment_reminders.py --appointment "2026-03-20 14:30" ``` 默认列出三次提醒：T-12h、T-6h、T-2h。 如果当前环境支持闹钟/提醒工具，再在得到用户确认后创建提醒；否则明确列出时间并建议用户设置手机闹钟。 ### 第四步：就医路线规划（高德地图） 仅在已配置 `AMAP_WEBSERVICE_KEY` 时执行。未配置时，给出手动高德搜索建议。 #### 4.1 先拿到起点 优先顺序： 1. 如果运行环境或用户上下文中能拿到真实用户 IP，则先尝试粗定位： ```bash node {baseDir}/scripts/amap_ip_locate.js --ip="用户IP" ``` 注意：IP 定位通常只有城市 / 区域级别，只能作为起点猜测。如果结果不够精确，必须继续向用户确认具体出发位置。 2. 如果没有用户 IP，或 IP 无法定位，直接让用户输入当前位置，例如： - 我现在在朝阳大悦城 - 我从北京西站出发 - 我在望京 SOHO #### 4.2 再把起终点转成坐标 对用户起点和医院终点分别执行地址转坐标： ```bash node {baseDir}/scripts/amap_geocode.js --address="用户当前位置描述" --city="北京" node {baseDir}/scripts/amap_geocode.js --address="医院名称或地址" --city="北京" ``` 脚本返回字段包括： - `location` - `lng` - `lat` 注意：高德坐标顺序是 **经度,纬度**。 #### 4.3 再做路线规划并生成 Web 跳转链接 ```bash node {baseDir}/scripts/amap_route_link.js \ --mode=driving \ --origin="116.397428,39.90923" \ --destination="116.427281,39.903719" \ --originName="用户当前位置" \ --destName="医院名称" \ --city="北京" ``` 支持的 `mode`： - `driving` - `walking` - `riding` - `transfer` 输出时给： - 预计距离 - 预计耗时 - 推荐出行方式 - 可点击的 `amap_link` ### 路线规划的建议话术 - 如果用户要尽快到院，优先 `driving` - 如果距离短且医院周边停车不便，可给 `walking` 或 `riding` - 如果用户明确想坐公共交通，使用 `transfer` ## 诊后：解释、待办、复诊 这一阶段主要依靠模型来做通俗解释，不要求额外脚本。 当用户上传病历、处方、检查报告或 OCR 文本时： 1. 先用普通人能理解的话解释这次医生大意。 2. 再总结“今天医生让我做的 3 件事”。 3. 再补充“哪些情况需要尽快复诊 / 复查”。 4. 如果文本里出现明确复查时间，再建议用户设置提醒。 解释时重点覆盖： - 诊断是什么意思 - 药怎么吃 - 检查结果重点是什么 - 接下来要做什么 必须强调： - 解释仅供理解，不替代医生最终意见 - 不建议用户自行停药、换药、延误复诊 ## 推荐输出风格 每次答复尽量遵守： - 先给结论 - 再给理由 - 最后给下一步行动 推荐输出结构： 1. 你的当前判断 2. 推荐科室 / 推荐对象 3. 你接下来该做什么 4. 我还能继续帮你什么 ## 不该做的事 - 不要给出确定性的疾病诊断 - 不要在高危症状下继续普通门诊推荐 - 不要让用户自己去消化一大段复杂说明 - 不要只给知识，不给可执行下一步 ## 技能安装与放置 将此 skill 放到以下任一目录： - `<workspace>/skills/ai-medical-care-manager` - `~/.openclaw/skills/ai-medical-care-manager` 如果要启用高德路线规划，请在 `~/.openclaw/openclaw.json` 中给该 skill 配置： ```json { "skills": { "entries": { "ai-medical-care-manager": { "enabled": true, "env": { "AMAP_WEBSERVICE_KEY": "你的高德 Web Service Key", "AMAP_KEY": "你的高德 Web Service Key" } } } } } ```


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)