summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-03-20 22:19:20 +0100
committerPaul-Christian Volkmer2023-03-20 22:36:13 +0100
commitaad777b5e36238ef437210bd9ad3ea51c3274a45 (patch)
tree271dc83ad9f4f4e72250b396662db92f3e37bfbe /src/main
parent9809fd550f5ddd394081529318db6a5001b54bac (diff)
Issue #11: Backend-Service-Methode zum Abrufen des Protokollauszugs hinzugefügt
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
index cf3b633..bdda750 100644
--- a/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
+++ b/src/main/java/DNPM/analyzer/TherapieplanAnalyzer.java
@@ -3,6 +3,7 @@ package DNPM.analyzer;
import DNPM.services.Studie;
import DNPM.services.StudienService;
import DNPM.services.TherapieplanServiceFactory;
+import DNPM.services.mtb.MtbService;
import de.itc.onkostar.api.Disease;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
@@ -27,12 +28,16 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
private final TherapieplanServiceFactory therapieplanServiceFactory;
+ private final MtbService mtbService;
+
public TherapieplanAnalyzer(
final StudienService studienService,
- final TherapieplanServiceFactory therapieplanServiceFactory
+ final TherapieplanServiceFactory therapieplanServiceFactory,
+ final MtbService mtbService
) {
this.studienService = studienService;
this.therapieplanServiceFactory = therapieplanServiceFactory;
+ this.mtbService = mtbService;
}
@Override
@@ -110,6 +115,7 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
* </pre>
*
* @param input Map mit Eingabewerten
+ * @return Liste mit Studien
*/
public List<Studie> getStudien(Map<String, Object> input) {
var query = input.get("q");
@@ -120,4 +126,38 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
return studienService.findByQuery(query.toString());
}
+ /**
+ * Übergibt den Text der referenzierten MTBs für den Protokollauszug
+ *
+ * <p>Wurde der Eingabewert <code>id</code> nicht übergeben, wird ein leerer String zurück gegeben.
+ *
+ * <p>Beispiel zur Nutzung in einem Formularscript
+ * <pre>
+ * executePluginMethod(
+ * 'TherapieplanAnalyzer',
+ * 'getProtokollauszug',
+ * { id: 12345 },
+ * (response) => console.log(response),
+ * false
+ * );
+ * </pre>
+ *
+ * @param input Map mit Eingabewerten
+ * @return Zeichenkette mit Protokollauszug
+ */
+ public String getProtokollauszug(Map<String, Object> input) {
+ var id = input.get("id");
+
+ if (null == id || 0 == Integer.parseInt(id.toString())) {
+ return "";
+ }
+
+ var procedureId = Integer.parseInt(id.toString());
+ return mtbService.getProtocol(
+ therapieplanServiceFactory
+ .currentUsableInstance()
+ .findReferencedMtbs(procedureId)
+ );
+ }
+
}