diff --git a/src/main/java/DNPM/services/mtb/DefaultMtbService.java b/src/main/java/DNPM/services/mtb/DefaultMtbService.java index abfbf59..4028273 100644 --- a/src/main/java/DNPM/services/mtb/DefaultMtbService.java +++ b/src/main/java/DNPM/services/mtb/DefaultMtbService.java @@ -21,14 +21,20 @@ public class DefaultMtbService implements MtbService { this.onkostarApi = onkostarApi; } + /** + * Zusammenfassung der Prozeduren. + * Dabei werden alle Prozeduren sortiert, mit ermitteltem Mapper in {@link Optional} eines {@link String}s + * gewandelt und, wenn dies erfolgreich war, die Zeichenkette extrahiert. + * Im Anschluss wird die Abfolge der Zeichenketten mit den einzelnen Prozedur-Zusammenfassungen in eine + * einzige Zusammenfassung zusammengefügt. + * @param procedures Prozeduren, die zusammen gefasst werden sollen + * @return Text mit Zusammenfassung aller übergebenen Prozeduren + */ @Override public String getProtocol(List procedures) { return procedures.stream() .sorted(Comparator.comparing(Procedure::getStartDate)) - .map(procedure -> { - var mapper = procedureToProtocolMapper(procedure); - return mapper.apply(procedure); - }) + .map(procedure -> this.procedureToProtocolMapper(procedure).apply(procedure)) .filter(Optional::isPresent) .map(Optional::get) .distinct() @@ -36,6 +42,13 @@ public class DefaultMtbService implements MtbService { } + /** + * Übergibt anzuwendenden Mapper für eine Prozedur. + * Wurde keine Implementierung festgelegt, wird ein Mapper zurückgegeben, der eine + * Prozedur in ein leeres {@link Optional} zurück gibt, übergeben. + * @param procedure Prozedur, für die ein Mapper ermittelt werden soll + * @return Mapper für diese Prozedur + */ @Override public ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure) { switch (procedure.getFormName()) { diff --git a/src/main/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapper.java b/src/main/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapper.java index eac1127..e40c2ab 100644 --- a/src/main/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapper.java +++ b/src/main/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapper.java @@ -15,6 +15,12 @@ public class MrMtbAnmeldungToProtocolMapper implements ProcedureToProtocolMapper this.onkostarApi = onkostarApi; } + /** + * Wandelt eine Prozedur mit Formularnamen "MR.MTB_Anmeldung" in ein {@link Optional} mit einer + * Zeichenkette oder im Fehlerfall in ein leeres Optional um. + * @param procedure Die Prozedur, für die eine Zusammenfassung ermittelt werden soll. + * @return Das {@link Optional} mit, im Erfolgsfall, der Zusammenfassung für die Prozedur. + */ @Override public Optional apply(Procedure procedure) { assert (procedure.getFormName().equals("MR.MTB_Anmeldung")); diff --git a/src/main/java/DNPM/services/mtb/MtbService.java b/src/main/java/DNPM/services/mtb/MtbService.java index 19bbe38..939be70 100644 --- a/src/main/java/DNPM/services/mtb/MtbService.java +++ b/src/main/java/DNPM/services/mtb/MtbService.java @@ -5,7 +5,17 @@ import de.itc.onkostar.api.Procedure; import java.util.List; public interface MtbService { + /** + * Zusammenfassung der Prozeduren + * @param procedures Prozeduren, die zusammen gefasst werden sollen + * @return Text mit Zusammenfassung der Prozeduren + */ String getProtocol(List procedures); + /** + * Übergibt anzuwendenden Mapper für eine Prozedur + * @param procedure Prozedur, für die ein Mapper ermittelt werden soll + * @return Mapper für diese Prozedur + */ ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure); } diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java index b3e99c7..6aaae26 100644 --- a/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java @@ -11,6 +11,13 @@ import java.util.Optional; * @since 0.0.2 */ public class OsTumorkonferenzToProtocolMapper implements ProcedureToProtocolMapper { + + /** + * Wandelt eine Prozedur mit Formularnamen "OS.Tumorkonferenz" in ein {@link Optional} mit einer + * Zeichenkette oder im Fehlerfall in ein leeres Optional um. + * @param procedure Die Prozedur, für die eine Zusammenfassung ermittelt werden soll. + * @return Das {@link Optional} mit, im Erfolgsfall, der Zusammenfassung für die Prozedur. + */ @Override public Optional apply(Procedure procedure) { assert(procedure.getFormName().equals("OS.Tumorkonferenz")); diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java index c55e46b..f0562a7 100644 --- a/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapper.java @@ -10,6 +10,13 @@ import java.util.Optional; * @since 0.0.2 */ public class OsTumorkonferenzVarianteUkwToProtocolMapper implements ProcedureToProtocolMapper { + + /** + * Wandelt eine Prozedur mit Formularnamen "OS.Tumorkonferenz.VarianteUKW" in ein {@link Optional} mit einer + * Zeichenkette oder im Fehlerfall in ein leeres Optional um. + * @param procedure Die Prozedur, für die eine Zusammenfassung ermittelt werden soll. + * @return Das {@link Optional} mit, im Erfolgsfall, der Zusammenfassung für die Prozedur. + */ @Override public Optional apply(Procedure procedure) { assert (procedure.getFormName().equals("OS.Tumorkonferenz.VarianteUKW"));