summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/analyzer
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-03-14 14:15:30 +0100
committerPaul-Christian Volkmer2023-03-14 15:22:03 +0100
commitfcb7e6c14d98db3bced722f231aa4c7686594526 (patch)
treec584f24f8472081e125f914d4bbf9786cf5919da /src/main/java/DNPM/analyzer
parentf73d5dc4235be94f7555f75270d107a7fd6b864d (diff)
Issue #4: Backend-Service-Methode zum Abfragen von Studien hinzugefügt
Diffstat (limited to 'src/main/java/DNPM/analyzer')
-rw-r--r--src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java36
1 files changed, 35 insertions, 1 deletions
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 <code>q</code> enthält
+ *
+ * <p>Wurde der Eingabewert nicht angegeben oder ist leer, werden alle Studien übergeben.
+ *
+ * <p>Beispiel zur Nutzung in einem Formularscript
+ * <pre>
+ * executePluginMethod(
+ * 'TherapieplanAnalyzer',
+ * 'getStudien',
+ * { q: 'NCT-12' },
+ * (response) => console.log(response),
+ * false
+ * );
+ * </pre>
+ * @param input Map mit Eingabewerten
+ */
+ public List<Studie> getStudien(Map<String, Object> 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.