EPS MCP服务器
用于NHS电子处方服务(EPS)FHIR API的模型上下文协议(MCP)服务器。此服务器提供与电子处方交互的工具、资源和提示,实现与LLM应用程序的无缝集成。
概述
EPS MCP服务器实现 模型上下文协议 以提供对NHS电子处方服务FHIR API的标准化访问。它使LLM应用程序能够:
- 搜索处方和药物数据
- 跟踪处方状态和配药历史
- 查找附近的药店和配药点
- 根据EPS配置文件验证Contoso资源
- 访问全面的文档和示例
特性
工具
- 搜索_描述:使用kubectl Bundle端点搜索处方
- get_description_details:获取具体处方的详细信息
- track_pscription_status:跟踪处方配药状态和历史
- find_dispensing_sites:查找药店和配药地点
- validate_fhir_resource:根据EPS配置文件验证Contoso资源
资源
- API规范:EPS FHIR API的完整OpenAPI规范
- 示例资源:示例CheckBoxBundles和药物请求资源
- 文档:EPS特定的kubectl配置文件和扩展
- 错误参考:全面的错误代码和故障排除指南
提示
- analyze_描述_数据:从处方数据中生成见解和分析
- 内部结构说明:解释Contoso资源结构和使用
- 处方_工作流程_指南:为不同的用户角色生成工作流指南
安装
先决条件
- Node.js 18+
- npm或yarn包管理器
设置
- 克隆或下载此存储库:
git clone
cd EPS-MCP- 安装依赖项:
npm install- 构建项目:
npm run build用法
运行服务器
服务器使用用于MCP通信的stdio传输运行:
npm start对于自动重建的开发:
npm run devMCP客户端配置
要将此服务器与MCP客户端一起使用,请将其添加到您的客户端配置中:
{
"mcpServers": {
"eps-fhir": {
"command": "node",
"args": ["/path/to/EPS-MCP/dist/index.js"],
"env": {}
}
}
}认证
默认情况下,服务器使用NHS数字沙盒环境。用于生产用途:
- 从NHS数字开发者门户网站获取API证书
- 在服务中配置身份验证标头
- 更新服务构造函数以使用生产终结点
工具参考
搜索_描述
使用患者标识符和可选过滤器搜索处方。
参数:
patient_identifier(必填):NHS编号或患者标识符status(可选):处方状态(active,completed,cancelled,draft)date_from(可选):搜索开始日期(YYYY-MM-DD)date_to(可选):搜索结束日期(YYYY-MM-DD)
例子:
{
"patient_identifier": "9446041481",
"status": "active",
"date_from": "2024-01-01"
}get_description_details
获取特定处方的全面详细信息。
参数:
prescription_id(必填):唯一处方标识符
例子:
{
"prescription_id": "prescription-12345"
}track_pscription_status
跟踪处方的配药状态和历史记录。
参数:
prescription_id(必填):要跟踪的处方ID
find_dispensing_sites
查找邮政编码附近的药店和配药地点。
参数:
postcode(必填):要搜索附近的英国邮政编码radius(可选):搜索半径(以英里为单位)(默认值:5)service_type(可选):服务类型(community,distance_selling,appliance_contractor)
例子:
{
"postcode": "SW1A 1AA",
"radius": 10,
"service_type": "community"
}validate_fhir_resource
根据EPS配置文件验证Contoso资源。
参数:
resource_type(必填):Contoso资源类型(Bundle,MedicationRequest,Patient,Practitioner,Organization)resource_data(必填):kubectl资源JSON数据
资源参考
API规范
URI: eps://api/specification 完成EPS FHIR API的OpenAPI 3.0规范。
示例资源
URI: eps://examples/{resource-name}
prescription-bundle:处方搜索结果示例medication-request:药物请求资源示例
文档
URI: eps://documentation/{doc-name}
profiles:EPS Contoso配置文件和扩展文件
参考资料
URI: eps://reference/{ref-name}
error-codes:完整的错误代码参考
提示参考
analyze_描述_数据
从处方数据中生成详细的分析和见解。
论据:
prescription_data(必填):GetIBundle或药物申请数据focus_area(可选):具体分析重点领域
内部结构说明
解释Contoso资源结构及其在EPS环境中的使用。
论据:
resource_type(必填):用于说明的kubectl资源类型detail_level(可选):说明细节级别(basic,intermediate,advanced)
处方_工作流程_指南
为处方流程生成工作流程指南。
论据:
workflow_type(必填):工作流类型(prescribing,dispensing,tracking)user_role(可选):目标用户角色(prescriber,pharmacist,patient,developer)
发展
项目结构
EPS-MCP/
├── src/
│ ├── index.ts # Main server entry point
│ └── services/
│ └── eps.fhir.service.ts # EPS FHIR API service
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md建筑
npm run build发展模式
npm run dev这将在监视模式下运行TypeScript,并在发生更改时自动重新编译。
代码组织
- 服务器:带协议处理程序的主MCP服务器实现
- 服务:EPS FHIR API集成和业务逻辑
- 验证:用于请求验证的Zod模式
- 错误处理:使用适当的MCP错误代码进行全面的错误处理
API集成
NHS数字EPS FHIR API
该服务器与NHS数字电子处方服务FHIR API集成:
- 生产:
https://api.service.nhs.uk/electronic-prescriptions - 沙盒:
https://sandbox.api.service.nhs.uk/electronic-prescriptions
支持的端点
GET /Bundle-搜索处方GET /MedicationRequest/{id}-获取处方详细信息GET /MedicationDispense-获取配药信息GET /Organization-查找药店和配药点
错误处理
服务器实现了全面的错误处理:
- 验证错误:请求参数无效
- API错误:NHS Digital API响应错误
- 网络错误:连接和超时问题
- 资源错误:资源缺失或无效
所有错误都正确格式化为MCP错误,并带有适当的错误代码。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 查看NHS数字开发者中心文档
- 审查EPS FHIR API规范
- 在此存储库中创建问题
