summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/services/DefaultTherapieplanService.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-05-08 11:56:35 +0200
committerPaul-Christian Volkmer2023-05-08 11:59:59 +0200
commit06b5381e885cf5cf4cb008e22e7cb2dff88f40b5 (patch)
tree79bfb5d302a699c697d60662123dc4dd47257b24 /src/main/java/DNPM/services/DefaultTherapieplanService.java
parent13ba0f902fc51bb74f905332287650c407c2823d (diff)
Verschiebe Implementierungen für Therapiepläne in eigenes Paket
Diffstat (limited to 'src/main/java/DNPM/services/DefaultTherapieplanService.java')
-rw-r--r--src/main/java/DNPM/services/DefaultTherapieplanService.java177
1 files changed, 0 insertions, 177 deletions
diff --git a/src/main/java/DNPM/services/DefaultTherapieplanService.java b/src/main/java/DNPM/services/DefaultTherapieplanService.java
deleted file mode 100644
index eee2041..0000000
--- a/src/main/java/DNPM/services/DefaultTherapieplanService.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package DNPM.services;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Item;
-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;
-import static DNPM.services.FormService.isYes;
-
-public class DefaultTherapieplanService implements TherapieplanService {
-
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
- private final IOnkostarApi onkostarApi;
-
- private final FormService formService;
-
- public DefaultTherapieplanService(final IOnkostarApi onkostarApi, final FormService formService) {
- this.onkostarApi = onkostarApi;
- this.formService = formService;
- }
-
- /**
- * Verlinke MTB und Übernahme Datum aus Hauptformular in weiteren Bereichen
- * "Humangenetische Beratung" und "Reevaluation" und Unterformularen, wenn erforderlich.
- *
- * @param procedure Die Prozedur mit Hauptformular
- */
- @Override
- public void updateRequiredMtbEntries(Procedure procedure) {
- this.updateMtbInSections(procedure);
- 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;
- }
-
- var mtbReference = procedure.getValue("referstemtb").getInt();
- var mtbDate = procedure.getValue("datum").getDate();
- var noUpdateRequired = true;
-
- if (
- isYes(procedure, "humangenberatung") && (
- !hasValue(procedure, "reftkhumangenber")
- || mtbReference != procedure.getValue("reftkhumangenber").getInt()
- )
- ) {
- procedure.setValue("reftkhumangenber", new Item("ref_tk_humangenber", mtbReference));
- noUpdateRequired = false;
- }
-
- if (
- isYes(procedure, "humangenberatung") && (
- !hasValue(procedure, "datumtkhumangenber")
- || !mtbDate.equals(procedure.getValue("datumtkhumangenber").getDate())
- )
- ) {
- procedure.setValue("datumtkhumangenber", new Item("datum_tk_humangenber", mtbDate));
- noUpdateRequired = false;
- }
-
- if (
- isYes(procedure, "reevaluation") && (
- !hasValue(procedure, "reftkreevaluation")
- || mtbReference != procedure.getValue("reftkreevaluation").getInt()
- )
- ) {
- procedure.setValue("reftkreevaluation", new Item("ref_tk_reevaluation", mtbReference));
- noUpdateRequired = false;
- }
-
- if (
- isYes(procedure, "reevaluation") && (
- !hasValue(procedure, "datumtkreevaluation")
- || !mtbDate.equals(procedure.getValue("datumtkreevaluation").getDate())
- )
- ) {
- procedure.setValue("datumtkreevaluation", new Item("datum_tk_reevaluation", mtbDate));
- noUpdateRequired = false;
- }
-
- if (noUpdateRequired) {
- return;
- }
-
- try {
- onkostarApi.saveProcedure(procedure, false);
- } catch (Exception e) {
- logger.error("Formular 'DNPM Therapieplan' konnte nicht aktualisiert werden", e);
- }
- }
-
- private void updateMtbInSubforms(Procedure procedure) {
- if (
- !hasValue(procedure, "referstemtb") || !hasValue(procedure, "datum")
- ) {
- return;
- }
-
- var mtbReference = procedure.getValue("referstemtb").getInt();
- var mtbDate = procedure.getValue("datum").getDate();
-
- formService.getSubFormProcedureIds(procedure.getId()).stream()
- .map(onkostarApi::getProcedure)
- .filter(Objects::nonNull)
- .forEach(subform -> {
- if (subform.getFormName().equals("DNPM UF Einzelempfehlung")) {
- if (mtbReference != subform.getValue("mtb").getInt() && !mtbDate.equals(subform.getValue("ufeedatum").getDate())) {
- subform.setValue("mtb", new Item("ref_tumorkonferenz", mtbReference));
- subform.setValue("ufeedatum", new Item("datum", mtbDate));
-
- try {
- onkostarApi.saveProcedure(subform, false);
- } catch (Exception e) {
- logger.error("Formular 'DNPM UF Einzelempfehlung' konnte nicht aktualisiert werden", e);
- }
- }
- }
-
- if (subform.getFormName().equals("DNPM UF Rebiopsie")) {
- if (mtbReference != subform.getValue("reftumorkonferenz").getInt() && !mtbDate.equals(subform.getValue("ufrbdatum").getDate())) {
- subform.setValue("reftumorkonferenz", new Item("ref_tumorkonferenz", mtbReference));
- subform.setValue("ufrbdatum", new Item("datum", mtbDate));
-
- try {
- onkostarApi.saveProcedure(subform, false);
- } catch (Exception e) {
- logger.error("Formular 'DNPM UF Rebiopsie' konnte nicht aktualisiert werden", e);
- }
- }
- }
- });
- }
-
-
-}