
医疗健康后端【免费下载链接】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),仅供参考