FHIR API 开发指南
帮助开发者构建、验证并保护符合 FHIR R4 的医疗 API。
内容覆盖 SMART on FHIR、OAuth scope、OperationOutcome 和 ETag 等安全相关主题,且示例体现了权限检查;但未说明患者健康数据的数据流、最小权限原则、用户确认、密钥安全存储、审计、回滚或生产部署隔离。脚本会在指定目录创建并写入多个文件,未提供覆盖风险提示或确认机制,因此扣分。
文档结构清晰,包含多种资源、错误响应和一个基础测试脚本;但静态材料未证明关键路径可运行。示例脚本生成的应用只实现 Patient CRUD,未覆盖文档声称的 Observation、Bundle、分页或 SMART 授权;依赖未锁定,异常输入、并发、持久化和失败诊断也较薄弱,因此按静态上限保守扣分。
目标用户和场景较明确,涵盖 FHIR R4 API、验证、授权、Bundle 和分页,并给出 Python/FastAPI 与 TypeScript/Express 片段;但未明确非适用范围、版本兼容边界、部署前提或触发条件的排除项,也没有中文说明或中国大陆网络环境适配证据,因此扣分。
包含快速参考、分主题引用文件、示例、清单和脚手架,信息组织与渐进披露尚可;但技能自身没有清晰的安装说明、依赖版本策略、变更记录、维护责任、更新路径或完整限制说明。许可证元数据未知,README 的仓库级条款不能充分替代技能级治理信息,因此扣分。
对于设计基础 FHIR R4 端点、资源校验和错误格式,文档提供了可直接参考的代码与 JSON;但脚手架只生成有限的 Patient API,若干声明功能仍需大量自行实现,且没有验证代表性输出或说明与成熟 FHIR 库、服务器实现相比的收益,因此按静态上限评为中等并扣分。
材料包含源代码、示例测试和明确的 JSON/HTTP 结构,具备一定审计性;但测试仅覆盖基础 Patient 操作,没有 CI、第三方标准引用、完整关键路径覆盖或独立复现结果,且部分规范性断言无法仅由所给文件交叉验证,因此扣分。
- 不要将该技能或生成的脚手架直接用于生产医疗数据系统;上线前应补充正式 FHIR 规范核验、全面测试、权限最小化、密钥管理、审计、并发控制、持久化和恢复方案。
- 脚手架使用 write_text 写入目标目录,可能覆盖同名文件;使用前应确认目标目录为空或已备份。
- 依赖版本未锁定,SMART 示例涉及私钥和令牌但未提供安全存储与轮换指导。
- 示例中的资源覆盖范围和实现能力明显小于技能描述,分页、Bundle、SMART 授权及多数资源仍需自行实现和验证。
它能做什么 & 适用场景
该技能面向需要开发医疗接口的软件工程师,覆盖 FHIR R4 资源结构、REST 端点、验证规则和错误响应。它提供 Patient、Observation、Encounter、Condition、MedicationRequest、Medication 与 Bundle 的字段要求和值集参考。内容还涉及 SMART on FHIR 授权、OAuth 作用域、事务与批处理、搜索分页及条件操作。适合希望在 FastAPI 或 TypeScript/Express 中实现 FHIR API 的团队,但源材料未提供测试结果或完整运行环境说明。
指导创建 FHIR REST 端点,检查资源必填字段、枚举值和编码系统,并用 OperationOutcome 返回错误。它说明如何处理 HTTP 状态码、Content-Type、Location、ETag、If-Match、If-None-Exist、Bundle 事务和搜索分页。示例覆盖 Python/FastAPI、Pydantic v2 以及 TypeScript/Express,并提供一个可运行的脚手架命令:python scripts/setup_fhir_project.py my_fhir_api。
- 医疗软件工程师在实现 Patient、Observation 或 Encounter CRUD 接口时,需要确认字段要求和 HTTP 响应。
- FHIR 服务开发团队在处理非法状态值、缺少字段或业务规则冲突时,需要统一返回 422 和 OperationOutcome。
- 需要支持 SMART on FHIR 的团队在设计 OAuth 作用域和授权流程时,可将其作为开发参考。
- 实现医院 FHIR R4 搜索服务的开发者需要处理 Bundle、分页、事务或批量操作。
- 使用 FastAPI 或 TypeScript/Express 构建原型的开发者需要参考资源模型和错误处理模式。
优缺点一览
- 覆盖常见 FHIR R4 资源、值集、编码系统和 REST 操作。
- 明确区分 400、401、403、404、412 和 422 等状态码。
- 同时提供 FastAPI、Pydantic v2 和 TypeScript/Express 示例。
- 包含 SMART on FHIR、Bundle、分页和条件操作等实际开发主题。
- 源材料没有提供测试套件、兼容性矩阵或实际服务器验证证据。
- 完整资源 JSON、SMART 授权、分页和 Bundle 细节依赖未展示的 references 文件。
- 它是开发指南和脚手架说明,不是完整的 FHIR 服务器实现。
- README 只说明集合按 Anthropic 条款提供,未给出独立技能的许可证。
如何安装
该技能属于 anthropics/healthcare 集合。按 README 执行:/plugin marketplace add anthropics/healthcare,然后执行 /plugin install healthcare@healthcare。源材料未说明如何单独安装 fhir-developer 技能。
如何使用
在已安装 healthcare 集合的环境中,提出具体 FHIR API 开发任务,例如:“请为 Observation 创建 FHIR R4 POST 端点,验证 status,使用 OperationOutcome 返回 422 错误,并设置 application/fhir+json。”源材料未规定单独的调用命令或参数格式。