Department of Biomedical Engineering, Linköping University, Linköping 581 85, Sweden.
BMC Med Inform Decis Mak. 2013 May 9;13:57. doi: 10.1186/1472-6947-13-57.
The openEHR project and the closely related ISO 13606 standard have defined structures supporting the content of Electronic Health Records (EHRs). However, there is not yet any finalized openEHR specification of a service interface to aid application developers in creating, accessing, and storing the EHR content.The aim of this paper is to explore how the Representational State Transfer (REST) architectural style can be used as a basis for a platform-independent, HTTP-based openEHR service interface. Associated benefits and tradeoffs of such a design are also explored.
The main contribution is the formalization of the openEHR storage, retrieval, and version-handling semantics and related services into an implementable HTTP-based service interface. The modular design makes it possible to prototype, test, replicate, distribute, cache, and load-balance the system using ordinary web technology. Other contributions are approaches to query and retrieval of the EHR content that takes caching, logging, and distribution into account. Triggering on EHR change events is also explored.A final contribution is an open source openEHR implementation using the above-mentioned approaches to create LiU EEE, an educational EHR environment intended to help newcomers and developers experiment with and learn about the archetype-based EHR approach and enable rapid prototyping.
Using REST addressed many architectural concerns in a successful way, but an additional messaging component was needed to address some architectural aspects. Many of our approaches are likely of value to other archetype-based EHR implementations and may contribute to associated service model specifications.
openEHR 项目和密切相关的 ISO 13606 标准定义了支持电子健康记录 (EHR) 内容的结构。然而,目前还没有任何最终确定的 openEHR 服务接口规范,以帮助应用程序开发人员创建、访问和存储 EHR 内容。本文的目的是探讨如何将代表性状态传输 (REST) 体系结构风格用作独立于平台、基于 HTTP 的 openEHR 服务接口的基础。还探讨了这种设计的相关收益和权衡。
主要贡献是将 openEHR 存储、检索和版本处理语义及其相关服务正式化为可实现的基于 HTTP 的服务接口。模块化设计使得使用普通 Web 技术对系统进行原型设计、测试、复制、分发、缓存和负载均衡成为可能。其他贡献是考虑缓存、日志记录和分发的 EHR 内容查询和检索方法。还探讨了对 EHR 更改事件的触发。最后一个贡献是使用上述方法创建的开放源代码 openEHR 实现,创建了 LiU EEE,这是一个教育性的 EHR 环境,旨在帮助新手和开发人员实验和了解基于原型的 EHR 方法,并实现快速原型制作。
使用 REST 成功地解决了许多体系结构问题,但需要额外的消息传递组件来解决一些体系结构方面的问题。我们的许多方法可能对其他基于原型的 EHR 实现有价值,并可能有助于相关服务模型规范。