@@ -74,6 +74,9 @@ public abstract class AbstractCaseView extends AbstractEditAllowedDetailView<Cas
7474 Disease .CRYPTOSPORIDIOSIS ,
7575 Disease .LATENT_TUBERCULOSIS )));
7676
77+ public static final Set <Disease > NON_LUX_CLINICAL_COURSE_DISABLED_DISEASES =
78+ Collections .unmodifiableSet (new HashSet <>(Arrays .asList (Disease .LATENT_TUBERCULOSIS , Disease .INFLUENZA )));
79+
7780 public static final Set <Disease > THERAPY_DISABLED_DISEASES =
7881 Collections .unmodifiableSet (new HashSet <>(Arrays .asList (Disease .MEASLES , Disease .GIARDIASIS , Disease .CRYPTOSPORIDIOSIS )));
7982
@@ -89,6 +92,7 @@ public abstract class AbstractCaseView extends AbstractEditAllowedDetailView<Cas
8992 private final boolean redirectSimpleModeToCaseDataView ;
9093 private final OptionGroup viewModeToggle ;
9194 private final Property .ValueChangeListener viewModeToggleListener ;
95+ boolean isLuxembourg = FacadeProvider .getConfigFacade ().isConfiguredCountry (CountryHelper .COUNTRY_CODE_LUXEMBOURG );
9296
9397 protected AbstractCaseView (String viewName , boolean redirectSimpleModeToCaseDataView ) {
9498 super (viewName );
@@ -227,15 +231,14 @@ public void refreshMenu(SubMenu menu, String params) {
227231 }
228232
229233 if (showExtraMenuEntries ) {
234+ // Clinical course is disabled for Luxembourg for Measles, IMI, IPI, GIARDIASIS, Cryptosporidiosis cases,
235+ // and for all other countries Influenza cases. #13708 and LTB. #14038
236+ boolean isDiseaseDisabled = isLuxembourg
237+ ? CLINICAL_COURSE_DISABLED_DISEASES .contains (caze .getDisease ())
238+ : NON_LUX_CLINICAL_COURSE_DISABLED_DISEASES .contains (caze .getDisease ());
230239 if (UiUtil .permitted (
231240 EnumSet .of (FeatureType .VIEW_TAB_CASES_FOLLOW_UP , FeatureType .VIEW_TAB_CASES_CLINICAL_COURSE , FeatureType .CLINICAL_MANAGEMENT ),
232- UserRight .CLINICAL_COURSE_VIEW )
233- && !caze .checkIsUnreferredPortHealthCase ()
234- && !(FacadeProvider .getConfigFacade ().isConfiguredCountry (CountryHelper .COUNTRY_CODE_LUXEMBOURG )
235- && CLINICAL_COURSE_DISABLED_DISEASES .contains (caze .getDisease ()))
236- && Disease .INFLUENZA != caze .getDisease ()) {
237- // clinical course view is not available for Luxembourg for Measles, IMI, IPI, GIARDIASIS, Cryptosporidiosis cases,
238- // and for all other countries Influenza cases. 13708
241+ UserRight .CLINICAL_COURSE_VIEW ) && !caze .checkIsUnreferredPortHealthCase () && !isDiseaseDisabled ) {
239242 menu .addView (
240243 ClinicalCourseView .VIEW_NAME ,
241244 I18nProperties .getPrefixCaption (CaseDataDto .I18N_PREFIX , CaseDataDto .CLINICAL_COURSE ),
0 commit comments