diff options
Diffstat (limited to 'src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java')
| -rw-r--r-- | src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java | 50 |
1 files changed, 20 insertions, 30 deletions
diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java index 78a94eb..c55e46b 100644 --- a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java @@ -2,41 +2,31 @@ 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; +/** + * Mapper zum Ermitteln des Protokollauszugs für Formular "OS.Tumorkonferenz.VarianteUKW" + * + * @since 0.0.2 + */ public class OsTumorkonferenzVarianteUkwToProtocolMapper implements ProcedureToProtocolMapper { @Override - public Optional<String> apply(List<Procedure> 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("Fragestellung:\n%s\n\nEmpfehlung:\n%s", fragestellung.getString().trim(), empfehlung.getString().trim()); - } else if (null != fragestellung && !fragestellung.getString().isBlank()) { - return fragestellung.getString().trim(); - } else if (null != empfehlung && !empfehlung.getString().isBlank()) { - return empfehlung.getString().trim(); - } - return ""; - }).collect(Collectors.joining("\n\n")); - - if (!result.isBlank()) { - return Optional.of(result); + public Optional<String> apply(Procedure procedure) { + assert (procedure.getFormName().equals("OS.Tumorkonferenz.VarianteUKW")); + + var fragestellung = procedure.getValue("Fragestellung"); + var empfehlung = procedure.getValue("Empfehlung"); + + if ( + null != fragestellung && !fragestellung.getString().isBlank() + && null != empfehlung && !empfehlung.getString().isBlank() + ) { + return Optional.of(String.format("Fragestellung:\n%s\n\nEmpfehlung:\n%s", fragestellung.getString().trim(), empfehlung.getString().trim())); + } else if (null != fragestellung && !fragestellung.getString().isBlank()) { + return Optional.of(fragestellung.getString().trim()); + } else if (null != empfehlung && !empfehlung.getString().isBlank()) { + return Optional.of(empfehlung.getString().trim()); } - return Optional.empty(); } } |
