|
|
@@ -86,7 +86,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
Patient patient = mainctrl.getStammdaten().getPatienten().stream().filter(p -> p.getPatID() == patid).findFirst().orElse(null); |
|
|
Patient patient = mainctrl.getStammdaten().getPatienten().stream().filter(p -> p.getPatID() == patid).findFirst().orElse(null); |
|
|
|
|
|
|
|
|
if (patient == null) { |
|
|
if (patient == null) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(null, -1, LocalDateTime.now(), "Patient nicht gefunden.", true)); |
|
|
updateUI(new HL7Message(null, -1, LocalDateTime.now(), "Patient nicht gefunden.", true)); |
|
|
return generateACKWithAR(message, "Patient nicht gefunden."); |
|
|
return generateACKWithAR(message, "Patient nicht gefunden."); |
|
|
} // TODO: Patienten und Fall neu anlegen??? Nicht verlangt! |
|
|
} // TODO: Patienten und Fall neu anlegen??? Nicht verlangt! |
|
|
@@ -107,7 +107,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
e.printStackTrace(); |
|
|
e.printStackTrace(); |
|
|
} |
|
|
} |
|
|
if (fallids.isEmpty() || !fallids.contains(fallid)) { |
|
|
if (fallids.isEmpty() || !fallids.contains(fallid)) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Fall nicht gefunden.?", true)); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Fall nicht gefunden.?", true)); |
|
|
return generateACKWithAR(message, "Fall nicht gefunden."); |
|
|
return generateACKWithAR(message, "Fall nicht gefunden."); |
|
|
} |
|
|
} |
|
|
@@ -125,20 +125,20 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
// TODO: Stationen mit falschen Abteilungen werden einfach umgeschrieben^^ |
|
|
// TODO: Stationen mit falschen Abteilungen werden einfach umgeschrieben^^ |
|
|
|
|
|
|
|
|
if (station == null) { |
|
|
if (station == null) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Station nicht gefunden.", true)); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Station nicht gefunden.", true)); |
|
|
return generateACKWithAR(message, "Station nicht gefunden."); |
|
|
return generateACKWithAR(message, "Station nicht gefunden."); |
|
|
} |
|
|
} |
|
|
StationsHistorie hist = new StationsHistorie(); |
|
|
StationsHistorie hist = new StationsHistorie(); |
|
|
hist.setStationKey(station.getStation()); |
|
|
hist.setStationKey(station.getStation()); |
|
|
if (pv1.getAdmitDateTime().isEmpty()) { |
|
|
if (pv1.getAdmitDateTime().isEmpty()) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Visit ohne Aufnahmedatum.", true)); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Visit ohne Aufnahmedatum.", true)); |
|
|
return generateACKWithAR(message, "Visit ohne Aufnahmedatum."); |
|
|
return generateACKWithAR(message, "Visit ohne Aufnahmedatum."); |
|
|
} |
|
|
} |
|
|
hist.setAufnahmeDatum(HL7Util.parseLocalDateTime(pv1.getAdmitDateTime().getTime())); |
|
|
|
|
|
|
|
|
hist.setAufnahmeDatum(HL7Utils.parseLocalDateTime(pv1.getAdmitDateTime().getTime())); |
|
|
if (pv1.getDischargeDateTime().length >= 1) { |
|
|
if (pv1.getDischargeDateTime().length >= 1) { |
|
|
hist.setEntlassungsDatum(HL7Util.parseLocalDateTime(pv1.getDischargeDateTime()[0].getTime())); |
|
|
|
|
|
|
|
|
hist.setEntlassungsDatum(HL7Utils.parseLocalDateTime(pv1.getDischargeDateTime()[0].getTime())); |
|
|
} |
|
|
} |
|
|
hist.setFallID(fallid); |
|
|
hist.setFallID(fallid); |
|
|
|
|
|
|
|
|
@@ -167,7 +167,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
String einweisenderarzt = dg1.getDiagnosingClinician(0).encode(); // Wir holen uns immer den ersten der verantwortlichen Aerzte... // (DG1-16) |
|
|
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); |
|
|
mitarbeiter = mainctrl.getStammdaten().getMitarbeiter().stream().filter(m -> m.getEinweisenderArzt().equals(einweisenderarzt)).findFirst().orElse(null); |
|
|
if (mitarbeiter == null) { |
|
|
if (mitarbeiter == null) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Mitarbeiter nicht gefunden.", true)); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Mitarbeiter nicht gefunden.", true)); |
|
|
return generateACKWithAR(message, "Mitarbeiter nicht gefunden."); |
|
|
return generateACKWithAR(message, "Mitarbeiter nicht gefunden."); |
|
|
} |
|
|
} |
|
|
@@ -212,7 +212,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
} |
|
|
} |
|
|
untersuchung.setOpscode(opscode); |
|
|
untersuchung.setOpscode(opscode); |
|
|
|
|
|
|
|
|
untersuchung.setUntersuchungsdatum(HL7Util.parseLocalDateTime(pr1.getProcedureDateTime().getTime())); |
|
|
|
|
|
|
|
|
untersuchung.setUntersuchungsdatum(HL7Utils.parseLocalDateTime(pr1.getProcedureDateTime().getTime())); |
|
|
|
|
|
|
|
|
// Mitarbeiter ID anhand von EinweisenderArzt erkennen. |
|
|
// Mitarbeiter ID anhand von EinweisenderArzt erkennen. |
|
|
Mitarbeiter mitarbeiter; |
|
|
Mitarbeiter mitarbeiter; |
|
|
@@ -220,7 +220,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
String einweisenderarzt = pr1.getProcedurePractitioner(0).encode(); // Wir holen uns immer den ersten der verantwortlichen Aerzte... |
|
|
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); |
|
|
mitarbeiter = mainctrl.getStammdaten().getMitarbeiter().stream().filter(m -> m.getEinweisenderArzt().equals(einweisenderarzt)).findFirst().orElse(null); |
|
|
if (mitarbeiter == null) { |
|
|
if (mitarbeiter == null) { |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Mitarbeiter nicht gefunden.", true)); |
|
|
updateUI(new HL7Message(patient, -1, LocalDateTime.now(), "Mitarbeiter nicht gefunden.", true)); |
|
|
return generateACKWithAR(message, "Mitarbeiter nicht gefunden."); |
|
|
return generateACKWithAR(message, "Mitarbeiter nicht gefunden."); |
|
|
} |
|
|
} |
|
|
@@ -261,7 +261,7 @@ public class HL7Receiver<T extends AbstractMessage> implements ReceivingApplicat |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// HL7 Nachricht loggen. |
|
|
// HL7 Nachricht loggen. |
|
|
HL7Util.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
|
|
|
|
|
|
HL7Utils.logInHL7MessageToDatabase(message, msh, metadata); |
|
|
updatedFallIDs.forEach(id -> updateUI(new HL7Message(patient, id, LocalDateTime.now(), "", false))); |
|
|
updatedFallIDs.forEach(id -> updateUI(new HL7Message(patient, id, LocalDateTime.now(), "", false))); |
|
|
|
|
|
|
|
|
return generateACK(message); |
|
|
return generateACK(message); |
|
|
|