From 3afe109494e2b4a751874a027694c17f6cabc4cd Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 8 May 2023 16:23:52 +0200 Subject: Issue #28: Initiale Implementierung zur Ermittlung der NGS-Befund-Varianten --- .../MolekulargenetikFormService.java | 12 ++++++++ .../OsMolekulargenetikFormService.java | 34 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java create mode 100644 src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java (limited to 'src/main/java/DNPM/services/molekulargenetik') diff --git a/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java b/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java new file mode 100644 index 0000000..5af03b2 --- /dev/null +++ b/src/main/java/DNPM/services/molekulargenetik/MolekulargenetikFormService.java @@ -0,0 +1,12 @@ +package DNPM.services.molekulargenetik; + +import DNPM.dto.Variant; +import de.itc.onkostar.api.Procedure; + +import java.util.List; + +public interface MolekulargenetikFormService { + + List getVariants(Procedure procedure); + +} diff --git a/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java b/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java new file mode 100644 index 0000000..03017ad --- /dev/null +++ b/src/main/java/DNPM/services/molekulargenetik/OsMolekulargenetikFormService.java @@ -0,0 +1,34 @@ +package DNPM.services.molekulargenetik; + +import DNPM.dto.Variant; +import DNPM.security.FormSecured; +import DNPM.security.PersonPoolSecured; +import de.itc.onkostar.api.Procedure; + +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class OsMolekulargenetikFormService implements MolekulargenetikFormService { + + @Override + @FormSecured + @PersonPoolSecured + public List getVariants(Procedure procedure) { + if (! "OS.Molekulargenetik".equals(procedure.getFormName())) { + return List.of(); + } + + var subforms = procedure.getSubProceduresMap().get("MolekulargenetischeUntersuchung"); + if (null == subforms) { + return List.of(); + } + + return subforms.stream() + .map(Variant::fromProcedure) + .filter(Optional::isPresent) + .map(Optional::get) + .collect(Collectors.toList()); + + } +} -- cgit v1.2.3