向PostgreSQL添加HL7版本3数据类型
Adding HL7 version 3 data types to PostgreSQL
摘要:
HL7标准被广泛用于以电子方式交换医疗信息。作为标准的一部分,HL7定义了标量通信数据类型,如物理量、时间点和概念描述符,但也定义了复杂类型,如间隔类型、集合类型和概率类型。典型的HL7应用程序将它们的通信存储在数据库中,从而导致从HL7概念和类型到数据库类型的转换。由于这些数据类型并不是为在关系数据库服务器中实现而设计的,因此这种转换很麻烦,并且充满了程序员错误。本文的目的有二。首先,我们分析HL7版本3数据类型定义,并定义必须满足的一些条件,使数据类型适合在关系数据库中实现。作为这种分析的结果,我们描述了一些可能的改进HL7规范。其次,我们描述了PostgreSQL数据库服务器中的实现,并表明该数据库服务器可以有效地执行科学计算与测量单位,支持大量的操作的时间点和间隔,并可以执行类似于医疗术语服务器的操作。合成数据上的实验表明,用户定义的类型比只使用数据库服务器中的标准数据类型的实现执行得更好。
英文摘要:
The HL7 standard is widely used to exchange medical information electronically. As a part of the standard, HL7 defines scalar communication data types like physical quantity, point in time and concept descriptor but also complex types such as interval types, collection types and probabilistic types. Typical HL7 applications will store their communications in a database, resulting in a translation from HL7 concepts and types into database types. Since the data types were not designed to be implemented in a relational database server, this transition is cumbersome and fraught with programmer error. The purpose of this paper is two fold. First we analyze the HL7 version 3 data type definitions and define a number of conditions that must be met, for the data type to be suitable for implementation in a relational database. As a result of this analysis we describe a number of possible improvements in the HL7 specification. Second we describe an implementation in the PostgreSQL database server and show that the database server can effectively execute scientific calculations with units of measure, supports a large number of operations on time points and intervals, and can perform operations that are akin to a medical terminology server. Experiments on synthetic data show that the user defined types perform better than an implementation that uses only standard data types from the database server.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。