分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

openmrs/openmrs-core

数据

为开发者提供免费、模块化的 Java 平台,用来构建以患者为中心的电子病历系统。

1,956
4,458
Java
NOASSERTION
创建于 14 年前

OpenMRS Core 是一个免费、可定制的、以患者为中心的电子病历系统的 API 与 Web 应用代码,目标是改善资源受限环境下的医疗服务质量。它更适合打算自建或扩展 EMR 的团队,而不是直接使用成品医院系统的用户:核心本身是平台,业务功能主要通过模块补齐。

提供什么、怎么运作

仓库构建 Java API jar 和可部署的 openmrs.war Web 应用,运行在 Tomcat 或 Jetty 这类 Servlet 容器上。源码分为 api、web、webapp 和仅用于构建的 tools,因此核心数据与服务层可以独立于打包的 Web UI 使用。

可扩展性是它的关键机制。模块化架构允许不同实施按需增删功能;项目建议开发者先去现有模块库查找,找不到再按模块开发文档自行编写 模块扩展。这让通用的 EMR 核心能够变成具体机构使用的病历系统。

运行方式

  • 本地 Maven 构建: 需要 Java JDK(master 分支最低版本 8)、Maven 和 Git。构建会生成 webapp/target/openmrs.war,可部署到 Tomcat 或 Jetty;开发时也可直接用 Jetty 或 Cargo 启动 构建与部署。
  • Docker: 唯一前提是 Docker。仓库提供开发和生产 compose 文件,CI 也会发布镜像;但 README 仍将 Docker 构建描述为进行中的工作,并说明改动代码后需要重新构建并重启容器 Docker 构建。
  • 可选后端: ElasticSearch 可以替代内置的 Lucene 索引,切换后需要重建搜索索引;也可以通过额外 compose 文件接入 Grafana 做日志监控 README。

实际使用条件

这是一个需要自行部署的 Java 应用:要准备应用服务器或容器运行时,以及匹配的 JDK。Docker 路径降低了工具门槛,但项目明确没有把它当作适合频繁改动的稳定工具。核心是平台,需要靠模块组装业务功能,而不是开箱即用的临床配置。

仓库采用带健康声明的 MPL 2.0 许可 许可。Star 和 fork 数量不能证明临床适用性;应结合模块、数据处理方式和自身部署环境,对照项目文档进行评估 OpenMRS wiki。

本文由 AI 根据项目 README 生成,更新于 2026年10月30日,以项目官方文档为准。