我们目前从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_NO
,CODE1
插入CODE2
等等。
我应该如何首先从消息中的多个I22.8
段循环捕获这些代码?然后我应该如何将它存储在数据库中?
谢谢
您可以像这样迭代这些段
CODE 1
对于每个细分,您将进行插入。
除此之外,我认为通过添加variable1,variable2,variable3来在同一行中创建更多列并不是一个好主意,因为它没有规范化,也不是一个好的数据库设计实践。