工程

数据方法:关注点的多元化第二部分

发表于三月28,2018
尼克·哈特(Nick Hatt)
在Redox,我们着手解决一个巨大的问题:互操作性。一世’我偷了我一直以来最喜欢的博客文章之一的标题– Dharma’s great 为何互操作性很难:关注的多重性。它’深入探讨如何从头开始构建互操作性堆栈。我想集中on a different angle: in addition to the concerns Dharma has, I also need to scale across multiple EHRs.
最初的关注点:
我们需要对我们的数据增加一些担忧’重新获取以及我们获取数据的方法。

 

场景:通过MLLP接收HL7v2

如果你读佛法’s 文章, you’我将了解,要建立一个用于接收数据的连接会花费很多工作。一旦有了这些数据,您仍然需要了解它。
您可能从某种看起来像这样的管道开始。您读入数据,解析HL7,将字段转换为数据库可以理解的内容(M-> Male, F ->例如女性),然后将其存储。

解析HL7

您可能会查看示例HL7v2消息并说“管道,插入符号,是的,我知道了”。实际上,HL7v2的简单语法隐藏了一个复杂得多的模型。 在最近的堆栈溢出答案中 我弄清楚了为什么像Mirth don这样的现成工具’做好这件事。此外,大多数人不’不必阅读《 HL7v2规格 其中概述了所有极端情况,例如转义序列,连续指针,批处理消息和我最喜欢的情况: 您想知道的有关HL7中字符编码的所有信息.
解析的最佳开源选项可能是 HAPI,甚至在字符编码之类的事情上,您也可以完成大部分工作。
即使您进行分析,您仍然必须处理来自其他系统的更改数据。升级可能会切换到将数据发送到的位置,或者将在您没有意识到的情况下添加新的段。
让’s say that you’再次成功,您的团队就会使用HL7v2模型,并且可以适应变化。接下来,您需要解决一致性问题。

规范化数据

看一下HL7v2规范第3章中的PID段规范。
如果您想在哪里找到患者标识符,您会去哪里?
如果您猜中PID-2,PID-3或PID-4,则不会’错了。在某个时间点,所有三个都有效。现在,建议对所有标识符使用PID-3。那不’阻止人们重复使用多个字段。
您可以逐案查看在哪里可以解决此一致性问题。但是我们如何以一种可配置的方式更广泛地解决它,’会降低您的实施速度吗?氧化还原有自己的 DSL 我们只是称呼“Configurations”为我们解决了这个问题,但是当我们’重新上线新的卫生系统。

填充数据库

一旦您’我们建立了一种模式和工具,以使进入系统的数据保持一致–您仍然需要将其归档。
您如何在内部代表临床概念?你用HL7吗’诸如订单和观察之类的东西如何组合的模型?您的团队在添加新字段(例如“患者”表)时会遵循什么样的流程?谁来决定应使用哪种编码来存储过敏,药物和问题?
HL7针对其中一些问题提出建议– for example see FHIR用药。但是,SNOMED代码列表是否将是最适合最终用户使用的代码?您如何表示需要在代码集之间进行一对多类型的映射?
当代码集更改时,您将如何管理,例如 ICD-9至ICD-10 过渡。您是否必须将大量数据迁移到新格式?

关注的氧化还原复数

从一开始我们’我对医疗网络的愿景是通过中央枢纽解决许多这些问题。它’建立围绕解决这些问题的工具非常令人兴奋,而我’成为第一个承认我们的人’只刮擦表面。
I’我只是以佛法来结束’s conclusion:
这是我们在Redox所做的工作。好消息是我们正在考虑我们所关注的多个问题,并且我们在设计中尽可能做到了这一点。满足所有这些期望既艰巨又令人激动。这是我们空间的本质,这就是为什么我们做我们做的事情。