article
README
🚀 EHR 工具项目文档
本项目聚焦于医疗健康领域,借助 SMART on FHIR 标准和 Model Context Protocol (MCP) 构建工具集,助力用户以多样化方式访问和处理电子健康记录(EHR)数据。
✨ 主要特性
- SMART on FHIR 集成:可与符合 SMART on FHIR 标准的 ehr - sim 平台开展交互。
- Model Context Protocol (MCP):借助 MCP 协议实现对 ehr - sim 模拟器的访问与控制。
🚀 快速开始
本项目提供两种操作模式,以下为您详细介绍。
📦 安装指南
1. 本地运行模式(通过标准输入输出)
此模式适用于开发环境,支持借助命令行工具启动服务,并与 ehr - sim 模拟器进行交互。
使用步骤
-
创建数据库:
# 示例:将数据保存到 data/my_record.sqlite 文件中 bun run src/cli.ts --create-db --db ./data/my_record.sqlite打开浏览器,依照提示连接到 ehr - sim 模拟器。
-
启动 MCP 服务:
# 示例:使用已创建的数据库文件启动服务 bun run src/cli.ts --db ./data/my_record.sqlite
配置要求
-
配置文件:需提供一个品牌配置文件(例如
config.epicsandbox.json),其中包含以下信息:url:指定品牌的定义文件路径(如static/brands/epic - sandbox.json)。tags:用于分类和过滤的品牌标签数组(例如[ "epic", "sandbox" ])。vendorConfig:包含 SMART on FHIR 客户端详细信息(如clientId,scopes)。
-
客户端配置:
{ "mcpServers": { "local - ehr": { "name": "本地 EHR 搜索", "command": "bun", // 或 bun 的绝对路径 "args": [ "/home/user/projects/smart - mcp/src/cli.ts", // cli.ts 的绝对路径 "--db", "/home/user/projects/smart - mcp/data/my_record.sqlite" // 数据库文件的绝对路径 ] } } }
2. 全局运行模式(通过服务器发送事件)
该模式提供持久化的网络服务,支持多个客户端连接,使用服务器发送事件(SSE)进行通信。
特性
- 身份验证:采用 OAuth 2.1 协议实现客户端认证。
- 数据获取:在授权过程中自动完成 SMART on FHIR 流程,并将
ClientFullEHR数据存储于内存或持久化会话中。
注意事项
⚠️ 重要提示
- 目前 OAuth 2.1 客户端支持有限,仅适用于专门的开发或调试工具。
- 此模式仍处于实验阶段。
扫码联系在线客服