summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/DNPM/DNPMHelper.java19
-rw-r--r--src/test/java/DNPM/DNPMHelperTest.java18
2 files changed, 36 insertions, 1 deletions
diff --git a/src/main/java/DNPM/DNPMHelper.java b/src/main/java/DNPM/DNPMHelper.java
index cc8126a..50b153e 100644
--- a/src/main/java/DNPM/DNPMHelper.java
+++ b/src/main/java/DNPM/DNPMHelper.java
@@ -45,7 +45,7 @@ public class DNPMHelper implements IProcedureAnalyzer {
@Override
public String getVersion() {
- return "0.3.0";
+ return "0.4.0";
}
@Override
@@ -249,4 +249,21 @@ public class DNPMHelper implements IProcedureAnalyzer {
}
}
+
+ // TODO Achtung, keine Sicherheitsprüfung, darüber kann für jeden Patienten die Liste mit ECOG-Status abgerufen werden!
+ public List<SystemtherapieService.EcogStatusWithDate> getEcogStatus(final Map<String, Object> input) {
+ var pid = AnalyzerUtils.getRequiredId(input, "PatientId");
+ if (pid.isEmpty()) {
+ logger.error("Kein Parameter 'PatientId' angegeben, gebe leere Liste zurück");
+ return List.of();
+ }
+
+ var patient = onkostarApi.getPatient(pid.get());
+ if (null == patient) {
+ logger.error("Patient nicht gefunden, gebe leere Liste zurück");
+ return List.of();
+ }
+
+ return systemtherapieService.ecogSatus(patient);
+ }
} \ No newline at end of file
diff --git a/src/test/java/DNPM/DNPMHelperTest.java b/src/test/java/DNPM/DNPMHelperTest.java
index a90f2fb..cd0b81d 100644
--- a/src/test/java/DNPM/DNPMHelperTest.java
+++ b/src/test/java/DNPM/DNPMHelperTest.java
@@ -3,6 +3,7 @@ package DNPM;
import DNPM.services.systemtherapie.SystemtherapieService;
import de.itc.onkostar.api.IOnkostarApi;
import de.itc.onkostar.api.Item;
+import de.itc.onkostar.api.Patient;
import de.itc.onkostar.api.Procedure;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
@@ -245,6 +246,23 @@ class DNPMHelperTest {
assertThat(argumentCaptor.getValue()).contains("WHERE patient_id = 2 AND geloescht = 0");
}
+ @Test
+ void testShouldReturnEcogStatusList() {
+ doAnswer(invocationOnMock -> {
+ var id = invocationOnMock.getArgument(0, Integer.class);
+ var patient = new Patient(onkostarApi);
+ patient.setId(id);
+ return patient;
+ }).when(onkostarApi).getPatient(anyInt());
+
+ dnpmHelper.getEcogStatus(Map.of("PatientId", 42));
+
+ var argumentCaptor = ArgumentCaptor.forClass(Patient.class);
+ verify(systemtherapieService, times(1)).ecogSatus(argumentCaptor.capture());
+ assertThat(argumentCaptor.getValue()).isNotNull();
+ assertThat(argumentCaptor.getValue().getId()).isEqualTo(42);
+ }
+
}
}