From 3a4947e30ff650c1768fc5671472efce6f6ee864 Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Thu, 26 Nov 2015 15:24:10 +0100 Subject: [PATCH] Schreibe wirklich alle(!) HL7 Nachrichten in die DB. NullPointer abgefangen. --- src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Receiver.java | 11 ++++++++++- src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java | 5 ++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Receiver.java b/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Receiver.java index 509c47b..fbd3a55 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Receiver.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Receiver.java @@ -71,7 +71,14 @@ public class HL7Receiver implements ReceivingApplicat */ private Message generateACK(Message message) throws HL7Exception { try { - return message.generateACK(); + Message returnMessage = message.generateACK(); + HL7LogEntry entry = new HL7LogEntry(); + entry.setMessage(returnMessage.encode()); + entry.setSource("127.0.0.1:1234"); // TODO: Naja... + entry.setTimestamp(LocalDateTime.now()); + entry.setDirection(HL7LogEntry.Direction.OUT); + HL7Utils.logHL7MessageToDatabase(entry); + return returnMessage; } catch (IOException e) { throw new HL7Exception(e); } @@ -176,6 +183,8 @@ public class HL7Receiver implements ReceivingApplicat hist.setEntlassungsDatum(HL7Utils.parseLocalDateTime(pv1.getDischargeDateTime()[0].getTime())); } hist.setFallID(fallid); + hist.setErsteller(99999); + hist.setBearbeiter(99999); //diagnosis List dg1s = visit.getDG1All(); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java b/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java index fc273f6..64a3c7b 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Sender.java @@ -74,7 +74,10 @@ public class HL7Sender { pv1.getPv11_SetIDPV1().setValue("1"); pv1.getPv12_PatientClass().setValue("U"); pv1.getPv119_VisitNumber().getIDNumber().setValue(String.valueOf(fall.getFallID())); - pv1.getPv144_AdmitDateTime().getTime().setValue(Date.from(fall.getAufnahmeDatum().atZone(ZoneId.systemDefault()).toInstant())); + // TODO: Was machen wir mit ambulanten? + if (fall.getAufnahmeDatum() != null) { + pv1.getPv144_AdmitDateTime().getTime().setValue(Date.from(fall.getAufnahmeDatum().atZone(ZoneId.systemDefault()).toInstant())); + } for (int i = 0; i < diagnosen.size(); i++) { Diagnose diagnose = diagnosen.get(i);