资讯详情

Claude Code 100个真实案例 - 用AI搭建医疗挂号系统(预约+排队+病历管理)TaoToken 配置实战

📅 2026/9/26 12:05:36 | 华诺云谱 👁 阅读
Claude Code 100个真实案例 - 用AI搭建医疗挂号系统(预约+排队+病历管理)TaoToken 配置实战
1. 医疗挂号系统为什么值得用 Claude Code 跑一遍医疗挂号系统预约、排队、病历管理是典型的业务密集型项目表结构多、状态流转绕、接口联调碎。用 Python Flask 从零写光是把科室、医生、排班、挂号记录、病历这几张表的关系理顺就要花掉不少时间。而 Claude Code 这类 AI 编程工具的价值恰恰在于它能一次性理解你的业务描述把数据模型、RESTful 接口、前端交互骨架一起吐出来你只需要在关键节点做校验和微调。但真正上手时很多人卡在第一步Claude Code 的模型通道怎么接。默认情况下它走官方通道网络波动、额度限制、多工具切换都会打断开发节奏。我试过在同一个项目里同时用 Claude Code 写后端、用 Cline 补前端、用 CC Switch 管理多套配置结果每个工具都要单独配一遍 Key改一次环境变量就要重启一轮。后来把 TaoToken 作为统一 API 通道接进来所有工具共用一套 Key 和 Base URL配置一次就能复用开发链路才真正顺起来。这篇内容聚焦三件事一是用 Claude Code 搭建挂号系统的完整流程预约、排队、病历三个模块二是 TaoToken 的 settings.json 与 config.toml 配置骨架以及 Cline、CC Switch 的接入步骤三是挂号接口联调和病历模块的验证动作。适合正在做医疗信息化项目、想用 AI 辅助开发但被工具配置卡住的开发者。下面按可复制的顺序展开。2. TaoToken 前置统一 Key 与 API 通道的准备TaoToken 在这里扮演的角色是「模型调用的统一入口」。你不需要在每个 AI 编程工具里分别填不同的 Key而是拿一个 TaoToken 的 API Key配合统一的 Base URL让 Claude Code、Cline、CC Switch 都指向同一个通道。这样做的好处很直接换模型、加额度、排查请求问题都只在一个地方操作。先到官网注册并进入控制台在 API Keys 页面创建一个 Key。创建时建议按用途命名比如claude-code-medical方便后面在多个工具里区分。Key 只显示一次复制后先存到本地密码管理器或临时文件里。拿到 Key 之后你需要记住两个地址官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 基地址https://taotoken.net/api注意 API 地址不带 UTM 参数配置里填的就是这个干净的https://taotoken.net/api。很多接入失败是因为把带参数的推广链接填进了 Base URL导致请求路径拼接错误。如果你还没决定用哪个模型可以先到模型对话页面测一下响应速度和输出质量确认通道可用后再写进配置文件。对于长期编码和 Agent 场景Coding Plan 更适合高频调用只是偶尔验证接口用按量计费即可。接入文档里有各工具的详细字段说明配置前扫一眼能省不少排查时间。3. 可复制配置settings.json 与 config.toml 骨架Claude Code 的配置分两层一层是工具本身的 settings.json一层是模型通道的 config.toml或环境变量。下面给出可直接复制的骨架你只需要把YOUR_TAOTOKEN_KEY替换成自己的 Key。3.1 Claude Code settings.json 配置Claude Code 读取项目级或用户级的 settings.json。推荐放在项目根目录的.claude/settings.json这样每个项目可以独立配置不会互相污染。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_TAOTOKEN_KEY, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, permissions: { allow: [ Bash(uv:*), Bash(python:*), Read, Write, Edit ] } }这里的关键是ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址ANTHROPIC_API_KEY填你创建的 Key。ANTHROPIC_MODEL按你实际可用的模型名填写不确定就先留空让工具用默认值。permissions.allow里放开uv和python命令是因为后面要用 uv 管理依赖、用 python 启动 Flask 服务不放开的话 Claude Code 每次执行命令都会弹确认打断节奏。3.2 config.toml 配置骨架如果你用的是支持 config.toml 的客户端比如某些 CLI 工具或 CC Switch 的配置导入骨架如下[api] base_url https://taotoken.net/api api_key YOUR_TAOTOKEN_KEY timeout 120 [model] name claude-sonnet-4-20250514 max_tokens 8192 temperature 0.2 [project] name medical-his language python framework flasktemperature设成 0.2 是因为医疗业务代码需要稳定输出太高的随机性会让生成的表结构和接口命名前后不一致。timeout给到 120 秒是因为 Claude Code 生成完整 Flask 应用时输出较长超时太短会截断。3.3 Cline 接入步骤Cline 是 VS Code 里的 AI 编程插件接入 TaoToken 的路径是打开 Cline 设置找到 API Provider 选项选择 Anthropic 兼容模式然后填入Base URLhttps://taotoken.net/apiAPI Key你的 TaoToken KeyModel按可用模型填写保存后新建一个对话输入「用 Flask 写一个返回科室列表的接口」测试连通性。如果能正常返回代码说明通道打通。3.4 CC Switch 接入步骤CC Switch 用于在多个模型配置之间快速切换。在它的配置管理里新增一个 profile名称填taotoken-medicalBase URL 和 Key 同上。之后在 Claude Code 和 Cline 之间切换时只要选中这个 profile两边用的就是同一套通道不用重复填 Key。4. 用 Claude Code 搭建挂号系统预约、排队、病历三模块配置打通后进入实际开发。整个项目用 Python 3.11 Flask 3.0 SQLite前端用原生 HTML/CSS/JS避免引入额外构建步骤。先初始化项目mkdir medical-his cd medical-his uv init uv add flask flask-cors mkdir -p templates static/css static/js data4.1 数据模型与后端 API给 Claude Code 的提示词要包含完整的业务约束否则它生成的表结构会缺字段。我用的提示词大意是设计医疗挂号系统后端Flask SQLite包含科室、医生、排班、患者、挂号记录、病历六张表科室含名称、描述、楼层、诊室数医生含姓名、职称、科室、专长排班含医生 ID、日期、时段、号源数挂号记录含患者信息、科室、医生、时段、排队号、状态病历含挂号 ID、诊断、处方、医嘱所有 API 用 RESTful 风格注释用中文。Claude Code 会生成app.py里面用sqlite3直接操作数据库通过g对象管理连接并在teardown_appcontext里关闭。表结构用CREATE TABLE IF NOT EXISTS外键用PRAGMA foreign_keys ON开启。挂号接口的核心逻辑是先查患者手机号是否存在不存在就创建患者并生成就诊卡号再检查排班号源是否已满然后按「当日同科室最大排队号 1」生成排队号最后更新排班的已预约数。这个自增逻辑保证了同一天同一科室的排队号不重复。排班支持批量创建按周一到周五、上午下午两个时段生成未来 7 天的记录遇到已存在的排班用IntegrityError跳过。这个设计在实际使用中很省事不用手动一条条加。4.2 排队叫号模块排队叫号的状态流转是待就诊 → 就诊中 → 已完成。叫号接口的逻辑是先把当前「就诊中」的记录改成「已完成」再找下一个「待就诊」的患者改成「就诊中」返回患者信息。过号接口则把当前患者的排队号改成「当日最大号 1」状态重置为「待就诊」相当于排到队尾。前端排队页面每 10 秒轮询一次/api/queue刷新等待人数、当前叫号、候诊列表。轮询定时器在离开页面时要清理否则会一直请求。Claude Code 生成的代码里用queueRefreshTimer变量管理切换页面时clearInterval这个细节处理得不错。4.3 病历管理模块病历模块单独抽了一个medical_record_service.py里面内置了按科室分类的诊断模板比如内科的上呼吸道感染、急性肠胃炎、高血压、2 型糖尿病每个模板带诊断编码和处方建议。医生创建病历时可以选模板快速填充减少重复输入。生命体征数据用 JSON 字符串存读取时解析成字典。服务里还定义了正常值参考范围体温超过 37.3 度标警告、超过 38.5 度标危险心率、血压、呼吸频率、血氧饱和度同理。创建病历时自动检测异常并返回告警列表这个功能在演示时很直观。病历查询按患者 ID 返回历史记录按时间倒序每条记录关联医生姓名、职称、科室、挂号日期和排队号。前端用时间轴形式展示患者通过手机号查询自己的历史病历。5. 验证请求与成功结果后端跑起来后用 curl 验证几个核心接口。先启动服务uv run python app.py服务默认监听http://127.0.0.1:5000。首次访问会提示生成示例数据确认后会创建 8 个科室、10 名医生、未来 7 天的排班以及 15 条模拟挂号记录。验证科室列表curl http://127.0.0.1:5000/api/departments返回的 JSON 里code为 0data是科室数组每个科室带today_count字段表示当日挂号数。如果code不为 0先检查数据库文件是否生成、表是否创建成功。验证挂号接口curl -X POST http://127.0.0.1:5000/api/register \ -H Content-Type: application/json \ -d { patient_name: 测试患者, phone: 13800000001, gender: 男, age: 30, doctor_id: 1, department_id: 1, schedule_id: 1, reg_date: 2025-01-01, time_period: 上午 }成功时返回queue_number和feemessage是「挂号成功排队号X 号」。如果返回「该时段号源已满」说明排班的booked_slots已达total_slots换一个排班 ID 再试。验证排队叫号curl -X POST http://127.0.0.1:5000/api/queue/call \ -H Content-Type: application/json \ -d {doctor_id: 1}返回当前叫到的患者信息message是「请 X 号 XXX 到诊室就诊」。如果返回「当前无候诊患者」说明该医生今日没有待就诊记录。验证病历创建curl -X POST http://127.0.0.1:5000/api/medical_records \ -H Content-Type: application/json \ -d { registration_id: 1, patient_id: 1, doctor_id: 1, chief_complaint: 咳嗽三天, diagnosis: 上呼吸道感染, prescription: 阿莫西林胶囊 0.5g tid×5d, advice: 多喝水注意休息, vital_signs: {\体温\: 38.6, \心率\: 95} }成功返回病历 ID同时挂号记录状态更新为「已完成」。生命体征里体温 38.6 超过危险阈值 38.5服务会返回告警信息。浏览器打开http://127.0.0.1:5000能看到挂号大厅的科室卡片、医生排班按钮、排队叫号大屏、病历查询和数据统计页面。挂号成功后弹出排队号小票排队页面实时刷新候诊列表统计页面显示近 7 天挂号趋势和科室排行。6. 本篇常见错排查接口返回 401 或鉴权失败先检查 settings.json 里的ANTHROPIC_API_KEY是否填了完整 Key有没有多余空格。再确认ANTHROPIC_BASE_URL是https://taotoken.net/api没有带 UTM 参数或尾部斜杠。如果 Key 刚创建等几秒再试避免缓存延迟。Claude Code 执行命令一直弹确认settings.json 的permissions.allow里没放开对应命令。把Bash(uv:*)、Bash(python:*)加进去或者临时用--dangerously-skip-permissions启动仅限本地开发环境。挂号接口报「该时段号源已满」排班的booked_slots已经等于total_slots。可以调大total_slots或者换一个排班 ID。批量创建排班时默认每个时段 30 个号演示时够用。排队号重复检查生成排队号的 SQL 是否用了MAX(queue_number) 1并且条件里带了department_id和reg_date。如果漏了日期条件跨天的号会串在一起。病历创建报「该挂号记录已有病历」medical_records表的registration_id有唯一约束一条挂号只能对应一份病历。如果要复诊需要新建挂号记录。前端页面空白或接口 404确认 Flask 的templates目录下有index.html并且app.py里render_template(index.html)的路由是/。如果用了 CORS检查flask-cors是否安装。数据库表没创建app.py的if __name__ __main__里调用了init_db()如果你用flask run启动而不是python app.pyinit_db()不会执行。手动跑一次python -c from app import init_db; init_db()即可。排障时如果怀疑是通道问题可以到 API Keys 页面确认 Key 状态或对照接入文档检查字段名。模型响应异常时到模型对话页面单独测一次能快速区分是通道问题还是代码问题。7. 把这条链路固定下来这套配置跑通后建议把 settings.json 和 config.toml 提交到项目的.claude/目录Key 用环境变量占位不要提交真实 Key。团队其他人拉下代码后只需要在本地设置ANTHROPIC_API_KEY环境变量就能复用同一套通道配置。长期做编码和 Agent 任务的话Coding Plan 比按量计费更划算尤其是需要频繁让 Claude Code 读写文件、执行命令的场景。如果只是偶尔验证接口按量计费足够。接入文档里有各工具的字段对照表换工具时照着改 Base URL 和 Key 就行。医疗挂号系统这个案例的价值不在于代码本身而在于它覆盖了「多表关联 状态流转 前后端联调」的完整链路。把这套流程跑顺之后换成其他业务系统比如财务、库存、工单配置和调试思路是通用的。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑