因此,我正在研究为现有 EMR 构建客户端界面的方法。我已经阅读了大量关于 HL7 的信息以及各种编码方案,但我仍然一无所知。
对于以前使用 EMR 的任何人:是否可以构建一个可以使用 HTTP-POST 和 HTTP-GET 请求将数据拉/推到服务器数据库的 Web 界面?或者您是否会为客户端创建一个单独的数据库,例如 Web 应用程序,然后使用 Mirth 之类的接口引擎在 EMR 数据库和 Web 应用程序之间进行通信?
我不明白你为什么不能这样做。您需要构建 Web 服务来处理具有特定 Uri 的请求。调用此 Uri 时,Web 服务使用随请求发送的数据在数据库中进行更改。
一旦构建了 Web 服务,您就可以构建某种前端来向用户显示您的信息。并进行 HTTP-GET 和 HTTP-POST 调用。
您正在尝试做的事情有很多灵活性……所以一定要制定一个计划。
一般来说,尽管您应该能够通过构建自己的 Web 服务和能够操作 EMR 数据库的前端应用程序来完成您需要做的事情。
Web 服务 API 绝对是一种方法。这样做的一个好处是,您可以获得几乎开箱即用的 https 来加密传输中的数据。
我们配置 EMR 的方式是我们有一个 tcp 服务器接受来自某些 IP 的传入 hl7 消息,这些 IP 直接连接到我们的 EMR 数据库。这可以通过分离 emr 和接口进程来实现(例如,如果接口出现故障,您不必重新启动整个 EMR)。
另一个好的特性是有一个用于伪身份验证的令牌系统。这仅在您通过安全连接时才有效。
如果您不喜欢编写自己的 tcp 服务器(不是那么难),那么基于 api 的服务器可能也一样好。
编辑:你认为你会使用什么语言?
您可能会遇到的其他事情:
这实际上取决于您的架构和要求。
架构 1 如果您希望您的客户端基于 Web,但您的客户端是与后端分离的应用程序,则 Web 使用 HTTP 将信息发送到您的客户端应用程序服务器端,然后将信息发送到您的 EHR 后端(另一个应用程序)。第二次通信可能是使用标准编写的,这将有助于您将来将更多系统与后端集成。所以那个接口可以是基于HL7的,如果使用HL7 v2.x,看一下MLLP协议:http ://www.hl7.org/implement/standards/product_brief.cfm?product_id=55
这是传输 HL7 数据的最高效方式。如果你不想处理 TCP,有一个建议 HL7 v2.x over HTTP。HAPI 实现了:http ://hl7api.sourceforge.net/hapi-hl7overhttp/
如果您不想使用 HL7 v2.x 而是使用 HL7 v3(不同的标准,而不是真正的 2.x 版本)或 CDA,则可以使用 HTTP 或 SOAP。
架构 2 但是,如果您希望您的客户端只是用户端(浏览器)的 UI,则 HTTP POST 足以将信息从浏览器发送到服务器。这意味着您的 EHR 是带有网络 iu 的集中式 EHR。
在第一种架构案例中,您可能会有多个客户端应用程序(完整的 EMR 应用程序)和一个后端 EHR 服务器(集中式后端)。在我的开发中,我遵循第二种架构。
此外,Mirth 可能有助于管理客户端应用程序和后端应用程序之间的所有通信。在第二种情况下,使用 Mirth 是胡说八道,只是一个 Web 应用程序,客户端直接与 Web 服务器通信。当然,您可以将 Mirth 用作 Web 服务器,但这不是它的作用,它是 ESB 而非 Web 服务器。
希望有帮助!