api: 测试: 工具: web: webapp:
OpenMRS 是一个基于患者的医疗记录系统,专注于为提供商提供免费的可定制电子医疗记录系统 (EMR)。
OpenMRS 的使命是通过协调全球社区来创建强大的、可扩展的、用户驱动的开源医疗记录系统平台,从而改善资源有限环境中的医疗保健服务。
OpenMRS 是一个 Java 应用程序,这就是您需要安装 Java JDK 的原因。
如果你想构建 master 分支,你将需要一个最低版本为 8 的 Java JDK。
安装构建工具 Maven。
您需要确保 Maven 使用您想要构建的分支所需的 Java JDK。
为此执行
mvn -version
它会告诉你 Maven 正在使用什么版本。如果需要配置 Maven,请参阅 Maven 文档。
安装版本控制工具 git 并使用以下命令克隆此存储库
git clone https://github.com/openmrs/openmrs-core.git
满足先决条件后
执行以下命令
cd openmrs-core
mvn clean package
这将在webapp/target/openmrs.war
中生成 OpenMRS 应用程序,您必须将其部署到应用程序服务器(例如 tomcat 或 jetty)中。
出于开发目的,您可以通过以下方式简单地将openmrs.war
部署到应用程序服务器码头中
cd openmrs-core/webapp
mvn jetty:run
如果一切顺利(检查控制台输出),您可以通过localhost:8080/openmrs
访问 OpenMRS 应用程序。
有关有用的 Maven 命令和构建选项的更多信息,请参阅开发人员入门 - Maven。
Docker 构建仍在进行中。我们感谢对该流程的任何反馈和改进。
唯一需要的先决条件是 Docker。
为了构建开发版本,请运行:
docker-compose build
它默认调用mvn install
。如果您想自定义 mvn 构建参数,可以通过运行以下命令来实现:
docker-compose build --build-arg MVN_ARGS= ' install -DskipTests '
还可以使用构建的开发映像来运行 jetty:
docker-compose up
为了构建生产版本,请运行:
docker-compose -f docker-compose.yml build
它首先构建开发映像,然后使用 Tomcat 和 openmrs.war 构建映像。它没有开发依赖性。
生产版本可以通过以下方式运行:
docker-compose -f docker-compose.yml up
如果要调试,则需要运行开发版本并将调试器连接到默认公开的端口 8000。
不幸的是,此时任何代码更改都需要完全重新启动并重建 docker 容器。要加快该过程,请使用:
docker-compose build --build-arg MVN_ARGS= ' install -DskipTests '
docker-compose up
我们正在努力提供对 Spring Boot 自动重新加载功能的支持,一旦准备好,将在此处记录。
还可以部署由我们的 CI 构建的映像,该映像发布于 https://hub.docker.com/r/openmrs/openmrs-core
您可以运行任何可用的标签:
TAG=nightly docker-compose -f docker-compose.yml up
还可以使用以下命令运行映像的开发版本:
TAG=dev docker-compose up
所有开发版本都包含 dev 后缀。缓存后缀供我们的 CI 使用。
项目树设置如下:
接口/ | 用于构建 java api jar 文件的 Java 和资源文件。 |
工具/ | 编译和测试期间使用的元代码。不进入任何已发布的二进制文件(如 doclet)。 |
网络/ | webapp/war 文件中使用的 Java 和资源文件。 |
网络应用程序/ | 用于构建 war 文件的文件(包含旧版本上的 JSP 文件)。 |
pom.xml | 用于构建和打包 OpenMRS 的主 Maven 文件。 |
要快速开发模块和 OpenMRS 平台代码,请查看以下很棒的 SDK:
https://wiki.openmrs.org/display/docs/OpenMRS+SDK
OpenMRS 具有模块化架构,允许开发人员通过创建可轻松添加或删除的模块来扩展 OpenMRS 核心功能,以满足特定实现的需求。
在创建您自己的模块之前,请转到 OpenMRS 模块存储库并查看是否已有适合您的特定用例的模块。如果是这样,请部署并尝试它,如果缺少功能,请加入模块的开发人员以添加功能。
如果您尚未找到所需内容,请参阅模块 - wiki 以了解如何创建新模块。
如果您想做出贡献,请参阅这些资源
如果您正在寻找有关如何安装、配置、贡献和扩展 OpenMRS 的详细指南,请访问
http://wiki.openmrs.org
如果您正在寻找有关 OpenMRS 作为组织的更多信息,请查看
http://openmrs.org
非常欢迎您的贡献,我们绝对需要您的帮助!
OpenMRS 在开发者阶段组织其贡献者的权限,这些权限记录在此处。
请阅读以下部分,了解您可以在哪些方面提供帮助。
查看我们的贡献指南,通读开发人员指南。
读完之后?抓住一本Ready For Work
介绍性问题。
您可能没有时间自行开发,但有足够的 OpenMRS 和/或审查代码经验,我们将非常感谢您在代码审查方面的帮助!
读
https://wiki.openmrs.org/display/docs/Code+Review
并开始使用 re-:eyes: pull requests!
我们使用
https://www.transifex.com/openmrs/OpenMRS/
管理我们的翻译。
此存储库中的messages.properties
文件是我们的唯一事实来源。它包含默认英语的键值对。
Transifex 每晚都会获取此文件的更新,然后您和我可以在 Transifex 网站本身上进行翻译。我们可以随时将新翻译从 transifex 拉回此存储库。其他语言如 for ex。西班牙语将出现在messages_es.properties
文件中。
如果您想了解如何帮助翻译,请参阅
http://openmrs.org/join-the-community/translate/
如果您需要帮助解决现有问题或发现错误并想告诉我们,请访问
https://issues.openmrs.org
通过 OpenMRS Talk 与我们交谈
MPL 2.0 带高清 © OpenMRS Inc.