diff options
Diffstat (limited to 'src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java')
| -rw-r--r-- | src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java | 100 |
1 files changed, 51 insertions, 49 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java b/src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java index 622f841..49fa149 100644 --- a/src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java +++ b/src/main/java/dev/dnpm/oshelper/services/strahlentherapie/DefaultStrahlentherapieService.java @@ -19,12 +19,11 @@ package dev.dnpm.oshelper.services.strahlentherapie; -import dev.dnpm.oshelper.dto.EcogStatusWithDate; -import dev.dnpm.oshelper.services.SettingsService; import de.itc.onkostar.api.IOnkostarApi; import de.itc.onkostar.api.Patient; import de.itc.onkostar.api.Procedure; - +import dev.dnpm.oshelper.dto.EcogStatusWithDate; +import dev.dnpm.oshelper.services.SettingsService; import java.util.Comparator; import java.util.List; import java.util.Objects; @@ -38,56 +37,59 @@ import java.util.stream.Collectors; */ public class DefaultStrahlentherapieService implements StrahlentherapieService { - private static final String ECOG_FIELD = "ECOGvorTherapie"; + private static final String ECOG_FIELD = "ECOGvorTherapie"; - private final IOnkostarApi onkostarApi; + private final IOnkostarApi onkostarApi; - private final SettingsService settingsService; + private final SettingsService settingsService; - public DefaultStrahlentherapieService(final IOnkostarApi onkostarApi, final SettingsService settingsService) { - this.onkostarApi = onkostarApi; - this.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 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()); - } + /** + * 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"); - } + private String getFormName() { + return settingsService.getSetting("strahlentherapieform").orElse("OS.Strahlentherapie"); + } } |
