@Override public UnparsedHL7Message onMessage(HL7Application hl7App, Connection conn, Socket s, UnparsedHL7Message msg) throws HL7Exception { return new UnparsedHL7Message( HL7Message.makeACK(msg.msh(), HL7Exception.AA, null).getBytes(null)); } }
private UnparsedHL7Message onMessage(UnparsedHL7Message msg) throws Exception { if (storageDir != null) storeToFile(msg.data(), new File( new File(storageDir, msg.msh().getMessageType()), msg.msh().getField(9, "_NULL_"))); return new UnparsedHL7Message(tpls == null ? HL7Message.makeACK(msg.msh(), HL7Exception.AA, null).getBytes(null) : xslt(msg)); }
private UnparsedHL7Message onMessage(UnparsedHL7Message msg) throws Exception { if (storageDir != null) storeToFile(msg.data(), new File( new File(storageDir, msg.msh().getMessageType()), msg.msh().getField(9, "_NULL_"))); return new UnparsedHL7Message(tpls == null ? HL7Message.makeACK(msg.msh(), HL7Exception.AA, null).getBytes(null) : xslt(msg)); }
public void query(String pid, String[] domains) throws IOException { HL7Message qbp = HL7Message.makePixQuery(pid, domains); HL7Segment msh = qbp.get(0); msh.setSendingApplicationWithFacility(sendingApplication); msh.setReceivingApplicationWithFacility(receivingApplication); msh.setField(17, charset); mllp.writeMessage(qbp.getBytes(charset)); if (mllp.readMessage() == null) throw new IOException("Connection closed by receiver"); } }
public void query(String pid, String[] domains) throws IOException { HL7Message qbp = HL7Message.makePixQuery(pid, domains); HL7Segment msh = qbp.get(0); msh.setSendingApplicationWithFacility(sendingApplication); msh.setReceivingApplicationWithFacility(receivingApplication); msh.setField(17, charset); mllp.writeMessage(qbp.getBytes(charset)); if (mllp.readMessage() == null) throw new IOException("Connection closed by receiver"); } }
public void run() { try { s.setSoTimeout(conn.getIdleTimeout()); MLLPConnection mllp = new MLLPConnection(s); byte[] data; while ((data = mllp.readMessage()) != null) { HL7ConnectionMonitor monitor = hl7dev.getHL7ConnectionMonitor(); UnparsedHL7Message msg = new UnparsedHL7Message(data); if (monitor != null) monitor.onMessageReceived(conn, s, msg); UnparsedHL7Message rsp; try { rsp = hl7dev.onMessage(conn, s, msg); if (monitor != null) monitor.onMessageProcessed(conn, s, msg, rsp, null); } catch (HL7Exception e) { rsp = new UnparsedHL7Message( HL7Message.makeACK(msg.msh(), e).getBytes(null)); if (monitor != null) monitor.onMessageProcessed(conn, s, msg, rsp, e); } mllp.writeMessage(rsp.data()); } } catch (IOException e) { LOG.warn("Exception on accepted connection {}:", s, e); } finally { conn.close(s); } } }