首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HL7编码/分隔符字符

HL7编码/分隔符字符
EN

Stack Overflow用户
提问于 2018-03-19 22:16:35
回答 1查看 2K关注 0票数 0

对于HL7管道分隔的数据,编码字符(x^~&)究竟是如何工作的?

是解析原始HL7数据?时字段、字段重复、组件及其子组件正确的示例。

代码语言:javascript
复制
PID|1||||||||||||1234567890^somedata&moredata^TESTEMAIL@GMAIL.COM~0987654321

Field (|): 
PID13 = 1234567890^somedata&moredata^TESTEMAIL@GMAIL.COM~0987654321

Field repetition (~): 
PID13~1 = 1234567890^somedata&moredata^TESTEMAIL@GMAIL.COM
PID13~2 = 0987654321 

Component (^):
PID13.1 = 1234567890
PID13.2 = somedata&moredata
PID13.3 = TESTEMAIL@GMAIL.COM

Sub-component (&):
PID13.2.1 = somedata
PID13.2.2 = moredata
PID13.3.1 = TESTEMAIL@GMAIL.COM
PID13.3.2 = 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-21 21:12:45

如果不了解你想要分配的东西的左边结构,就不可能告诉你你做的对不对。

然而,有一种正确的方法可以解析所讨论的段/字段。

这里有一个指向我参考的规范的链接

来自HL7v2.7标准第2.5.3节:

每个字段都被分配一个数据类型,该类型定义字段的值域--它可能采取的值。

如果您拉出3.4.2.13 (PID-13)部分,您将看到每个组件和子组件的故障。从技术上讲,子组件和组件的含义可能因字段而异,但大多数情况下它们只是因数据类型而有所不同。

在您的示例中,您不将重复处理为XTN数据类型的单独实例。我将使用数组语法重写如下:

代码语言:javascript
复制
Field repetition (~): 
PID13[0] = 1234567890^somedata&moredata^TESTEMAIL@GMAIL.COM
PID13[1] = 0987654321 

Component (^):
PID13[0].1 = 1234567890
PID13[0].2 = somedata&moredata
PID13[0].3 = TESTEMAIL@GMAIL.COM

Sub-component (&):
PID13[0].2.1 = somedata
PID13[0].2.2 = moredata

同一规范第2.6.1节中的psuedo代码也可能有帮助。

代码语言:javascript
复制
foreach occurrence in ( occurrences_of( field ) ) {
  construct_occurrence( occurrence );
  if not last ( populated occurrence ) insert repetition_separator;
    /* e.g., ~ */
}

重要的是要记住,这些不同的子组件有不同的含义,因为PID-13是一种XTN类型。

PID-13是一个有问题的例子,因为在历史上,PID-13的顺序很重要.第一次重复是“主要的”。随着时间的推移,该领域也已经成为电子邮件地址、寻呼机号码等的登陆地。因此,祝你好运,努力从现实世界的数据中弄清楚。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49373288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档