OpenEMR Weno eRx 电子处方模块安装与配置指南:从模块管理器到启用 e-Prescribing

发布时间:2026/10/3 2:05:00

OpenEMR Weno eRx 电子处方模块安装与配置指南:从模块管理器到启用 e-Prescribing 医疗健康后端【免费下载链接】openemrThe most popular open source electronic health records and medical practice management solution.项目地址https://gitcode.com/GitHub_Trending/op/openemr点击查看免费下载本指南以 OpenEMR 官方模块oe-module-weno的 安装与配置说明 为骨架完整讲解 Weno eRx电子处方模块的安装、三步管理员配置Primary Admin / Weno User ID / Weno Location ID、用户凭据设置以及启用后的后台服务行为并结合本仓库源码模块设置页、服务类、数据库建表脚本补充底层实现细节。读完本文你将掌握在 OpenEMR 中完成 Weno eRx 全流程开通、让处方医师成功开始电子开方的完整实操步骤与排错思路。一、模块概览与所需前置凭据oe-module-weno是 OpenEMR 官方发布的自定义模块位于 interface/modules/custom_modules/oe-module-weno用于将 OpenEMR 与 Weno Exchange 的免费电子处方eRx服务集成。从 version.php 可看到当前模块版本为3.1.0$v_major 3; $v_minor 1; $v_patch 0模块由Weno EZ Integration命名见 info.txt。在开始配置前你需要先在 Weno 侧完成账号注册注册与开发者页面入口在 weno_setup.php 的帮助面板中有链接。注册 Weno 账号并完成 EZ Integration 签约后你会获得以下四类必须值序号必须值格式说明用途1账号持有者的 Admin 凭据邮箱 密码模块的 Primary Admin 分区用于与 Weno 服务端通信与验证2Weno User ID形如Uxxxx建立 Weno 与 OpenEMR 用户之间的对应关系用于处方追踪3每个设施facility的 Location ID形如Lxxxxx绑定处方开具地点用于处方追踪4分配给每位处方医师的用户凭据用户名邮箱 密码医师个人配置缺失或错误时将无法开方重要实践建议所有用户/处方医师都在其「Users 设置」中设置默认设施default facility否则系统将回退使用所有执业设施中的第一个/默认设施作为其位置。二、模块安装从 Module Manager 开始2.1 进入模块管理器在 OpenEMR 顶栏选择Modules → Manage Modules进入模块管理器Module ManagerMM页面。安装完成前该模块会以「Install安装」按钮呈现。2.2 安装、启用与卸载点击Install完成安装后按钮会变为Enable启用。点击配置齿轮/扳手图标Config cog/gear或直接点击Enable即可进入模块配置流程。若模块是首次安装会弹出警告提示 Weno Admin 设置尚未完成且未通过验证——此时模块配置图标显示为红色。点击该图标无论红色还是正常状态会打开「Weno eRx Service Admin Setup」配置面板。模块在 Primary Admin 分区通过验证之前无法启用Enable 操作会被拦截。面板中的垃圾桶图标用于注销卸载模块。卸载后之前的 Weno 设置会完整保留在最后配置状态当模块日后重新注册Install时所有先前设置依旧生效。这一卸载保留配置的行为与模块的配置存储机制有关所有 Weno 配置均持久化在数据库globals与user_settings表中详见本文第七节卸载模块不会清库。三、Setup Summary三步走总览「Weno eRx Service Admin Setup」配置面板中三大区块已经涵盖了成功开始电子处方所需的绝大部分设置唯一额外的配置项是每位 Weno 处方医师的凭据需在其各自「User Settings」中单独设置。总览流程如下在Primary Admin Section输入 Admin 凭据加密密钥、Admin 用户名、Admin 密码。在Map Weno User Ids分区为所有授权用户填入其 Weno User IDUxxxx。在Map Weno Facility Ids分区为相应设施填入 Weno Location IDLxxxxx。点击Enable启用模块开启首次药房目录下载。前往「User Settings」页面为处方医师含自己录入 Weno 凭据——所有将通过 Weno eRx 开方的医师都必须设置凭据否则 Weno eRx 小组件不会显示。登出后重新登录或点击配置面板中的Restart OpenEMR按钮使顶部菜单生效Admin → Other → Weno Management与Reports → Clients → Prescription Log将被启用。四、Weno Primary Admin Section必需必须验证这是三大分区中唯一要求点击 Validate and Save 按钮完成提交的分区其他分区均为值变更时自动保存。所有字段都必须填写并通过验证。若邮箱/密码无效验证会弹出对应告警提示。若加密密钥Encryption Key被判定无效会弹出告警并启用 Encryption Reset加密重置按钮。处理顺序先尝试重新输入密钥若仍失败点击 Reset 将创建一把新密钥。该变更会同步反映到管理员的主 Weno 账号无需用户再做其他操作。可以把加密密钥理解为更常见的术语——API Token。从源码 weno_setup.php 可以还原该分区的完整字段与校验逻辑字段包括weno_rx_enable启用 Weno eRx 服务、weno_rx_enable_test启用测试模式会在药房下载中自动包含测试药房、weno_encryption_keyWeno 开发者页面签发的加密密钥、weno_admin_usernameWeno 登录邮箱同时用于后台药房目录下载、weno_admin_password。提交时先经CsrfUtils::checkCsrfInput校验 CSRF再由 ModuleService::saveVendorGlobals() 将配置持久化到数据库。校验返回码语义前端 JS 处理逻辑false表示加密密钥未通过验证显示 Reset 按钮900表示 Admin 用户名/密码无效提示回到 Weno Dashboard 修正998/999表示网络连接问题。每次验证/保存都会通过 WenoLogService::insertWenoLog() 写入审计日志如Module setup modified./Primary Admin verify Encryption Key。4.1 验证的底层实现XML 调用 Weno 服务端WenoValidate.php 实现了与 Weno 服务端https://online.wenoexchange.com/webapi/restapi/WenoManage的通信密码以md5()摘要形式出现在请求中请求体为Manage_Accountschema 的 XML其中ValidateEncKey携带加密密钥、AdminUserEmail/MD5Password携带管理员凭据。requestEncryptionKeyReset()则构造ResetEncKeyTrue/ResetEncKey的 XML 请求向服务端申请新密钥再通过setNewEncryptionKey()写回数据库并更新全局配置。4.2 OptionalUser Setting Credentials 快捷子分区同一面板中还有一个可选的快捷子分区User Setting Subsection用于快速为当前登录用户录入 Weno 处方凭据weno_provider_email与weno_provider_password其效果等同于在该用户的「User Settings」中配置 Weno 凭据可节省逐个导航的时间。五、Map Weno User Ids必需自动保存该分区呈现一张所有授权用户的表格包含用户名、姓名Last/First若已分配显示其默认设施未设置时显示提示Please add Users Default Facility一个输入框用于录入该用户的 Weno User IDUxxxx。此值的意义在于在 Weno 与 OpenEMR 用户之间建立关联关系用于处方追踪。每当输入或修改 Weno User ID值都会自动保存无需点击保存按钮。作为便利每行提供一个编辑按钮铅笔图标点击后弹出对话框以编辑模式打开该用户的 Users 设置可直接修改任意设置例如分配默认设施——这等同于从顶部菜单Admin → Users选择对应的 Weno 处方医师进行编辑。源码层面weno_users.php 通过ModuleService::getWenoProviderUsers()查询可配置用户排除gwstaff*/GS:前缀的 Greenway 迁移显示用户保存时执行UPDATE users SET weno_prov_id ? WHERE id ?写入 users 表的weno_prov_id字段INSERT INTO user_settings ... ON DUPLICATE KEY UPDATE写入global:weno_provider_uid。六、Map Weno Facility Ids必需自动保存该分区将每个本地设施facility与 Weno 签发的 Location IDLxxxxx一一对应。同样自动保存。需要说明的是这份数据也可以在启用模块后从顶部菜单Admin → Other → Weno Management访问与维护。setup_facilities.php 展示了具体实现以表格列出facility表中的设施名称、地址、城市每个设施一行提供 Weno Location ID 输入框变更时自动提交执行UPDATE facility SET weno_id ? WHERE id ?——即 Weno Location ID 被持久化在 OpenEMRfacility表的weno_id列。注意处方用户应在其 User settings 中设置默认设施这与 Weno User ID 分区一样是形成 Weno 与 OpenEMR 设施关联、用于处方追踪的必需步骤。七、其他配置途径顶部菜单除了配置面板同样的设置项还可从顶部菜单完成Admin → Users选择与 Weno User IDUxxx关联的用户在Weno User ID字段中输入并保存。Admin → Other → Weno Management为各设施locations录入分配的 Location IDLxxxxx。患者顶栏用户图标 → Settings向下滚动找到Weno按钮并点击在Weno User Email与Weno User Password字段中输入用户名邮箱和密码并Save。⚠️重要警告若这些凭据缺失或错误你将无法开具处方。八、源码级原理配置存储、后台服务与数据表8.1 配置存储与加密ModuleService.php 是配置读写核心全局项weno_rx_enable、weno_rx_enable_test、weno_encryption_key、weno_admin_username、weno_admin_password存储在globals表中用户项weno_provider_email、weno_provider_password、weno_provider_uid存储在user_settings表中label 前缀global:敏感值加密密钥、Admin 密码、Provider 密码在入库前通过ServiceContainer::getCrypto()的encryptForDatabase()加密读取时decryptFromDatabase()解密。isWenoConfigured()会检查四个必需项是否齐全weno_rx_enable、weno_admin_username、weno_admin_password、weno_encryption_key任一为空则返回 false 并把后台任务置为 inactive——这正是未配置完成前模块无法启用的实现保障。8.2 后台服务Background Servicestable.sql 注册了两个后台服务位于background_services表服务名标题执行间隔函数说明WenoExchangePharmaciesWeno Exchange Pharmacy1440 分钟每日downloadWenoPharmacy药房目录下载WenoExchangeWeno Log Sync30 秒downloadWenoPrescriptionLog处方日志同步两者的入口均为 scripts/weno_log_sync.php。ModuleService::setTaskState()/setModuleState()负责在模块启用、配置完整时将这些任务置为 active1并在模块停用或配置缺失时置为0。8.3 模块数据表table.sql还定义了模块的三张数据表weno_pharmacy药房目录快照含 NCPDP、NPI、店名、地址、经纬度、电话、Test_Pharmacy测试标记、On_WENO等字段NCPDP_safe唯一索引weno_assigned_pharmacy患者pid的主/备选药房primary_ncpdp/alternate_ncpdp含is_history与search_persist字段weno_download_log下载日志value、status、created_at、data_in_context。8.4 事件与菜单注入Bootstrap.php模块启动类MODULE_MENU_NAME Weno通过 OpenEMR 事件分发器注册菜单MenuEvent、患者人口学渲染药房分区、全局设置项GlobalsInitializedEvent等使Admin → Other → Weno Management、Reports → Clients → Prescription Log以及处方界面中的 Weno eRx 小组件在模块启用后出现在系统中。九、启用后的验证与收尾完成三区配置并通过验证后点击Enable启用模块随后触发首次药房目录下载由WenoExchangePharmacies后台任务驱动日志可查weno_download_log。为所有处方医师在 User Settings 中录入 Weno 凭据邮箱 密码。登出再登录或点击配置面板中的Restart OpenEMR等同浏览器刷新用于生效新菜单与配置项。确认顶部菜单出现Admin → Other → Weno Management与Reports → Clients → Prescription Log处方开具界面正常显示 Weno eRx 小组件。十、常见问题速查现象原因与处理模块配置图标为红色、无法 EnablePrimary Admin 分区未完成验证补齐四项必需值并通过 Validate验证提示邮箱/密码无效返回码 900回到 Weno Dashboard 核对 Admin 账号重新输入加密密钥无效告警先重输密钥仍失败则点击Encryption Reset生成新密钥等价于重置 API Token网络告警返回码 998/999检查 OpenEMR 服务器到 Weno 服务端online.wenoexchange.com的连通性处方医师无法开方 / 小组件不显示检查该用户在 User Settings 中的 Weno 邮箱与密码是否缺失或错误并确认已映射 Weno User ID 与默认设施卸载后重新安装配置丢失正常情况下配置持久化于数据库globals/user_settings/facility卸载不清库若仍异常可核对table.sql中的清理注释语句DELETE FROM user_settings WHERE setting_label LIKE global:weno%等仅在需要彻底重置时执行通过以上步骤即可在 OpenEMR 中完成 Weno eRx 模块的完整安装、管理员配置、医师凭据设置与后台服务启用正式开启电子处方工作流。赞分享医疗健康后端【免费下载链接】openemrThe most popular open source electronic health records and medical practice management solution.项目地址https://gitcode.com/GitHub_Trending/op/openemr点击查看免费下载相关推荐Ceph 源码克隆指南从 Git 安装、SSH 配置到子模块与分支管理Ceph 源码克隆指南从 Git 安装、SSH 配置到子模块与分支管理 本文是 Ceph 开发者或想从源码构建、研究 Ceph 的工程师的源码获取实操指南存储分布式文件系统对象存储后端高可用OpenEMR Fax SMS 模块oe-module-faxsms部署与配置指南从安装到多供应商通信OpenEMR Fax SMS 模块oe module faxsms部署与配置指南从安装到多供应商通信 导读 本文围绕 OpenEMR 官方自定义模块 i医疗健康后端RUM 模块安装与配置指南RUM 模块安装与配置指南 1. 项目基础介绍 RUMRandomized Umbrella Method是一个为 PostgreSQL 数据库设计的开源模数据库上一篇OpCore Simplify智能黑苹果配置新体验下一篇CUB终极指南如何快速掌握NVIDIA CUDA协同处理库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/3 2:50:03

本地跑通AI生成项目:从环境准备到批量部署的完整指南

这次我们来看一个很常见的诉求:拿到一个开源的 AI 生成项目,不聊 PPT,直接在自己的机器上把它跑起来。标题里说的“R跑”,核心就是 Run,也就是实测、实际部署、实际验证。很多人收藏了一堆项目,真正双击能跑…

2026/10/3 2:50:03

蒙特卡洛树搜索在多机器人覆盖路径规划中的Python实现与调优

简介:基于蒙特卡洛树搜索算法实现的多机器人区域覆盖路径规划项目,采用Python语言编写,整个资源压缩包共六个文件,包含四个py脚本、一份license许可声明和一份markdown说明文档,压缩后大小仅约十九KB,非常轻…

2026/10/3 2:50:03

基于LSTM的股票价格趋势预测Python仿真代码解析

简介:压缩包内含基于机器学习预测股票价格趋势的完整Python仿真项目,专为毕业设计、期末大作业和课程设计场景打造。项目以LSTM等机器学习方法为核心,结合股票指数历史数据,完整覆盖数据处理、特征构造、模型训练、预测评估等关键…

2026/10/3 2:50:03

HTTP协议核心解析:请求方法、状态码与实战排查

1. HTTP协议的本质:先搞懂它到底在做什么1.1 请求-响应模型:一次交互的完整轮廓HTTP(HyperText Transfer Protocol,超文本传输协议)这个名字看起来学术,但本质上就是客户端和服务器之间“对话”的规矩。你打…

2026/10/3 2:50:03

校园消费行为分析:构建可解释的学生经济画像系统

简介:本资源是一套完整的校园消费行为分析与学生经济评估实战项目,面向Python数据分析初学者及高校数据科学课程实践者,聚焦智慧校园一卡通数据的清洗、建模与可视化全流程。压缩包共24个文件,含6个核心Python模块(dat…

2026/10/3 2:45:03

OFDM信道估计MATLAB实现:从导频插值到均衡全流程解析

简介:面向无线通信与OFDM系统学习者的信道估计实践资源,压缩包共1个MATLAB源文件,约7KB。程序聚焦OFDM接收端的信道估计与均衡流程,覆盖导频插入、去除循环前缀、比较收发导频推断信道频率响应,以及基于LS或相邻导频相…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑