diff --git a/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java b/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java index 63749d87c5e..a79ffbfe2fc 100644 --- a/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java +++ b/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java @@ -340,7 +340,7 @@ public enum SampleMaterial { PLEURAL_FLUID, // Re-activated for RSV new samples (#14023): the RSV specimen requirements list Nasopharyngeal lavage. - // No canonical SNOMED-CT code on the specimen sheet, so its SNOMED export stays null. + // No canonical SNOMED-CT code on the specimen sheet, so its SNOMED export stays null. @Diseases(value = { Disease.RESPIRATORY_SYNCYTIAL_VIRUS }) NASOPHARYNGEAL_LAVAGE, @@ -367,11 +367,10 @@ public enum SampleMaterial { Disease.SHIGELLOSIS }, hide = true) AMNIOTIC_FLUID, - @Diseases(value = { - Disease.RESPIRATORY_SYNCYTIAL_VIRUS, - Disease.GIARDIASIS }, hide = true) + // Clinical Sample (Other) is offered for every disease (#14018) — no @Diseases means "visible for all". CLINICAL_SAMPLE, + // Lux hide lifted so Peritoneal fluid shows for IPI on Luxembourg servers (#14156). @Diseases(value = { Disease.RESPIRATORY_SYNCYTIAL_VIRUS, Disease.INVASIVE_MENINGOCOCCAL_INFECTION, @@ -381,8 +380,6 @@ public enum SampleMaterial { Disease.MALARIA, Disease.DENGUE, Disease.SALMONELLOSIS }, hide = true) - @HideForCountries(countries = { - CountryHelper.COUNTRY_CODE_LUXEMBOURG }) PERITONEAL_FLUID, @Diseases(value = { diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java index 9b03418e394..63ab4007782 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java @@ -152,5 +152,4 @@ protected void unbindLegacyFields() { drugSusceptibilityField = null; } } - } diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java index 2177d1e3a43..870449eed9c 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java @@ -348,6 +348,17 @@ public void markAsDirty() { super.markAsDirty(); } + @Override + public void commit() { + // When no DrugSusceptibilityDto is bound (e.g. after a disease-section swap nulls it), the internal + // field group has no item datasource, so committing its always-bound drug fields would throw + // "Property amikacinMic not bound to datasource" (#14124). Nothing to write, so skip the commit. + if (getValue() == null) { + return; + } + super.commit(); + } + public void forceUpdateDrugSusceptibilityFields() { final DrugSusceptibilityDto drugSusceptibilityDto = getValue(); if (drugSusceptibilityDto == null) {