# engine **Repository Path**: schia/yyt ## Basic Information - **Project Name**: engine - **Description**: 开放集成引擎项目是一个致力于推进医疗保健互操作性的开源项目。该项目以广泛采用的集成引擎Mirth Connect为基础,旨在为医疗机构提供强大、灵活且经济高效的解决方案,用于连接不同的系统并促进高效的数据交换。 ##通过开放的、社区驱动的、易于访问、可扩展且基于标准的集成引擎,实现无缝的医疗保健互操作性。 - **Primary Language**: Java - **License**: MPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-01 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开放集成引擎(Open Integration Engine) [![Website](https://img.shields.io/badge/website-openintegrationengine.org-blue)](https://openintegrationengine.org) [![Discord](https://img.shields.io/discord/943670759891554316?label=Join%20our%20Discord&logo=discord&style=flat)](https://discord.gg/azdehW2Zrx) [![Docker](https://img.shields.io/badge/docker-openintegrationengine-blue?logo=docker&style=flat)](https://hub.docker.com/u/openintegrationengine) [![LinkedIn](https://img.shields.io/badge/linkedin-follow-blue?logo=linkedin&style=flat)](https://www.linkedin.com/company/open-integration-engine) --- ## 目录 - [使命宣言](#使命宣言) - [概述](#概述) - [为什么选择开放集成引擎?](#为什么选择开放集成引擎) - [核心功能](#核心功能) - [系统架构](#系统架构) - [基于通道的集成模型](#基于通道的集成模型) - [管理员界面](#管理员界面) - [系统要求](#系统要求) - [适用对象](#适用对象) - [应用场景](#应用场景) - [DHIS2 + 开放集成引擎:开源生态](#dhis2--开放集成引擎开源生态) - [项目价值观](#项目价值观) - [开源商业模式与可持续生态](#开源商业模式与可持续生态) - [社区与治理](#社区与治理) - [历史与路线图](#历史与路线图) - [许可协议](#许可协议) - [致谢](#致谢) --- ## 使命宣言 通过一个开放的、社区驱动的集成引擎,实现无缝的医疗健康互操作性——使其可访问、可扩展、基于标准。 --- ## 概述 **开放集成引擎项目**是一项致力于推进医疗健康互操作性的开源计划。基于广泛采用的集成引擎 **Mirth Connect** 的基础,本项目旨在为医疗健康组织提供一个稳健、灵活且经济高效的解决方案,用于连接异构系统并促进高效的数据交换。 随着数字技术和始终连接设备的出现,集成仍然是医疗健康领域的一大挑战。为了提供更好的患者护理,电子健康数据需要跨越边界和系统流动。然而,提供商不愿共享数据、非标准和专有数据格式、隐私和安全要求使得不同系统之间难以相互通信。 尽管引入了各种本体、数据和消息传递标准,但它们在提高应用程序集成的效率和有效性方面并没有像预期的那样成功。随着标准的演进,集成复杂性也在增加。跟上新标准并维护当前集成引擎成为医疗健康组织的巨大负担。 **开放集成引擎**正是为解决这一挑战而生。它是一个连接各种HIT(医疗健康信息技术)系统的平台,用于创建更快、更轻松、更安全且具有成本效益的可互操作机制来交换医疗健康信息。它的设计使医疗健康系统之间的集成变得简单快捷,因为它支持所有主流医疗健康信息标准,包括HL7、FHIR、EDI、X12、XML、JSON等。 就像一个将外语翻译成您理解的语言的翻译器一样,开放集成引擎将消息标准翻译成您的系统所理解的语言。每当外部系统向您发送消息时,集成引擎将执行以下功能: - **过滤** — 读取消息参数,决定将消息传递或阻止到转换阶段 - **转换** — 将传入的消息标准转换为另一个标准(例如HL7转换为XML) - **提取** — 从数据中提取数据并推送到数据库 - **路由** — 确保消息到达指定的目的地 --- ## 为什么选择开放集成引擎? - **开源优势** 通过开源技术实现国产化,可持续升级;减少重复建设,形成可复用能力;提升行业数据流通与治理能力;推动厂商、医院、科研机构基于统一底座协同创新。客户从大量贡献和测试中受益,这些贡献来自众多医疗健康专业人员组成的充满活力的公共社区。 - **医疗健康专注** 专为解决医疗健康数据集成的独特挑战而设计,支持HL7、FHIR、EDI/X12、DICOM、XML、JSON、分隔文本等标准。 - **可扩展与可定制** 基于通道的模块化架构,可根据不断演变的需求进行定制和扩展。开放插件、开放接口,低成本数据集成。 - **经济高效** 消除昂贵的专有软件许可费用,同时提供企业级集成能力。 - **可持续国产化能力** 不依赖专有源代码,避免厂商锁定。 --- ## 核心功能 ### 数据转换与映射 在HL7、FHIR、JSON、XML、EDI/X12、CSV、分隔文本等格式之间进行转换,确保跨系统兼容性。转换引擎重新排列源消息数据,以创建目标系统所需格式的目标消息。 ### 消息路由与过滤 使用灵活的基于规则的逻辑路由消息以简化工作流程。过滤器读取消息参数并在转换阶段传递或阻止消息,具有可配置的接受/拒绝规则。 ### 自定义脚本与连接器 基于JavaScript的脚本支持,以及对以下协议的支持:HTTP/S、TCP/MLLP、FTP/SFTP、JMS、SMTP、数据库连接(MySQL、PostgreSQL、Oracle、SQL Server、SQLite)、文件系统读写器、FHIR监听器扩展等。 ### 实时监控与告警 可视化仪表板,用于跟踪所有已部署通道的消息流、性能指标、服务器日志、连接日志及可配置告警。监控每个通道的接收、过滤、排队、已发送和错误消息数。 ### 多级消息存储 五个可配置的存储级别: | 级别 | 说明 | |------|------| | 关闭 | 无消息存储 | | 元数据 | 仅存储元数据 | | 原始消息 | 存储原始消息和元数据 | | 生产环境 | 存储原始、编码、发送的消息、响应和映射 | | 开发环境 | 存储所有内容 | 支持消息加密以保护患者隐私数据,以及可配置的消息清除计划。 ### 安全与合规 企业级安全,包含加密、审计追踪、HIPAA/GDPR兼容架构,以及OAuth 2.0令牌验证支持。 ### 通道式可视化编排 支持通道的可视化配置与编排,包括源插头、目标插头、过滤器和转换器的拖拽式配置,降低集成开发门槛。 --- ## 系统架构 开放集成引擎架构由四个关键组件组成: ### 1. 集成引擎服务器(Server) 包含管理接口和集成引擎组件的后端,执行消息过滤、转换和传输。它是一个完全独立的应用程序,不需要任何类型的应用服务器容器(无需Tomcat、Glassfish等)。 ### 2. 管理员(Administrator) 连接到服务器的GUI客户端。允许配置接口、监视活动和浏览消息存储。管理员可以在与服务器相关的任何位置运行,由菜单和视图面板组成,这些面板根据任务(仪表板、通道、编辑通道、设置)进行更改。 ### 3. 服务器管理器(Server Manager) 用于管理服务、显示日志文件并包含附加服务器配置设置(包括端口配置、内存分配和数据库管理)的GUI。 ### 4. 命令行界面(CLI) 命令行工具,连接到服务器以部署、导入和导出通道,并执行其他管理任务。 --- ## 基于通道的集成模型 引擎使用**基于通道的架构**来连接HIT系统,根据用户定义的规则过滤、转换和路由消息。所有消息都通过通道创建和发送,通道是平台的核心工作单元。 ### 通道结构 每个通道由以下部分组成: #### 摘要(Summary) - **通道属性**:名称、ID、数据类型配置(HL7、X12、XML、分隔文本等) - **消息存储和修剪**:配置存储级别和保留策略 - **通道标签和元数据**:用标签组织通道并定义自定义元数据列 - **通道说明**:通道用途的文档 #### 源插头(Source Connector) 定义通道接收数据的方式。每个通道一个源插头。支持的连接器类型包括: - HTTP监听器 - TCP/MLLP监听器 - 文件读取器 - 数据库读取器 - JMS监听器 - FHIR监听器(扩展) - 更多... 配置选项包括:监听设置(轮询间隔、Cron调度)、源队列设置(处理前/后响应、处理线程数)、连接器特定设置。 #### 目标插头(Destination Connectors) 定义消息的发送目的地。一个通道可以有**多个目标插头**。连接器类型与源可用的相同,并有额外的数据发送选项。 #### 脚本(Scripts) 四种脚本类型用于生命周期管理: - **部署脚本**:引擎启动时执行;初始化需要在运行时持久化的常见对象 - **停止脚本**:引擎停止时执行;清理部署脚本创建的内容 - **预处理器**:消息规范化为XML之前执行 - **后处理器**:消息发送后执行;包含特定于通道的变量 ### 过滤器(Filters) 源和目标选项卡都包含可配置的过滤器,根据用户定义的规则和条件确定消息应被接受还是拒绝。 ### 转换器(Transformers) 更改或重新排列源消息中数据以创建目标消息的规则。转换器将数据转换为传输到目标系统所需的格式。 --- ## 管理员界面 登录后,管理员界面呈现三个主要区域: ### A. 仪表板(中央) 显示通道列表及状态列: - 部署状态 - 通道状态(已启动/已停止/已暂停) - 通道名称 - 最后部署时间 - 消息计数:已接收、已过滤、排队中、已发送、错误 ### B. 导航菜单(左侧) 访问所有视图:仪表板、通道、用户、设置、扩展等。 ### C. 日志面板(底部) 实时服务器和连接日志,可配置的日志级别(错误、警告、信息、调试、跟踪)。 ### 其他视图 - **全局映射**:管理跨通道的共享变量 - **用户视图**:用户管理和访问控制 - **设置视图**:服务器设置、管理员偏好、代码编辑器偏好、标签设置、配置映射、资源和数据修剪 - **扩展视图**:管理已安装的连接器和插件 --- ## 系统要求 ### 服务器要求 - 完全独立的应用程序(无需应用服务器容器) - 需要Java JRE/JDK(支持Oracle JDK或OpenJDK) | 引擎版本 | Java版本 | |----------|----------| | 3.0.2 - 3.1.x | Java 6 | | 3.2.x - 3.4.x | Java 7 | | 3.5.x | Java 8 | | 3.6.x | Java 9 / Java 10 | | 3.7.x+ | Java 11+ | ### 数据库要求 内置嵌入式数据库(Apache Derby)用于快速部署、开发和测试。生产环境支持以下数据库: - PostgreSQL 8.3+ - MySQL 5.6+ - Oracle 10g R2+ - SQL Server 2005+ > **注意**:上述数据库要求仅适用于引擎内部的配置和消息存储,对引擎可以通过连接器与哪些数据库交互没有影响。 ### 支持的平台 - Windows - Linux - Mac OS X / macOS --- ## 适用对象 - **集成工程师** — 寻找灵活的开放平台来管理医疗接口 - **医疗IT团队** — 连接EHR、LIS、RIS及其他医疗系统 - **EHR厂商** — 增强其产品的互操作性 - **区域卫生信息交换平台(HIE)** — 构建跨组织数据共享基础设施 - **公共卫生机构** — 实施疾病监测、免疫接种登记和报告系统 - **科研人员** — 需要可靠的、基于标准的集成工具 --- ## 应用场景 ### 区域卫生健康数据资源平台 连接区域内的医院、诊所、实验室和药房,使用统一编码、统一结构、统一交换、统一指标体系。 ### 公共体数据管理中心 为政府卫生机构集中健康数据采集和报告。 ### 医疗质量与运营指标 跨系统聚合数据,计算质量指标和运营仪表板。 ### 公共卫生业务应用 支持免疫、慢病管理、妇幼保健等公共卫生项目。 ### 医院接口总线(HIS/LIS/RIS) 连接院内HIS/LIS/RIS系统,实现跨科室和跨区域的数据互联互通。 ### 医疗设备数据集成与采集 将医疗设备和器械的数据汇集到集中化系统。 ### 区域交换中心 医易通接入HIS/LIS/RIS及区域平台,实现区域内外数据交换与共享。 ### 典型工作流示例 **示例1:实验室数据集成** 1. 实验室数据系统通过MLLP向集成引擎发送HL7消息 2. 引擎将患者数据插入EHR数据库 3. 创建PDF报告 4. 发送带PDF附件的电子邮件通知 **示例2:门诊护理数据交换** 1. 引擎从医院EMR系统读取患者数据 2. 在通道内映射数据元素 3. 生成HL7消息 4. 发送至客户端用于门诊护理 --- ## DHIS2 + 开放集成引擎:开源生态 DHIS2(区域卫生健康数据平台)与开放集成引擎(多标准交换平台)的组合,构建行业"开放平台"。 ### 医疗卫生行业数字化趋势与开源价值 - 通过开源技术实现国产化,可持续升级 - 减少重复建设,形成可复用能力 - 提升行业数据流通与治理能力 - 推动厂商、医院、科研机构基于统一底座协同创新 ### 组合价值定位 | 能力 | 说明 | |------|------| | 统一标准 | 编码、结构、交换、指标统一 | | 统一底座 | 业务应用与交换能力共同构建 | | 生态可扩展 | 开放插件、开放接口、低成本集成 | | 可持续国产化能力 | 不依赖专有源代码,避免厂商锁定 | ### 基于DHIS2的区域卫生健康信息平台 **核心能力:** - 元数据驱动:快速构建业务界面、报表与指标 - 区域数据治理:统一编码、统一结构、统一指标体系 - 应用快速构建:可配置App、工作表单、数据集 - 生态集成:支持FHIR、REST、CSV、XML等接口标准 ### 多标准交换平台(集成引擎) **能力特性:** - HL7 / FHIR / EDI / XML / JSON多格式支持 - 通道式可视化编排 - 强大的路由、转换与脚本能力 - 医疗级安全合规:加密、审计、日志留痕 - 支持医院内部与区域之间的数据互联 **典型应用:** - 区域交换中心 - 公共体数据互通 - 医院接口总线(HIS/LIS/RIS) - 医疗设备集成与采集 ### 典型建设路径 1. **顶层设计**:标准体系、数据体系、接口体系 2. **数据治理**:元数据、业务字典、指标体系整理 3. **应用构建**:DHIS2驱动业务应用配置 4. **交换中心**:集成引擎接入HIS/LIS/RIS及区域平台 5. **生态运营**:引导本地企业基于平台共同创新 --- ## 项目价值观 - **社区驱动开发** — 通过全球协作推动创新 - **厂商中立** — 摆脱专有约束,不依赖专有源代码 - **安全与合规** — HIPAA/GDPR兼容架构 - **可持续性** — 开源不仅是一种技术模式,更是一种治理模式和创新机制,为行业打造一个可持续、可扩展、可协同的数字化底座,支撑未来的卫生健康治理体系现代化 --- ## 开源商业模式与可持续生态 - **开源 + 服务模式**(实施、运维、支持) - **企业增强版**(安全加固、专属功能) - **行业专版与分发版** - **区域云服务**(OpenSaaS) - **合作伙伴与生态共建** - **数据能力服务与行业平台运营** --- ## 社区与治理 通过以下方式参与社区和项目: - 🌐 **网站**:[openintegrationengine.org](https://openintegrationengine.org) - 💬 **Discord**:[加入我们的服务器](https://discord.gg/azdehW2Zrx) - 📂 **GitHub仓库**:[github.com/OpenIntegrationEngine/engine](https://github.com/OpenIntegrationEngine/engine) - 📥 **版本发布**:[最新发布](https://github.com/OpenIntegrationEngine/engine/releases) - 🗳️ **治理**:[治理文档](https://github.com/OpenIntegrationEngine/governance) - 🐳 **Docker Hub**:[OpenIntegrationEngine on Docker Hub](https://hub.docker.com/u/openintegrationengine) - 🔗 **LinkedIn**:[关注我们](https://www.linkedin.com/company/open-integration-engine) 治理结构透明且包容,决策由社区集体做出,以反映社区的最佳利益。 --- ## 历史与路线图 在 **Mirth Connect** 转向专有模式之后分叉而来,本项目延续了开放医疗集成的传统。该引擎经历了长期的开发,实现了稳定性和高效率,是一个经过生产验证的强大系统。 ### 路线图 **短期目标** - 稳定代码库 - 完善文档和用户指南 - 扩大社区参与 - 加强多语言支持 **长期愿景** - 支持新的医疗健康标准(FHIR R5、新兴配置文件) - 增强管理员界面的用户体验/界面 - 扩展插件生态系统 - 深化与DHIS2及其他开放健康平台的集成 - 构建区域云部署能力(OpenSaaS) - 拓展数据能力服务与行业平台运营 --- ## 许可协议 基于 **Mozilla Public License 2.0**(MPL 2.0)许可。详见 [LICENSE](./LICENSE)。 作为开源软件,用户受益于全球医疗健康专业人员的广泛贡献和测试。问题得到快速解决,社区的投入使解决方案更加有用和用户友好。 --- ## 致谢 特别感谢原 **Mirth Connect** 团队、**DHIS2** 社区,以及更广泛的开源医疗健康集成社区,感谢他们对推进全球医疗健康互操作性所做的贡献。