HL7 Encoding/Separator 个字符
HL7 Encoding/Separator Characters
关于HL7竖线分隔数据,编码字符(|^~\&)具体是如何工作的?
在解析原始 HL7 数据时,以下字段、字段重复、组件及其子组件的示例是否正确?
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 =
如果不了解您尝试分配内容的 left-hand 副结构,就不可能告诉您您做的是否正确。
然而,有一种正确的方法可以解析有问题的 segment/field。
Here's a link to the specs I reference here
来自 HL7v2.7 标准的第 2.5.3 节:
Each field is assigned a data type that defines the value domain of the field – the possible values that it may
take.
如果您打开第 3.4.2.13 节 (PID-13),您将看到每个组件和子组件的细分。从技术上讲,子组件和组件的含义可能因领域而异,但大多数情况下它们只是因数据类型而异。
在您的示例中,您没有将重复视为 XTN 数据类型的单独实例。我会 re-write 像这样使用数组语法:
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-code 也可能有帮助
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 的顺序很重要。第一次重复是 "primary"。随着时间的推移,该字段也成为 e-mail 地址、寻呼机号码等的登陆点。祝你好运,试图从 real-world 数据中理解。
关于HL7竖线分隔数据,编码字符(|^~\&)具体是如何工作的?
在解析原始 HL7 数据时,以下字段、字段重复、组件及其子组件的示例是否正确?
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 =
如果不了解您尝试分配内容的 left-hand 副结构,就不可能告诉您您做的是否正确。
然而,有一种正确的方法可以解析有问题的 segment/field。
Here's a link to the specs I reference here
来自 HL7v2.7 标准的第 2.5.3 节:
Each field is assigned a data type that defines the value domain of the field – the possible values that it may take.
如果您打开第 3.4.2.13 节 (PID-13),您将看到每个组件和子组件的细分。从技术上讲,子组件和组件的含义可能因领域而异,但大多数情况下它们只是因数据类型而异。
在您的示例中,您没有将重复视为 XTN 数据类型的单独实例。我会 re-write 像这样使用数组语法:
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-code 也可能有帮助
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 的顺序很重要。第一次重复是 "primary"。随着时间的推移,该字段也成为 e-mail 地址、寻呼机号码等的登陆点。祝你好运,试图从 real-world 数据中理解。