如何从重复的HL7段捕获和存储数据?

问题描述 投票:0回答:1

我们目前从HL7消息中捕获数据,如下所示,然后将其插入数据库中。这很容易,因为它是来自单个细分市场的价值

var vACC_NO =checkSize("ACC",msg['PID']['PID.3']['PID.3.1'].toString(),20);
INSERT INTO adt_tab ( SITEID,ACC_NO) VALUES (vSITEID,vACC_NO);

现在我需要捕获DG1段数据,其中我们在DG1消息中有多个HL7段。而且还需要存储在数据库中

| DG1        |            1 | ICD10 | I22.8^MYOCARDIAL INFARCT^ICD10 | MYOCARDIAL |               |   |  |  |  |  |   |  |  |  |   |
| INFARCTION | 201702010437 | B     |                                |            |               |   |  |  |  |  | 7 |  |  |  |   |
| DG1        |            2 | ICD10 | A44.9^ORGANISM^ICD10           | ORGANISM   | 20170201 0437 | B |  |  |  |  |   |  |  |  | 7 |

所以在我的数据库表中我现在有更多列 - qazxsw poi,qazxsw poi,qazxsw poi,qazxsw poi ...从上面的消息我需要将SITEID插入ACC_NOCODE1插入CODE2等等。

我应该如何首先从消息中的多个I22.8段循环捕获这些代码?然后我应该如何将它存储在数据库中?

谢谢

hl7 mirth
1个回答
0
投票

您可以像这样迭代这些段

CODE 1

对于每个细分,您将进行插入。

除此之外,我认为通过添加variable1,variable2,variable3来在同一行中创建更多列并不是一个好主意,因为它没有规范化,也不是一个好的数据库设计实践。

© www.soinside.com 2019 - 2024. All rights reserved.