🏥 openEHR MCP服务器
使用模型上下文协议(MCP)和openEHR标准将AI助手连接到电子健康记录(EHR)系统的智能桥梁。
  
该服务器使像Claude这样的人工智能助手能够与符合openEHR标准的EHR系统无缝交互,提供对医疗数据的自然语言访问,同时保持临床标准和数据隐私。
______________________________________________________________________
📚 目录
- 模型上下文协议(MCP) - openEHR - Qdrant矢量数据库
______________________________________________________________________
🔬 技术概述
模型上下文协议(MCP)
什么是MCP?
模型上下文协议(MCP)是由Anthropic开发的一种开放协议,它规范了人工智能应用程序如何与外部数据源和工具进行通信。它充当通用适配器,允许大型语言模型(LLM)以安全、受控的方式访问来自各种系统的上下文。
关键概念:
- 基于协议的通信:MCP为AI模型请求和接收信息定义了一种标准方式
- 工具执行:AI可以执行预定义的函数(工具)来执行数据库查询、API调用或文件操作等操作
- 资源管理:通过适当的身份验证和权限提供对数据源的结构化访问
- 提示系统:预定义的对话模板,用于指导人工智能交互
为什么MCP很重要:
传统的人工智能集成需要为每个数据源定制代码。MCP通过提供以下功能消除了这种情况:
- 🔒 安全:通过适当的身份验证对敏感系统进行受控访问
- 🔄 标准化:一个协议适用于所有集成
- 🚀 可扩展性:易于添加新工具和数据源
- 🛡️ 安全:内置AI行动护栏
了解更多:
- 官方文件:https://modelcontextprotocol.io/
- 协议规范:https://spec.modelcontextprotocol.io/
openEHR
什么是openEHR?
openEHR(开放式电子健康记录)是一种用于电子健康记录和健康数据管理的开源技术。它不仅仅是一个标准,它是一个构建面向未来的医疗信息系统的综合框架。
核心架构:
- 两级建模:
- 参考模型(RM):稳定的信息结构(如“观察”、“组成”) - 原型:可重复使用的临床内容定义(如“血压”、“实验室结果”) - 模板:原型的具体用例组合
- 关键组件:
- 电子健康记录:患者数据的电子健康记录容器 - 构图:包含临床信息的文件(就诊记录、实验室结果等) - AQL(原型查询语言):用于查询健康数据的类SQL语言
为什么选择openEHR?
- 📊 语义互操作性:数据在不同系统中的含义相同
- 🔄 未来考验:临床知识与技术实施分离
- 🌍 国际标准:符合ISO 13606标准
- 🔓 供应商独立性:开放式规格防止锁定
真实世界示例:
Blood Pressure (Archetype)
├── Systolic: 120 mmHg
├── Diastolic: 80 mmHg
├── Position: Sitting
└── Time: 2025-12-14 10:30:00了解更多:
- 官方网站:https://www.openehr.org/
- 临床知识经理:https://ckm.openehr.org/
- 规格:https://specifications.openehr.org/
Qdrant矢量数据库
Qdrant是什么?
Qdrant是一个高性能的向量数据库,专为相似性搜索和人工智能应用而设计。它将数据存储为高维向量(嵌入),并支持基于意义而不是精确关键字匹配的快速语义搜索。
矢量搜索的工作原理:
- 文本嵌入:将文本转换为数字向量(例如“胸痛”→ \[0.23, -0.45, 0.67, ...\])
- 语义相似性:相似的概念有相似的向量
- 快速检索:以毫秒为单位查找最近的邻居
例子:
Query: "patient has persistent cough and fever"
Embedding: [0.12, 0.45, -0.23, ...]
Qdrant finds similar vectors:
✓ R05 - Cough (similarity: 91.2%)
✓ R50.9 - Fever, unspecified (similarity: 88.7%)
✓ J00 - Acute nasopharyngitis (similarity: 85.3%)为什么选择Qdrant?
- ⚡ 演出:用Rust编写,针对速度进行了优化
- 🎯 准确度:高级过滤和评分功能
- 🔧 易于集成:REST API和Python客户端
- 💾 可扩展性:高效处理数百万矢量
- 🐳 Docker就绪:部署简单
了解更多:
- 官方文件:https://qdrant.tech/documentation/
- GitHub存储库:https://github.com/qdrant/qdrant
______________________________________________________________________
🏗️ 本项目如何使用这些技术
1.️⃣ FastMCP集成
FastMCP 是一个简化构建MCP服务器的Python框架。我们使用它来:
from fastmcp import FastMCP
mcp = FastMCP("openEHR")
@mcp.tool()
def openehr_ehr_create(subject_id: str) -> dict:
"""Create a new Electronic Health Record"""
# Implementation connects to EHRbase API
return {"ehr_id": "...", "subject_id": subject_id}我们的实施:
- 🔧 13 MCP工具:EHR、组合、模板和查询的CRUD操作
- 💬 1 MCP提示:预先配置的生命体征采集工作流程
- 🤖 AI驱动的医疗编码:使用语义搜索的ICD-10代码建议
2.️⃣ openEHR和EHR数据库集成
EHR酶 是我们连接到的生产级openEHR REST API实现。
我们的工作流程:
AI Request → MCP Server → EHRbase API → PostgreSQL Database
↓
Validates against
openEHR Templates我们处理的事项:
- ✅ 模板验证和管理
- ✅ EHR生命周期(创建、检索、查询)
- ✅ 组合CRUD操作
- ✅ AQL查询执行
- ✅ 多种JSON格式(平面、规范、结构化)
3.️⃣ Qdrant医学编码矢量数据库
人工智能ICD-10编码建议:
我们使用Qdrant存储9444+ICD-10代码作为向量嵌入,实现智能医疗编码:
Clinical Text: "Patient with chronic cough and fever"
↓
Sentence Transformer (all-mpnet-base-v2)
↓
Vector Embedding [768 dimensions]
↓
Qdrant Semantic Search
↓
Results:
• R05 - Cough (91.2% match)
• R50.9 - Fever (88.7% match)可选增强功能:
- 🤖 针对复杂多条件查询的Gemini AI优化
- 📊 多种条件下的批处理
______________________________________________________________________
✨ 特性和功能
核心MCP工具
| 工具 | 描述 | 用例 |
|---|---|---|
openehr_template_list | 列出所有可用的openEHR模板 | 发现可用的临床文档类型 |
openehr_template_get | 检索特定模板定义 | 了解模板结构 |
openehr_template_example_composition | 生成示例组合 | 参见示例数据格式 |
openehr_ehr_create | 创建新的电子健康记录 | 注册新患者 |
openehr_ehr_get | 按ID检索EHR | 访问患者记录 |
openehr_ehr_list | 列出所有EHR | 浏览患者记录 |
openehr_ehr_get_by_subject | 按患者标识符查找EHR | 按病历号查找 |
openehr_composition_create | 创建临床文件 | 记录生命体征、实验室结果、笔记 |
openehr_composition_get | 检索临床文档 | 查看历史数据 |
openehr_composition_update | 更新临床文件 | 更正或修改记录 |
openehr_composition_delete | 删除临床文档 | 删除错误条目 |
openehr_query_adhoc | 执行AQL查询 | 复杂数据检索 |
suggest_icd_codes | 基于人工智能的ICD-10建议 | 自动化医疗编码 |
MCP提示
vital_signs_capture:记录生命体征并进行适当验证的指导性工作流程
______________________________________________________________________
🏛️ 建筑
┌─────────────────────────────────────────────────────────────┐
│ Claude / AI Assistant │
└────────────────────────┬────────────────────────────────────┘
│ MCP Protocol
│
┌────────────────────────▼────────────────────────────────────┐
│ openEHR MCP Server (FastMCP) │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ EHR Tools │ │ Query Tools │ │Medical Coding │ │
│ └──────┬───────┘ └───────┬──────┘ └─────────┬─────┘ │
└─────────┼──────────────────┼──────────────────┼─────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌──────────────┐
│ EHRbase │ │ PostgreSQL │ │ Qdrant │
│ (openEHR API) │ │ Database │ │ Vector DB │
└───────────────┘ └───────────────┘ └──────────────┘______________________________________________________________________
🚀 入门指南
先决条件
软件需求
在开始之前,请确保您已经:
- Python 3.12+ -用于运行MCP服务器
- Git -用于克隆存储库
- Docker&Docker编写 -用于运行后端服务
- 克劳德桌面 (或另一个兼容MCP的客户端)-用于AI助手集成
后端服务(全部包含在Docker Compose中)
该项目包括一个完整的Docker Compose设置,可以自动配置:
- EHR数据库服务器 (
localhost:8080)
- 产品级openEHR REST API实现 - 处理EHR记录、组成和模板 - 为API探索提供Swagger UI
- PostgreSQL数据库 (
localhost:5432)
- EHRbase的数据库后端 - 使用openEHR模式存储所有EHR数据 - 预先配置了所需的扩展
- Qdrant矢量数据库 (
localhost:6333)
- 存储ICD-10代码嵌入(9444+代码) - 启用医疗编码的语义搜索 - 端口6333上的REST API,端口6334上的gRPC - ⚠️ 使用前需要加载ICD-10嵌入文件 suggest_icd_codes 工具
💡 一切都是预先配置好的! 这docker-compose.yml文件在docker-compose/目录包括所有三个服务,并带有适当的网络和初始化脚本。
快速设置(3步)
步骤1:克隆并安装
# Clone the repository
git clone https://github.com/yourusername/openehr-mcp-server.git
cd openehr-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt步骤2:配置环境
# Copy example environment file
cp .env.example .env
# Edit .env and add your API key
# GEMINI_API_KEY=your_actual_api_key_here📖 有关详细的设置说明,请参阅 设置.md
步骤3:启动服务
# Start EHRbase and Qdrant
cd docker-compose
docker compose up -d
# Verify services are running
docker compose ps配置Claude桌面
1.找到您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
2.复制并自定义您的MCP配置:
# Copy the example config
cp mcp-config.example.json mcp-config.json
# Edit with your actual project paths
# Replace /path/to/your/project with your installation directory3.添加到Claude桌面配置:
{
"mcpServers": {
"openEHR": {
"command": "/path/to/your/project/venv/bin/python",
"args": ["/path/to/your/project/src/openehr_mcp_server.py"],
"env": {
"EHRBASE_URL": "http://localhost:8080/ehrbase/rest",
"EHRBASE_JSON_FORMAT": "wt_flat",
"PYTHONPATH": "/path/to/your/project/src"
}
}
}
}4.重新启动克劳德桌面
📖 有关详细的Claude Desktop设置和测试,请参阅 DOCS/MCP_TEST_GUIDE.md
______________________________________________________________________
🔧 详细设置和配置
初始设置步骤
1.上传openEHR模板
模板定义临床文档的结构。上传附带的生命体征模板:
# Upload the default template
python scripts/upload_template.py
# Or specify a custom template
python scripts/upload_template.py --template ehr-templates/patient_visit_template.opt验证模板上传:
访问http://localhost:8080/ehrbase/rest/openehr/v1/definition/template/adl1.4
2.创建电子健康记录(EHR)
在存储临床数据之前,您需要一个EHR容器:
# Create EHR with random subject ID
python scripts/create_ehr.py
# Or create with specific patient identifier
python scripts/create_ehr.py --subject-id "MRN-12345"该脚本将输出EHR ID-保存以备将来使用。
3.建立ICD-10矢量数据库(医学编码所需)
⚠️ 重要:The suggest_icd_codes MCP工具 需要 ICD-10嵌入要在Qdrant中加载,然后才能执行语义搜索。
加载嵌入的步骤:
# 1. Ensure Qdrant is running
curl http://localhost:6333/healthz
# 2. Prepare ICD-10 dataset (diagnosis.csv)
# Place your CSV file in the project root directory or specify path with --csv
# Required columns: code, short, long
# Example sources: WHO ICD-10 catalog, CMS, or other medical coding databases
# 3. Load embeddings into Qdrant (from project root)
python scripts/embedding.py
# Or specify custom CSV location
python scripts/embedding.py --csv /path/to/your/diagnosis.csv
# Use a different embedding model
python scripts/embedding.py --model sentence-transformers/all-MiniLM-L6-v2这有什么作用:
- 使用以下函数将9444+ICD-10代码转换为向量嵌入
all-mpnet-base-v2模型 - 将嵌入件存储在Qdrant系列中
icd_mpnet_basev2 - 启用语义相似性搜索(例如,“胸痛”→ ICD代码)
验证:
# Check if collection exists
curl http://localhost:6333/collections
# Check collection size
curl http://localhost:6333/collections/icd_mpnet_basev2📝 备注: - 嵌入生成需要ICD-10数据集CSV文件,需要10-15分钟 - 这 suggest_icd_codes 没有加载的嵌入,工具将无法工作 - 如果你不需要医疗编码,你可以跳过这一步JSON格式配置
MCP服务器支持多种JSON序列化格式:
| 格式 | 描述 | 用例 |
|---|---|---|
wt_flat (默认) | 简化的平面结构 | AI更容易理解 |
canonical | 标准openEHR JSON | 最大兼容性 |
wt_structured | 结构化web模板 | 复杂嵌套数据 |
通过环境变量配置:
⚠️ 先决条件:ICD-10嵌入必须加载到Qdrant中(见设置步骤3)
# Test ICD-10 code suggestion
python tests/test_icd_coding.py
# Test with MCP protocol
python tests/test_mcp_cholera.py
# If embeddings are not loaded, these tests will fail with:
# "Collection not found" or "No results returned"
## 🧪 Testing & Validation
### Run Integration Tests
Install test dependencies
pip install -r requirements-test.txt
Run all tests
pytest tests/ -v
Run specific test file
pytest tests/test_ehr_client.py -v
Run with coverage
pytest tests/ --cov=src --cov-report=html
### 测试医疗编码功能
Test ICD-10 code suggestion
python tests/test_icd_coding.py
Test with MCP protocol
python tests/test_mcp_cholera.py
### 验证服务
Check Docker services
docker compose ps
Test EHRbase
curl http://localhost:8080/ehrbase/rest/openehr/v1/definition/template/adl1.4
Test Qdrant
curl http://localhost:6333/healthz
View service logs
docker compose logs -f ehrbase docker compose logs -f qdrant
### 可选:启动Streamlit Web UI
对于与EHRbase交互的图形界面:
Install streamlit if not already installed
pip install streamlit
Launch the web UI
streamlit run app.py
Streamlit UI提供了一个基于浏览器的界面,用于:
- 📋 列出并管理openEHR模板
- 🏥 创建和检索EHR
- 📝 创建、更新和删除作品
- 🔍 执行AQL查询
- 📊 以用户友好的格式查看JSON数据
访问地址:http://localhost:8501
______________________________________________________________________
## 📖 文档
### 综合指南
- **[设置.md](SETUP.md)** -完整的设置指南,包括环境配置
- **[DOCS/MCP_TEST_GUIDE.md](DOCS/MCP_TEST_GUIDE.md)** -Claude Desktop测试和故障排除
- **[需求.txt](requirements.txt)** -Python依赖关系
- **** -服务编排
### API参考资料
- **EHR酶API**: http://localhost:8080/ehrbase/swagger-ui/index.html
- **API质量标准**: https://qdrant.tech/documentation/
- **MCP协议**: https://spec.modelcontextprotocol.io/
### 项目结构
openehr-mcp-server/ ├── src/ # Source code │ ├── openehr_mcp_server.py # Main MCP server │ ├── medical_coding.py # ICD-10 coding logic │ ├── mcp_prompts.py # MCP prompt definitions │ └── ehrbase/ # EHRbase API clients ├── scripts/ # Utility scripts │ ├── create_ehr.py # EHR creation │ ├── upload_template.py # Template upload │ ├── embedding.py # ICD-10 embedding generator │ └── vector_search.py # Vector search utilities ├── tests/ # Test suite ├── docker-compose/ # Docker services configuration │ └── docker-compose.yml # EHRbase + PostgreSQL + Qdrant ├── ehr-templates/ # openEHR templates (.opt files) ├── DOCS/ # Documentation │ ├── SETUP.md # Detailed setup guide │ └── MCP_TEST_GUIDE.md # Testing guide ├── app.py # Streamlit Web UI for EHRbase (optional) ├── diagnosis.csv # ICD-10 dataset (place here or specify path) ├── .env.example # Environment template ├── mcp-config.example.json # MCP configuration template ├── requirements.txt # Python dependencies └── README.md # This file
______________________________________________________________________
## 🖥️ 流线型Web UI(可选)
**`app.py`** 提供a **基于浏览器的管理界面** 用于与EHRbase直接交互,补充用于AI助手的MCP服务器。
### app.py是做什么的?
Streamlit应用程序(`app.py`)是一个全面的web界面,有5个主要部分:
#### 1. **模板选项卡** 📋
- **列表模板**:查看EHRbase中所有可用的openEHR模板
- **获取示例**:为任何模板生成示例FLAT JSON
- **上传模板**:上传新 `.opt` (操作模板)文件
- **预览**:查看模板结构和必填字段
#### 2. **EHR选项卡** 🏥
- **创建EHR**:生成新的电子健康记录
- **获取EHR**:按ID检索EHR详细信息
- **列出EHR**:浏览所有带分页的EHR
- **视图元数据**:查看EHR状态、创建时间和主题详细信息
#### 3. **组合选项卡** 📝
- **创作构图**:使用FLAT JSON格式提交临床数据
- 直接粘贴JSON或使用生成的示例
- 指定EHR ID和模板ID
- 自动验证和错误处理
- **提取构图**:检索现有临床文件
- 按组成UID搜索
- 查看所有数据点的完整组合
#### 4. **AQL查询选项卡** 🔍
- **执行AQL查询**:运行原型查询语言查询
- **查询生成器**:
- 预构建的查询模板
- 自定义查询输入
- 参数支持
- **结果显示**:打印精美的JSON结果,语法突出显示
- **例子**:常见查询,如“列出所有生命体征”或“查找患者”
#### 5. **表格选项卡** 🩺
- **交互式血压表**:用户友好的生命体征输入表单
- 可视化输入字段(无需JSON)
- 收缩压/舒张压读数
- 平均动脉压计算
- 位置、袖带尺寸和测量方法
- 临床解释说明
- **自动生成JSON**:将表单数据转换为openEHR FLAT格式
- **直接提交**:一键将文章发布到EHRbase
### 主要特点
✨ **用户友好界面**
- 无需编码-点击操作
- 常见用例的基于表单的数据输入
- 实时验证和错误消息
📊 **JSON管理**
- 打印精美的JSON,语法突出显示
- 复制/粘贴支持快速测试
- 预期和实际格式之间的视觉差异
⚙️ **连接设置** (侧边栏)
- 配置EHR基础URL
- 添加自定义标头(身份验证、审核详细信息)
- 测试连接状态
🔧 **开发工具**
- 检查API请求和响应
- HTTP状态代码和错误消息
- 测试数据生成示例
### 启动用户界面
Ensure EHRbase is running
cd docker-compose && docker compose up -d
Launch Streamlit
streamlit run app.py
打开浏览器: **http://localhost:8501**
### 用例
|用例|描述|
|----------|-------------|
| 🧪 **测试** |无需编写代码即可快速测试EHRbase操作|
| 📚 **学习** |通过即时反馈直观地探索openEHR概念|
| 🔧 **发展** |在自动化之前调试和验证组合|
| 👥 **演示** |向利益相关者展示EHRbase功能|
| 📝 **数据录入** |通过表单手动输入临床数据|
| 🔍 **询问** |临时数据检索和探索|
### 工作流示例
1. **上传模板**:使用“模板”选项卡上载 `patient_visit_template.opt`
1. **创建EHR**:使用EHR选项卡创建新的患者记录
1. **输入数据**:使用FORM选项卡输入生命体征(血压等)
1. **查询数据**:使用AQL选项卡检索和分析存储的数据
1. **审查**:查看JSON格式的组合以验证结构
> 💡 **小贴士**Streamlit UI和MCP服务器可以同时运行,它们是同一EHRbase实例的独立接口。使用UI进行测试,使用MCP服务器进行AI驱动的自动化。
______________________________________________________________________
## 🎯 使用示例
### 示例1:创建包含生命体征的患者记录
**在克劳德桌面中:**
I need to record vital signs for patient EHR ID: abc-123-xyz
Blood Pressure: 120/80 mmHg Heart Rate: 72 bpm Temperature: 98.6°F Respiratory Rate: 16 breaths/min
克劳德将使用 `openehr_composition_create` 该工具以openEHR格式存储此数据。
### 示例2:查询患者数据
**在克劳德桌面中:**
Show me all vital signs recordings for the last 7 days for EHR ID: abc-123-xyz
⚠️ **先决条件**:ICD-10嵌入必须加载到Qdrant中
**在克劳德桌面中:**
Suggest ICD-10 codes for: "Patient presents with persistent dry cough, mild fever, and shortness of breath"
**预期响应:**
Found 3 ICD-10 codes:
- R05 - Cough (91.2% match)
- R50.9 - Fever, unspecified (88.7% match)
- R06.02 - Shortness of breath (86.4% match)
In Claude Desktop:
Suggest ICD-10 codes for: "Patient presents with persistent dry cough, mild fever, and shortness of breath"
克劳德将使用 `suggest_icd_codes` 返回具有相似性评分的相关ICD-10代码。
## 🛠️ 故障排除
### 常见问题
**问题:访问EHRbase时“连接被拒绝”**
Check if services are running
docker compose ps
重新启动服务或“找不到集合”
这意味着ICD-10嵌入未加载到Qdrant中。
1. Ensure Qdrant is running
curl http://localhost:6333/healthz
2. Check if collection exists
curl http://localhost:6333/collections
3. If collection is missing, load embeddings
python scripts/embedding.py
4. Verify collection was created
curl http://localhost:6333/collections/icd_all_mpnet_base_v2
> 这 `suggest_icd_codes` 该工具需要预加载嵌入!
Upload the template
python scripts/upload_template.py
Verify upload
curl http://localhost:8080/ehrbase/rest/openehr/v1/definition/template/adl1.4
**问题:“未找到ICD-10代码”**
Ensure Qdrant is running
curl http://localhost:6333/healthz
Check if collection exists
curl http://localhost:6333/collections
**问题:Claude Desktop看不到MCP服务器**
1. 检查配置文件路径是否正确
1. 验证配置中的Python路径
1. 完全重新启动克劳德桌面
1. 检查Claude Desktop控制台中的日志
### 获得帮助
- 📖 检查 [DOCS/MCP_TEST_GUIDE.md](DOCS/MCP_TEST_GUIDE.md) 故障排除指南
- 🐛 在GitHub上打开一个问题
- 💬 查阅EHR数据库文档:https://ehrbase.readthedocs.io/
______________________________________________________________________
## 🔐 安全注意事项
⚠️ **重要安全注意事项:**
1. **API密钥**:从不承诺 `.env` 带有真正API密钥的文件
1. **生产使用**:此设置用于开发-对生产使用适当的身份验证
1. **数据隐私**:确保符合医疗保健法规(HIPAA、GDPR)
1. **网络安全**:在没有适当安全措施的情况下,不要将EHRbase或Qdrant端口暴露给互联网
1. **AI模型选择**:对于生产医疗保健数据,使用具有强大数据隐私保证的模型
______________________________________________________________________
## 🤝 贡献
欢迎投稿!拜托:
1. 分叉存储库
1. 创建要素分支(`git checkout -b feature/amazing-feature`)
1. 提交您的更改(`git commit -m 'Add amazing feature'`)
1. 推到分支(`git push origin feature/amazing-feature`)
1. 打开拉取请求
______________________________________________________________________
## 📄 许可证
此项目根据MIT许可证获得许可-请参阅 [许可证](LICENSE) 文件以获取详细信息。
______________________________________________________________________
## 🙏 致谢
- **Anthropic** -对于模型上下文协议
- **EHR酶** -用于openEHR的实施
- **Qdrant** -对于矢量数据库
- **openEHR基金会** -对于医疗保健数据标准
- **FastMCP** -对于Python MCP框架
______________________________________________________________________
## 📞 支持
- 📖 文件:见 [设置.md](SETUP.md) 和 [DOCS/MCP_TEST_GUIDE.md](DOCS/MCP_TEST_GUIDE.md)
- 🌐 openEHR社区:https://discourse.openehr.org/
- 💬 MCP社区:https://github.com/modelcontextprotocol
______________________________________________________________________
## 作者
- [阿布舍克](https://github.com/abhishekmallav)
- [阿尤什](https://github.com/)
- [阿尼什](https://github.com/)
- [普拉塔梅什](https://github.com/)
______________________________________________________________________
**内置于❤️ 实现更好的医疗数据互操作性**