From 887221d5aec7fbe32a86b705b33aa4b5d2fa7062 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 20 Mar 2023 16:43:07 +0100 Subject: Issue #11: Service zum Generieren des Protokollauszugs aus MTBs Implementierungen vorhanden für die Formulare: * OS.Tumorkonferenz * OS.Tumorkonferenz.VarianteUKW --- ...sTumorkonferenzVarianteUkwToProtocolMapper.java | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java (limited to 'src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java') diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java new file mode 100644 index 0000000..de36415 --- /dev/null +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java @@ -0,0 +1,42 @@ +package DNPM.services.mtb; + +import de.itc.onkostar.api.Procedure; + +import java.util.Comparator; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class OsTumorkonferenzVarianteUkwToProtocolMapper implements ProcedureToProtocolMapper { + @Override + public Optional apply(List procedures) { + procedures.forEach(procedure -> { + assert (procedure.getFormName().equals("OS.Tumorkonferenz.VarianteUKW")); + }); + + procedures.sort(Comparator.comparing(Procedure::getStartDate)); + + var result = procedures.stream().map(procedure -> { + var fragestellung = procedure.getValue("Fragestellung"); + var empfehlung = procedure.getValue("Empfehlung"); + + if ( + null != fragestellung && !fragestellung.getString().isBlank() + && null != empfehlung && !empfehlung.getString().isBlank() + ) { + return String.format("%s\n%s", fragestellung.getString(), empfehlung.getString()); + } else if (null != fragestellung && !fragestellung.getString().isBlank()) { + return fragestellung.getString(); + } else if (null != empfehlung && !empfehlung.getString().isBlank()) { + return empfehlung.getString(); + } + return ""; + }).collect(Collectors.joining("\n")); + + if (!result.isBlank()) { + return Optional.of(result); + } + + return Optional.empty(); + } +} -- cgit v1.2.3 From 9809fd550f5ddd394081529318db6a5001b54bac Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 20 Mar 2023 22:18:37 +0100 Subject: Issue #11: Verwende Überschrift für Fragestellung und Empfehlung --- .../services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java') diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java index de36415..78a94eb 100644 --- a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java @@ -24,14 +24,14 @@ public class OsTumorkonferenzVarianteUkwToProtocolMapper implements ProcedureToP null != fragestellung && !fragestellung.getString().isBlank() && null != empfehlung && !empfehlung.getString().isBlank() ) { - return String.format("%s\n%s", fragestellung.getString(), empfehlung.getString()); + return String.format("Fragestellung:\n%s\n\nEmpfehlung:\n%s", fragestellung.getString().trim(), empfehlung.getString().trim()); } else if (null != fragestellung && !fragestellung.getString().isBlank()) { - return fragestellung.getString(); + return fragestellung.getString().trim(); } else if (null != empfehlung && !empfehlung.getString().isBlank()) { - return empfehlung.getString(); + return empfehlung.getString().trim(); } return ""; - }).collect(Collectors.joining("\n")); + }).collect(Collectors.joining("\n\n")); if (!result.isBlank()) { return Optional.of(result); -- cgit v1.2.3