电子健康记录MCP服务器

一个生产就绪的电子健康记录模型上下文协议(MCP)服务器,支持OAuth 2.0认证,适用于医疗数据管理和集成。

  • by pcjx8
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 pcjx8/epic-ehr-mcp-server-db

使用说明

🏥 EPIC EHR MCP服务器

用于具有OAuth 2.0身份验证的电子健康记录的生产就绪模型上下文协议(MCP)服务器。

🚀 快速开始

1.安装依赖项

pip install -r requirements.txt

2.设置数据库(仅限第一次)

如果您有现有数据:

  • 数据库文件 ehr_database.db 已包含
  • 跑 python seed_database.py 添加OAuth客户端

如果重新开始:

python seed_database.py

这将创建数据库模式和OAuth客户端。

3.启动服务器

python server.py --websocket

服务器运行于: ws://0.0.0.0:7777

⚠️ 重要: 这 oauth_clients_credentials.json 该文件包含您的OAuth凭据,请确保其安全!

🔐 认证

用途 OAuth 2.0客户端凭据 流量:

# Authenticate
{
  "client_id": "client_abc123...",
  "client_secret": "secret_xyz789...",
  "app_id": "copilot-studio"
}

# Returns access_token for API calls

📋 可用工具

  • 验证 -OAuth 2.0身份验证
  • 注册表_客户端 -注册新的OAuth客户端
  • validate_token -验证访问令牌
  • get_patient -通过MRN获取患者
  • 搜索_患者 -按姓名搜索患者
  • 创建_患者 -创建新患者
  • get_appoints -预约患者
  • 时间表_预约 -安排新的预约
  • get_指示 -获取患者药物
  • 处方用药 -开新药
  • get_lab_results -获取实验室结果
  • get_vital_signs -获取生命体征
  • record_vital_signs -记录新的生命体征
  • 获取_过敏反应 -引起患者过敏

🌐 部署

DigitalOcean水滴

  1. 创建快捷批处理程序 (Ubuntu 22.04 LTS)

  2. 克隆存储库

    git clone <your-repo-url>
    cd epic-ehr-mcp-server-db
    
  3. 安装Python及其依赖项

    sudo apt update
    sudo apt install python3 python3-pip python3-venv -y
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  4. 配置环境

    cp .env.example .env
    nano .env  # Edit with production values
    
  5. 上载数据库

    # Upload ehr_database.db and oauth_clients_credentials.json to server
    scp ehr_database.db root@your-droplet:/home/ehrserver/epic-ehr-mcp-server-db/
    scp oauth_clients_credentials.json root@your-droplet:/home/ehrserver/
    
  6. 使用systemd运行 (参见DEPLOYMENT.md)

环境变量

DATABASE_URL=sqlite:///ehr_database.db
JWT_SECRET_KEY=your-production-secret-key
SERVER_HOST=0.0.0.0
SERVER_PORT=7777

🔒 安全

  • OAuth 2.0客户端凭据
  • JWT代币(60分钟到期)
  • 使用SHA-256散列的客户端机密
  • 基于角色的访问控制
  • 基于范围的权限

📊 数据库模式

  • oauth_客户端 -OAuth客户端凭据
  • 患者 -患者人口统计
  • 提供商 -医疗保健提供者
  • 预约 -患者预约
  • 药物 -处方
  • 过敏 -患者过敏
  • 生命体征 -生命测量
  • 实验室结果 -实验室结果

🧪 测试

# Test authentication
python -c "from auth import authenticate_client; print(authenticate_client('client_id', 'secret', 'app_id'))"

📚 文档

  • 建筑.md -系统架构
  • DATABASE_SCHEMA.md -数据库架构详细信息
  • 部署.md -部署指南
  • oauth_clients_credentials.json -OAuth凭据(gitignored)

🎯 Microsoft Copilot Studio集成

此服务器专为Microsoft Copilot Studio MCP集成而设计:

  1. 在Copilot Studio中配置MCP连接
  2. 使用WebSocket URL: ws://your-server:7777
  3. 从提供OAuth凭据 oauth_clients_credentials.json
  4. Copilot Studio自动发现所有工具

📞 支持

  • 端口:7777(WebSocket)
  • 协议:MCP(模型上下文协议)
  • 身份验证:OAuth 2.0客户端凭据

📝 许可证

MIT许可证-请参阅许可证文件


版本: 1.0.0
最后更新时间: 2025年11月28日