diff options
Diffstat (limited to 'src/main/java/DNPM/services/DefaultTherapieplanService.java')
| -rw-r--r-- | src/main/java/DNPM/services/DefaultTherapieplanService.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/DNPM/services/DefaultTherapieplanService.java b/src/main/java/DNPM/services/DefaultTherapieplanService.java index f705ce8..eee2041 100644 --- a/src/main/java/DNPM/services/DefaultTherapieplanService.java +++ b/src/main/java/DNPM/services/DefaultTherapieplanService.java @@ -6,6 +6,7 @@ import de.itc.onkostar.api.Procedure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.List; import java.util.Objects; import static DNPM.services.FormService.hasValue; @@ -36,6 +37,40 @@ public class DefaultTherapieplanService implements TherapieplanService { this.updateMtbInSubforms(procedure); } + /** + * Finde verlinkte MTBs in Hauptformular und Unterformularen + * + * @param procedure Die Prozedur mit Hauptformular + * @return Liste mit verlinkten MTBs + */ + @Override + public List<Procedure> findReferencedMtbs(Procedure procedure) { + if (!hasValue(procedure, "referstemtb")) { + return List.of(); + } + + var mtbProcedure = this.onkostarApi.getProcedure(procedure.getValue("referstemtb").getInt()); + if (null == mtbProcedure) { + return List.of(); + } + return List.of(mtbProcedure); + } + + /** + * Finde verlinkte MTBs in Hauptformular und Unterformularen + * + * @param procedureId ID der Prozedur mit Hauptformular + * @return Liste mit verlinkten MTBs + */ + @Override + public List<Procedure> findReferencedMtbs(int procedureId) { + var procedure = this.onkostarApi.getProcedure(procedureId); + if (null == procedure) { + return List.of(); + } + return findReferencedMtbs(procedure); + } + private void updateMtbInSections(Procedure procedure) { if (!isYes(procedure, "humangenberatung") && !isYes(procedure, "reevaluation")) { return; |
