From fcb7e6c14d98db3bced722f231aa4c7686594526 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 14 Mar 2023 14:15:30 +0100 Subject: Issue #4: Backend-Service-Methode zum Abfragen von Studien hinzugefügt --- .../java/DNPM/analyzer/TherapieplanAnalyzer.java | 36 +++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java') diff --git a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java index 1058137..97b491d 100644 --- a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java +++ b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java @@ -1,6 +1,8 @@ package DNPM.analyzer; import DNPM.services.FormService; +import DNPM.services.Studie; +import DNPM.services.StudienService; import de.itc.onkostar.api.Disease; import de.itc.onkostar.api.IOnkostarApi; import de.itc.onkostar.api.Item; @@ -13,6 +15,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Set; @@ -30,9 +34,12 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer { private final FormService formService; - public TherapieplanAnalyzer(final IOnkostarApi onkostarApi, final FormService formService) { + private final StudienService studienService; + + public TherapieplanAnalyzer(final IOnkostarApi onkostarApi, final FormService formService, final StudienService studienService) { this.onkostarApi = onkostarApi; this.formService = formService; + this.studienService = studienService; } @Override @@ -93,6 +100,33 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer { updateMtbInSubforms(procedure); } + + /** + * Übergibt alle Studien, deren (Kurz-)Beschreibung oder NCT-Nummer den übergebenen Eingabewert q enthält + * + *

Wurde der Eingabewert nicht angegeben oder ist leer, werden alle Studien übergeben. + * + *

Beispiel zur Nutzung in einem Formularscript + *

+     * executePluginMethod(
+     *   'TherapieplanAnalyzer',
+     *   'getStudien',
+     *   { q: 'NCT-12' },
+     *   (response) => console.log(response),
+     *   false
+     * );
+     * 
+ * @param input Map mit Eingabewerten + */ + public List getStudien(Map input) { + var query = input.get("q"); + + if (null == query || query.toString().isBlank()) { + return studienService.findAll(); + } + return studienService.findByQuery(query.toString()); + } + /** * Verlinke MTB und Übernahme Datum aus Hauptformular in weiteren Bereichen * "Humangenetische Beratung" und "Reevaluation", wenn erforderlich. -- cgit v1.2.3