使用node.js将数据发送到HL7服务器的问题

时间:2018-01-05 06:29:19

标签: javascript node.js sockets hl7 mllp

我只是想使用node.js创建一个简单的HL7 MLLP客户端 我做了一些代码,通过socket创建与HL7服务器的连接。它将一些数据发送到服务器。然后它等待一些答案。出于测试目的,我使用HAPI TestPanel 2.0.1。 所以,我有一个问题。当我使用我的脚本将数据发送到HAPI TestPanel时,测试面板不会回答我。在testpanel的日志中,它说我的客户端已连接到它而不是什么。当我打开testpanel中的调试选项时,Log表示testpanel从我的客户端收到了字节,然后没有其他内容。 我的剧本有什么问题? 任何人都可以帮助我吗?

谢谢!

这是我的剧本:

const net = require('net');
const VT = String.fromCharCode(0x0b);
const FS = String.fromCharCode(0x1c);
const CR = String.fromCharCode(0x0d);
const clientOptions = {
    host: '127.0.0.1',
    port: 49360
};
const client = net.createConnection(clientOptions, () => {
    var reqdata = 'MSH|^~\\&|HOSP|HIS|HOSP|PACS|20180104150804||ORM^O01|1|T|2.3\nZDS|1.2.398.7.1.1.2.494.0.1^^Application^DICOM';
    reqdata = VT + reqdata + CR + FS + CR;
    console.log(`${new Date()} connected to HL7 server!`);
    console.log(reqdata);
    client.write(new Buffer(reqdata, encoding = "utf8"));
});
client.on('data', (data) => {
    var ansData = data.toString();
    console.log(`${new Date()} HL7 answer data: ${ansData}`);
    client.end();
});
client.on('error', (err) => {
    var reqerror = `${new Date()} problem with request: ${err.message}`;
    console.error(reqerror);
    client.end();
    console.log(`${new Date()} disconnected from HL7 server`);
});
client.on('end', () => {
    console.log(`${new Date()} disconnected from HL7 server`);
});

以下是testpanel日志的屏幕截图:

HAPI Log

1 个答案:

答案 0 :(得分:1)

嗯,你正在写MLLP:

reqdata = VT + reqdata + CR + FS + CR;

虽然不需要第一个CR,但以下是正常的:

reqdata = VT + reqdata + FS + CR;

但是,在HAPI测试面板上收到的消息看起来很乱。消息在某处是HTML格式。检查您的代码以保持简单文本。