From 0f6227dd1f7fa2b1c2d6d715fb557233d8aa92d2 Mon Sep 17 00:00:00 2001 From: pdenzler Date: Thu, 17 Oct 2024 11:54:56 +0200 Subject: [PATCH] [26654] remove method getCoverageWithLaw (#388) Co-authored-by: pdenzler --- .../covid/cert/ui/handler/CovidAntigenKk.java | 4 +++- .../covid/cert/ui/handler/CovidAntigenSz.java | 4 +++- .../covid/cert/ui/handler/CovidAttestKk.java | 4 +++- .../covid/cert/ui/handler/CovidAttestSz.java | 4 +++- .../cert/ui/handler/CovidHandlerUtil.java | 20 ------------------- .../covid/cert/ui/handler/CovidPcrKk.java | 4 +++- .../covid/cert/ui/handler/CovidPcrSz.java | 4 +++- .../covid/cert/ui/handler/CovidTestBill.java | 8 ++++++-- 8 files changed, 24 insertions(+), 28 deletions(-) diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenKk.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenKk.java index 244cbd9eb4..0a089a8e6c 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenKk.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenKk.java @@ -26,6 +26,7 @@ import ch.elexis.core.services.ILocalDocumentService; import ch.elexis.core.services.holder.ContextServiceHolder; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; import ch.elexis.covid.cert.service.CertificateInfo; import ch.elexis.covid.cert.service.CertificatesService; import ch.elexis.covid.cert.service.rest.model.TestModel; @@ -55,7 +56,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional kkCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.KK_LAWS); + Optional kkCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.KK_LAWS); Optional todayCertificate = CovidHandlerUtil.getCertificateAtWithType(patient, LocalDate.now(), CertificateInfo.Type.TEST); if (kkCoverage.isPresent()) { diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenSz.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenSz.java index db77ec9e90..f7549cf849 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenSz.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAntigenSz.java @@ -26,6 +26,7 @@ import ch.elexis.core.services.ILocalDocumentService; import ch.elexis.core.services.holder.ContextServiceHolder; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; import ch.elexis.covid.cert.service.CertificateInfo; import ch.elexis.covid.cert.service.CertificatesService; import ch.elexis.covid.cert.service.rest.model.TestModel; @@ -55,7 +56,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional szCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.SZ_LAWS); + Optional szCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.SZ_LAWS); Optional todayCertificate = CovidHandlerUtil.getCertificateAtWithType(patient, LocalDate.now(), CertificateInfo.Type.TEST); if (todayCertificate.isPresent()) { diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestKk.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestKk.java index 5ca8cc1c01..90db347b6d 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestKk.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestKk.java @@ -24,6 +24,7 @@ import ch.elexis.core.services.ILocalDocumentService; import ch.elexis.core.services.holder.ContextServiceHolder; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; import ch.elexis.core.ui.text.TextContainer; import ch.elexis.data.Brief; import ch.elexis.data.Konsultation; @@ -47,7 +48,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional kkCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.KK_LAWS); + Optional kkCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.KK_LAWS); if (kkCoverage.isPresent()) { List existingLetters = CovidHandlerUtil.getLettersAt(patient, LocalDate.now(), new String[] { CovidHandlerUtil.ATTEST_POSITIV_LETTER_NAME, diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestSz.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestSz.java index 160a26cfc6..e1768e231b 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestSz.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidAttestSz.java @@ -24,6 +24,7 @@ import ch.elexis.core.services.ILocalDocumentService; import ch.elexis.core.services.holder.ContextServiceHolder; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; import ch.elexis.core.ui.text.TextContainer; import ch.elexis.data.Brief; import ch.elexis.data.Konsultation; @@ -47,7 +48,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional szCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.SZ_LAWS); + Optional szCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.SZ_LAWS); List existingLetters = CovidHandlerUtil.getLettersAt(patient, LocalDate.now(), new String[] { CovidHandlerUtil.ATTEST_POSITIV_LETTER_NAME, CovidHandlerUtil.ATTEST_NEGATIV_LETTER_NAME }); diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidHandlerUtil.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidHandlerUtil.java index a43729cef2..5934d34a1c 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidHandlerUtil.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidHandlerUtil.java @@ -61,26 +61,6 @@ public class CovidHandlerUtil { public static BillingLaw[] KK_LAWS = { BillingLaw.KVG }; public static BillingLaw[] SZ_LAWS = { BillingLaw.privat, BillingLaw.VVG }; - /** - * Search for the first open {@link ICoverage} of the {@link IPatient} with a - * matching law. - * - * @param patient - * @param law - * @return - */ - public static Optional getCoverageWithLaw(IPatient patient, BillingLaw... laws) { - ICoverage bestMatch = null; - for (ICoverage coverage : patient.getCoverages()) { - if (coverage.isOpen()) { - if (Arrays.asList(laws).contains(coverage.getBillingSystem().getLaw())) { - bestMatch = coverage; - } - } - } - return Optional.ofNullable(bestMatch); - } - /** * Get all configured covid {@link ICodeElementBlock} instances as map with id * as key. diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrKk.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrKk.java index c9cce9c22d..f264ba56c3 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrKk.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrKk.java @@ -19,6 +19,7 @@ import ch.elexis.core.model.ch.BillingLaw; import ch.elexis.core.services.IContextService; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; public class CovidPcrKk { @@ -31,7 +32,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional kkCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.KK_LAWS); + Optional kkCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.KK_LAWS); Optional pcrEncounter = CovidHandlerUtil .getEncountersAt(patient, LocalDate.now(), (BillingLaw[]) null).stream() .filter(e -> CovidHandlerUtil.isPcrBilled(e)).findFirst(); diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrSz.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrSz.java index 96309aa585..8f539bade1 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrSz.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidPcrSz.java @@ -19,6 +19,7 @@ import ch.elexis.core.model.ch.BillingLaw; import ch.elexis.core.services.IContextService; import ch.elexis.core.services.holder.CoreModelServiceHolder; +import ch.elexis.core.services.holder.CoverageServiceHolder; public class CovidPcrSz { @@ -31,7 +32,8 @@ public void execute() { activePatient.ifPresent(patient -> { Map blocks = CovidHandlerUtil.getConfiguredBlocks(); if (!blocks.isEmpty()) { - Optional szCoverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.SZ_LAWS); + Optional szCoverage = CoverageServiceHolder.get().getCoverageWithLaw(patient, + CovidHandlerUtil.SZ_LAWS); Optional pcrEncounter = CovidHandlerUtil .getEncountersAt(patient, LocalDate.now(), (BillingLaw[]) null).stream() .filter(e -> CovidHandlerUtil.isPcrBilled(e)).findFirst(); diff --git a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidTestBill.java b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidTestBill.java index c3880c4352..8a76f0c23e 100644 --- a/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidTestBill.java +++ b/bundles/ch.elexis.covid.cert/src/ch/elexis/covid/cert/ui/handler/CovidTestBill.java @@ -19,6 +19,7 @@ import ch.elexis.core.model.builder.IEncounterBuilder; import ch.elexis.core.model.ch.BillingLaw; import ch.elexis.core.services.IContextService; +import ch.elexis.core.services.ICoverageService; import ch.elexis.core.services.holder.ConfigServiceHolder; import ch.elexis.core.services.holder.CoreModelServiceHolder; @@ -26,6 +27,9 @@ public class CovidTestBill { @Inject private IContextService contextService; + + @Inject + private ICoverageService coverageService; @Execute public void execute() { @@ -40,7 +44,7 @@ public void execute() { ICoverage coverage = null; if (block == blocks.get(CovidHandlerUtil.CFG_KK_BLOCKID) || block == blocks.get(CovidHandlerUtil.CFG_KK_PCR_BLOCKID)) { - coverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.KK_LAWS) + coverage = coverageService.getCoverageWithLaw(patient, CovidHandlerUtil.KK_LAWS) .orElse(null); if (coverage == null) { Display.getDefault() @@ -49,7 +53,7 @@ public void execute() { "Es wurde noch kein Fall mit Gesetz KVG angelegt.")); } } else { - coverage = CovidHandlerUtil.getCoverageWithLaw(patient, CovidHandlerUtil.SZ_LAWS) + coverage = coverageService.getCoverageWithLaw(patient, CovidHandlerUtil.SZ_LAWS) .orElse(null); if (coverage == null) { coverage = createPrivateCoverage(patient);