Преглед изворни кода

Loggen und aufrufen der GUI/Neue Nachricht.

testBranch
Nils Dittberner пре 10 година
родитељ
комит
f3c0b1d93c
1 измењених фајлова са 27 додато и 7 уклоњено
  1. +27
    -7
      src/main/java/de/uniluebeck/mi/projmi6/hapi2/HL7Receiver2.java

+ 27
- 7
src/main/java/de/uniluebeck/mi/projmi6/hapi2/HL7Receiver2.java Прегледај датотеку

@@ -18,6 +18,7 @@ import de.uniluebeck.mi.projmi6.model.*;

import java.io.IOException;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -85,11 +86,14 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
Patient patient = mainctrl.getStammdaten().getPatienten().stream().filter(p -> p.getPatID() == patid).findFirst().orElse(null);

if (patient == null) {
logHL7MessageToDatabase(message, msh, metadata);
return generateACKWithAR(message, "Patient nicht gefunden.");
}

List<BAR_P05_VISIT> visits = bar_p05.getVISITAll();

List<Integer> updatedFallIDs = new ArrayList<>();

// Ab hier wird es dirty.
for (BAR_P05_VISIT visit : visits) {
PV1 pv1 = visit.getPV1();
@@ -102,6 +106,7 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
e.printStackTrace();
}
if (fallids.isEmpty() || !fallids.contains(fallid)) {
logHL7MessageToDatabase(message, msh, metadata);
return generateACKWithAR(message, "Fall nicht gefunden.");
}

@@ -136,6 +141,7 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
// TODO: Oder einfach ueberspringen?
continue;
// TODO: Behandeln von sonder Codes. K35.9V (Verdacht...)
// logHL7MessageToDatabase(message, msh, metadata);
// return generateACKWithAR(message, "ICD10 Code nicht gefunden.");
}
diagnose.setIcd10code(icd10code);
@@ -146,6 +152,7 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
String einweisenderarzt = dg1.getDiagnosingClinician(0).encode(); // Wir holen uns immer den ersten der verantwortlichen Aerzte... // (DG1-16)
mitarbeiter = mainctrl.getStammdaten().getMitarbeiter().stream().filter(m -> m.getEinweisenderArzt().equals(einweisenderarzt)).findFirst().orElse(null);
if (mitarbeiter == null) {
logHL7MessageToDatabase(message, msh, metadata);
return generateACKWithAR(message, "Mitarbeiter nicht gefunden.");
}
} else {
@@ -182,6 +189,7 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
// TODO: Oder einfach ueberspringen?
continue;
// TODO: Behandeln von sonder Codes.
// logHL7MessageToDatabase(message, msh, metadata);
// return generateACKWithAR(message, "OPS Code nicht gefunden.");
}
untersuchung.setOpscode(opscode);
@@ -194,6 +202,7 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
String einweisenderarzt = pr1.getProcedurePractitioner(0).encode(); // Wir holen uns immer den ersten der verantwortlichen Aerzte...
mitarbeiter = mainctrl.getStammdaten().getMitarbeiter().stream().filter(m -> m.getEinweisenderArzt().equals(einweisenderarzt)).findFirst().orElse(null);
if (mitarbeiter == null) {
logHL7MessageToDatabase(message, msh, metadata);
return generateACKWithAR(message, "Mitarbeiter nicht gefunden.");
}
} else {
@@ -220,16 +229,15 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
e.printStackTrace();
}
});

// Remember welche Faelle geaendert wurden
updatedFallIDs.add(fallid);
}

// HL7 Nachricht loggen.
try {
String sendind_ip = metadata.get("SENDING_IP").toString();
String sendind_port = metadata.get("SENDING_PORT").toString();
DBHandler.setHL7Nachricht(message.encode(), HL7Util2.parseLocalDateTime(msh.getDateTimeOfMessage().getTime()), sendind_ip + ":" + sendind_port);
} catch (SQLException e) {
e.printStackTrace();
}
logHL7MessageToDatabase(message, msh, metadata);
// TODO: Runnable...??? Jojo???
//updatedFallIDs.forEach(id -> mainctrl.getMessageController().addMessage(new HL7Message(patient, id, LocalDateTime.now(), "Was soll hier wohl stehen?", false)));

return generateACK(message);
}
@@ -242,4 +250,16 @@ public class HL7Receiver2<T extends AbstractMessage> implements ReceivingApplica
return generateACK(message);
}

private void logHL7MessageToDatabase(Message message, MSH msh, Map<String, Object> metadata) throws HL7Exception {
try {
String sendind_ip = metadata.get("SENDING_IP").toString();
String sendind_port = metadata.get("SENDING_PORT").toString();
LocalDateTime ldt = HL7Util2.parseLocalDateTime(msh.getDateTimeOfMessage().getTime());
DBHandler.setHL7Nachricht(message.encode(), ldt, sendind_ip + ":" + sendind_port);
} catch (SQLException e) {
e.printStackTrace();
}

}

}

Loading…
Откажи
Сачувај