From 27476863809d4f2a0a704afd3a2a30f3feafdde4 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Wed, 12 Jul 2023 14:52:09 +0200 Subject: Issue #29: Tests für das Einfügen in ECOG Verlauf --- .../java/DNPM/analyzer/SystemtherapieAnalyzer.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/main/java/DNPM/analyzer') diff --git a/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java b/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java index 78f2c84..cf7dea8 100644 --- a/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java +++ b/src/main/java/DNPM/analyzer/SystemtherapieAnalyzer.java @@ -107,6 +107,10 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer { } var ecogFromCompleted = systemtherapieService.ecogSatus(procedure.getPatient()); + if (ecogFromCompleted.isEmpty()) { + // Nothing to do + return; + } procedure.getPatient().getDiseases().stream() .flatMap(d -> onkostarApi.getProceduresForDiseaseByForm(d.getId(), "DNPM Klinik/Anamnese").stream()) @@ -114,8 +118,8 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer { var ufEcog = p.getValue("ECOGVerlauf"); if (null != ufEcog && ufEcog.getValue() instanceof List) { var shouldSave = false; - var existingDates = ((List>) ufEcog.getValue()).stream() - .map(v -> v.get("Datum").toString()) + var existingDates = ufEcog.>>getValue().stream() + .map(v -> v.get("Datum")) .collect(Collectors.toList()); for (var ecog : ecogFromCompleted) { var formattedDate = new SimpleDateFormat("yyyy-MM-dd").format(ecog.getDate()); @@ -135,6 +139,20 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer { logger.error("Cannot update ECOG for procedure '{}'", p.getId()); } } + } else { + p.setValue("ECOGVerlauf", new Item("ECOGVerlauf", List.of())); + for (var ecog : ecogFromCompleted) { + var newSubProcedure = new Procedure(onkostarApi); + newSubProcedure.setStartDate(ecog.getDate()); + newSubProcedure.setValue("Datum", new Item("Datum", ecog.getDate())); + newSubProcedure.setValue("ECOG", new Item("ECOG", ecog.getStatus())); + p.addSubProcedure("ECOGVerlauf", newSubProcedure); + } + try { + onkostarApi.saveProcedure(p, true); + } catch (Exception e) { + logger.error("Create update ECOG for procedure '{}'", p.getId()); + } } }); } -- cgit v1.2.3