Open soniharshil54 opened 1 year ago
You can create your own http server, pass incoming HL7 message to parser, build and send back the ack.
import moment from 'moment';
import {Message, Parser} from 'simple-hl7';
function parseHL7(raw) {
// parse HL7 message
let parser = new Parser({ segmentSeperator: '\r' })
let hl7 = parser.parse(raw);
// fallback: process regular line break
if (!hl7.getSegment('PV1')) {
parser = new Parser({ segmentSeperator: '\n' })
hl7 = parser.parse(raw);
}
// build HL7 acknowledge message
var ack = new Message(
hl7.header.getField(3),
hl7.header.getField(4),
hl7.header.getField(1),
hl7.header.getField(2),
moment().format('YYYYMMDDHHmmss'),
'',
['ACK', hl7.header.getComponent(7, 2), 'ACK'],
'ACK' + moment().format('YYYYMMDDHHmmss'),
'P',
hl7.header.getField(10),
);
ack.addSegment("MSA", "AA", hl7.header.getField(8))
return ack.toString()+'\n'
}
I'm reaching out to see if there's any interest or plans in adding support for receiving HL7 messages over HTTP. I've got scenarios where receiving HL7 via HTTP POST would fit the bill perfectly.