From 21c02ac06851afb46e751015aaeda734c4095041 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Wed, 12 Jul 2023 09:50:29 +0200 Subject: Issue #29: Servicemethoden um ECOG Status abzurufen hinzugefügt --- .../systemtherapie/SystemtherapieService.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java') diff --git a/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java b/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java index 00b7a6d..0102fc6 100644 --- a/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java +++ b/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java @@ -1,9 +1,13 @@ package DNPM.services.systemtherapie; +import de.itc.onkostar.api.Patient; import de.itc.onkostar.api.Procedure; +import org.springframework.util.Assert; +import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Optional; /** * Service für Systemtherapieformulare @@ -25,4 +29,56 @@ public interface SystemtherapieService { */ ProzedurToProzedurwerteMapper prozedurToProzedurwerteMapper(Procedure procedure); + /** + * 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 + */ + Optional latestEcogStatus(Patient patient); + + /** + * 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 + */ + List ecogSatus(Patient patient); + + /** + * Datenklasse zum Abbilden des ECOG-Status und Datum + */ + class EcogStatusWithDate { + private Date date; + private String status; + + public EcogStatusWithDate(Date date, String status) { + Assert.notNull(date, "Date cannot be null"); + Assert.hasText(status, "Status cannot be empty String"); + Assert.isTrue(isValidEcogCode(status), "Not a valid ADT.LeistungszustandECOG code"); + this.date = date; + this.status = status; + } + + private boolean isValidEcogCode(String status) { + switch (status) { + case "1": + case "2": + case "3": + case "4": + case "5": + case "U": + return true; + default: + return false; + } + } + + public Date getDate() { + return date; + } + + public String getStatus() { + return status; + } + } + } -- cgit v1.2.3 From 862e4813730acd47e123730286c8e5f3c8ed8085 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Wed, 12 Jul 2023 10:35:21 +0200 Subject: Issue #29: Möglicher Wert "0" hinzugefügt --- src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java | 1 + 1 file changed, 1 insertion(+) (limited to 'src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java') diff --git a/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java b/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java index 0102fc6..a664c05 100644 --- a/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java +++ b/src/main/java/DNPM/services/systemtherapie/SystemtherapieService.java @@ -60,6 +60,7 @@ public interface SystemtherapieService { private boolean isValidEcogCode(String status) { switch (status) { + case "0": case "1": case "2": case "3": -- cgit v1.2.3