summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java')
-rw-r--r--src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java b/src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java
deleted file mode 100644
index a318a81..0000000
--- a/src/main/java/DNPM/services/strahlentherapie/DefaultStrahlentherapieService.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package DNPM.services.strahlentherapie;
-
-import DNPM.dto.EcogStatusWithDate;
-import DNPM.services.SettingsService;
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Patient;
-import de.itc.onkostar.api.Procedure;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-/**
- * Standardimplementierung des StrahlentherapieServices
- *
- * @since 0.6.0
- */
-public class DefaultStrahlentherapieService implements StrahlentherapieService {
-
- private static final String ECOG_FIELD = "ECOGvorTherapie";
-
- private final IOnkostarApi onkostarApi;
-
- private final SettingsService settingsService;
-
- public DefaultStrahlentherapieService(final IOnkostarApi onkostarApi, final SettingsService settingsService) {
- this.onkostarApi = onkostarApi;
- this.settingsService = settingsService;
- }
-
- /**
- * Ermittelt den letzten bekannten ECOG-Status aus allen Systemtherapieformularen des Patienten
- *
- * @param patient Der zu verwendende Patient
- * @return Der ECOG-Status als String oder leeres Optional
- */
- @Override
- public Optional<String> latestEcogStatus(Patient patient) {
- return ecogStatus(patient).stream()
- .max(Comparator.comparing(EcogStatusWithDate::getDate))
- .map(EcogStatusWithDate::getStatus);
- }
-
- /**
- * Ermittelt jeden bekannten ECOG-Status aus allen Systemtherapieformularen des Patienten
- *
- * @param patient Der zu verwendende Patient
- * @return Eine Liste mit Datum und ECOG-Status als String
- */
- @Override
- public List<EcogStatusWithDate> ecogStatus(Patient patient) {
- return patient.getDiseases().stream()
- .flatMap(disease -> onkostarApi.getProceduresForDiseaseByForm(disease.getId(), getFormName()).stream())
- .filter(procedure -> null != procedure.getStartDate())
- .sorted(Comparator.comparing(Procedure::getStartDate))
- .map(procedure -> {
- try {
- return new EcogStatusWithDate(procedure.getStartDate(), procedure.getValue(ECOG_FIELD).getString());
- } catch (IllegalArgumentException e) {
- return null;
- }
- })
- .filter(Objects::nonNull)
- .collect(Collectors.toList());
- }
-
- private String getFormName() {
- return settingsService
- .getSetting("strahlentherapieform")
- .orElse("OS.Strahlentherapie");
- }
-}