Skip to content

Commit 7b3a227

Browse files
committed
merge development
2 parents 15007a0 + 7086e7a commit 7b3a227

36 files changed

Lines changed: 24465 additions & 1940 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/epipulse/EpipulseLaboratoryMapper.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
import java.util.ArrayList;
1919
import java.util.List;
20+
import java.util.regex.Matcher;
21+
import java.util.regex.Pattern;
2022

2123
import de.symeda.sormas.api.epidata.CaseImportedStatus;
2224
import de.symeda.sormas.api.epidata.ClusterType;
@@ -997,4 +999,20 @@ public static String mapMicSign(Float micValue, float lowerBound, float upperBou
997999
public static String mapMicSign(Float micValue) {
9981000
return mapMicSign(micValue, MIC_DILUTION_LOWER_BOUND, MIC_DILUTION_UPPER_BOUND);
9991001
}
1002+
1003+
/** Leading (optionally sign-prefixed) decimal at the start of a free-text MIC value; accepts "0.5", "5" and ".5". */
1004+
private static final Pattern MIC_NUMBER = Pattern.compile("^\\s*[<>=≤≥]*\\s*(\\d+(?:\\.\\d+)?|\\.\\d+)");
1005+
1006+
/**
1007+
* Extracts the numeric MIC from a free-text MIC value for EpiPulse export. Since #14036 the MIC is
1008+
* stored as free text (e.g. {@code "≤0.125 mg/L"} or a genotypic result like {@code "mecA detected"}),
1009+
* so this reads the leading number and ignores any sign/unit; returns {@code null} when no number is present.
1010+
*/
1011+
public static Float parseMicValue(String micText) {
1012+
if (micText == null) {
1013+
return null;
1014+
}
1015+
Matcher matcher = MIC_NUMBER.matcher(micText);
1016+
return matcher.find() ? Float.valueOf(matcher.group(1)) : null;
1017+
}
10001018
}

sormas-api/src/main/java/de/symeda/sormas/api/externalmessage/labmessage/TestReportDto.java

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -176,39 +176,39 @@ public class TestReportDto extends EntityDto {
176176
private RsvSubtype rsvSubtype;
177177

178178
// Drug susceptibility fields
179-
private Float amikacinMic;
179+
private String amikacinMic;
180180
private DrugSusceptibilityType amikacinSusceptibility;
181-
private Float bedaquilineMic;
181+
private String bedaquilineMic;
182182
private DrugSusceptibilityType bedaquilineSusceptibility;
183-
private Float capreomycinMic;
183+
private String capreomycinMic;
184184
private DrugSusceptibilityType capreomycinSusceptibility;
185-
private Float ciprofloxacinMic;
185+
private String ciprofloxacinMic;
186186
private DrugSusceptibilityType ciprofloxacinSusceptibility;
187-
private Float delamanidMic;
187+
private String delamanidMic;
188188
private DrugSusceptibilityType delamanidSusceptibility;
189-
private Float ethambutolMic;
189+
private String ethambutolMic;
190190
private DrugSusceptibilityType ethambutolSusceptibility;
191-
private Float gatifloxacinMic;
191+
private String gatifloxacinMic;
192192
private DrugSusceptibilityType gatifloxacinSusceptibility;
193-
private Float isoniazidMic;
193+
private String isoniazidMic;
194194
private DrugSusceptibilityType isoniazidSusceptibility;
195-
private Float kanamycinMic;
195+
private String kanamycinMic;
196196
private DrugSusceptibilityType kanamycinSusceptibility;
197-
private Float levofloxacinMic;
197+
private String levofloxacinMic;
198198
private DrugSusceptibilityType levofloxacinSusceptibility;
199-
private Float moxifloxacinMic;
199+
private String moxifloxacinMic;
200200
private DrugSusceptibilityType moxifloxacinSusceptibility;
201-
private Float ofloxacinMic;
201+
private String ofloxacinMic;
202202
private DrugSusceptibilityType ofloxacinSusceptibility;
203-
private Float rifampicinMic;
203+
private String rifampicinMic;
204204
private DrugSusceptibilityType rifampicinSusceptibility;
205-
private Float streptomycinMic;
205+
private String streptomycinMic;
206206
private DrugSusceptibilityType streptomycinSusceptibility;
207-
private Float ceftriaxoneMic;
207+
private String ceftriaxoneMic;
208208
private DrugSusceptibilityType ceftriaxoneSusceptibility;
209-
private Float penicillinMic;
209+
private String penicillinMic;
210210
private DrugSusceptibilityType penicillinSusceptibility;
211-
private Float erythromycinMic;
211+
private String erythromycinMic;
212212
private DrugSusceptibilityType erythromycinSusceptibility;
213213

214214
private SeroGroupSpecification seroGroupSpecification;
@@ -598,11 +598,11 @@ public void setRsvSubtype(RsvSubtype rsvSubtype) {
598598
}
599599

600600
// Drug susceptibility getters and setters
601-
public Float getAmikacinMic() {
601+
public String getAmikacinMic() {
602602
return amikacinMic;
603603
}
604604

605-
public void setAmikacinMic(Float amikacinMic) {
605+
public void setAmikacinMic(String amikacinMic) {
606606
this.amikacinMic = amikacinMic;
607607
}
608608

@@ -614,11 +614,11 @@ public void setAmikacinSusceptibility(DrugSusceptibilityType amikacinSusceptibil
614614
this.amikacinSusceptibility = amikacinSusceptibility;
615615
}
616616

617-
public Float getBedaquilineMic() {
617+
public String getBedaquilineMic() {
618618
return bedaquilineMic;
619619
}
620620

621-
public void setBedaquilineMic(Float bedaquilineMic) {
621+
public void setBedaquilineMic(String bedaquilineMic) {
622622
this.bedaquilineMic = bedaquilineMic;
623623
}
624624

@@ -630,11 +630,11 @@ public void setBedaquilineSusceptibility(DrugSusceptibilityType bedaquilineSusce
630630
this.bedaquilineSusceptibility = bedaquilineSusceptibility;
631631
}
632632

633-
public Float getCapreomycinMic() {
633+
public String getCapreomycinMic() {
634634
return capreomycinMic;
635635
}
636636

637-
public void setCapreomycinMic(Float capreomycinMic) {
637+
public void setCapreomycinMic(String capreomycinMic) {
638638
this.capreomycinMic = capreomycinMic;
639639
}
640640

@@ -646,11 +646,11 @@ public void setCapreomycinSusceptibility(DrugSusceptibilityType capreomycinSusce
646646
this.capreomycinSusceptibility = capreomycinSusceptibility;
647647
}
648648

649-
public Float getCiprofloxacinMic() {
649+
public String getCiprofloxacinMic() {
650650
return ciprofloxacinMic;
651651
}
652652

653-
public void setCiprofloxacinMic(Float ciprofloxacinMic) {
653+
public void setCiprofloxacinMic(String ciprofloxacinMic) {
654654
this.ciprofloxacinMic = ciprofloxacinMic;
655655
}
656656

@@ -662,11 +662,11 @@ public void setCiprofloxacinSusceptibility(DrugSusceptibilityType ciprofloxacinS
662662
this.ciprofloxacinSusceptibility = ciprofloxacinSusceptibility;
663663
}
664664

665-
public Float getDelamanidMic() {
665+
public String getDelamanidMic() {
666666
return delamanidMic;
667667
}
668668

669-
public void setDelamanidMic(Float delamanidMic) {
669+
public void setDelamanidMic(String delamanidMic) {
670670
this.delamanidMic = delamanidMic;
671671
}
672672

@@ -678,11 +678,11 @@ public void setDelamanidSusceptibility(DrugSusceptibilityType delamanidSusceptib
678678
this.delamanidSusceptibility = delamanidSusceptibility;
679679
}
680680

681-
public Float getEthambutolMic() {
681+
public String getEthambutolMic() {
682682
return ethambutolMic;
683683
}
684684

685-
public void setEthambutolMic(Float ethambutolMic) {
685+
public void setEthambutolMic(String ethambutolMic) {
686686
this.ethambutolMic = ethambutolMic;
687687
}
688688

@@ -694,11 +694,11 @@ public void setEthambutolSusceptibility(DrugSusceptibilityType ethambutolSuscept
694694
this.ethambutolSusceptibility = ethambutolSusceptibility;
695695
}
696696

697-
public Float getGatifloxacinMic() {
697+
public String getGatifloxacinMic() {
698698
return gatifloxacinMic;
699699
}
700700

701-
public void setGatifloxacinMic(Float gatifloxacinMic) {
701+
public void setGatifloxacinMic(String gatifloxacinMic) {
702702
this.gatifloxacinMic = gatifloxacinMic;
703703
}
704704

@@ -710,11 +710,11 @@ public void setGatifloxacinSusceptibility(DrugSusceptibilityType gatifloxacinSus
710710
this.gatifloxacinSusceptibility = gatifloxacinSusceptibility;
711711
}
712712

713-
public Float getIsoniazidMic() {
713+
public String getIsoniazidMic() {
714714
return isoniazidMic;
715715
}
716716

717-
public void setIsoniazidMic(Float isoniazidMic) {
717+
public void setIsoniazidMic(String isoniazidMic) {
718718
this.isoniazidMic = isoniazidMic;
719719
}
720720

@@ -726,11 +726,11 @@ public void setIsoniazidSusceptibility(DrugSusceptibilityType isoniazidSusceptib
726726
this.isoniazidSusceptibility = isoniazidSusceptibility;
727727
}
728728

729-
public Float getKanamycinMic() {
729+
public String getKanamycinMic() {
730730
return kanamycinMic;
731731
}
732732

733-
public void setKanamycinMic(Float kanamycinMic) {
733+
public void setKanamycinMic(String kanamycinMic) {
734734
this.kanamycinMic = kanamycinMic;
735735
}
736736

@@ -742,11 +742,11 @@ public void setKanamycinSusceptibility(DrugSusceptibilityType kanamycinSusceptib
742742
this.kanamycinSusceptibility = kanamycinSusceptibility;
743743
}
744744

745-
public Float getLevofloxacinMic() {
745+
public String getLevofloxacinMic() {
746746
return levofloxacinMic;
747747
}
748748

749-
public void setLevofloxacinMic(Float levofloxacinMic) {
749+
public void setLevofloxacinMic(String levofloxacinMic) {
750750
this.levofloxacinMic = levofloxacinMic;
751751
}
752752

@@ -758,11 +758,11 @@ public void setLevofloxacinSusceptibility(DrugSusceptibilityType levofloxacinSus
758758
this.levofloxacinSusceptibility = levofloxacinSusceptibility;
759759
}
760760

761-
public Float getMoxifloxacinMic() {
761+
public String getMoxifloxacinMic() {
762762
return moxifloxacinMic;
763763
}
764764

765-
public void setMoxifloxacinMic(Float moxifloxacinMic) {
765+
public void setMoxifloxacinMic(String moxifloxacinMic) {
766766
this.moxifloxacinMic = moxifloxacinMic;
767767
}
768768

@@ -774,11 +774,11 @@ public void setMoxifloxacinSusceptibility(DrugSusceptibilityType moxifloxacinSus
774774
this.moxifloxacinSusceptibility = moxifloxacinSusceptibility;
775775
}
776776

777-
public Float getOfloxacinMic() {
777+
public String getOfloxacinMic() {
778778
return ofloxacinMic;
779779
}
780780

781-
public void setOfloxacinMic(Float ofloxacinMic) {
781+
public void setOfloxacinMic(String ofloxacinMic) {
782782
this.ofloxacinMic = ofloxacinMic;
783783
}
784784

@@ -790,11 +790,11 @@ public void setOfloxacinSusceptibility(DrugSusceptibilityType ofloxacinSusceptib
790790
this.ofloxacinSusceptibility = ofloxacinSusceptibility;
791791
}
792792

793-
public Float getRifampicinMic() {
793+
public String getRifampicinMic() {
794794
return rifampicinMic;
795795
}
796796

797-
public void setRifampicinMic(Float rifampicinMic) {
797+
public void setRifampicinMic(String rifampicinMic) {
798798
this.rifampicinMic = rifampicinMic;
799799
}
800800

@@ -806,11 +806,11 @@ public void setRifampicinSusceptibility(DrugSusceptibilityType rifampicinSuscept
806806
this.rifampicinSusceptibility = rifampicinSusceptibility;
807807
}
808808

809-
public Float getStreptomycinMic() {
809+
public String getStreptomycinMic() {
810810
return streptomycinMic;
811811
}
812812

813-
public void setStreptomycinMic(Float streptomycinMic) {
813+
public void setStreptomycinMic(String streptomycinMic) {
814814
this.streptomycinMic = streptomycinMic;
815815
}
816816

@@ -822,11 +822,11 @@ public void setStreptomycinSusceptibility(DrugSusceptibilityType streptomycinSus
822822
this.streptomycinSusceptibility = streptomycinSusceptibility;
823823
}
824824

825-
public Float getCeftriaxoneMic() {
825+
public String getCeftriaxoneMic() {
826826
return ceftriaxoneMic;
827827
}
828828

829-
public void setCeftriaxoneMic(Float ceftriaxoneMic) {
829+
public void setCeftriaxoneMic(String ceftriaxoneMic) {
830830
this.ceftriaxoneMic = ceftriaxoneMic;
831831
}
832832

@@ -838,11 +838,11 @@ public void setCeftriaxoneSusceptibility(DrugSusceptibilityType ceftriaxoneSusce
838838
this.ceftriaxoneSusceptibility = ceftriaxoneSusceptibility;
839839
}
840840

841-
public Float getPenicillinMic() {
841+
public String getPenicillinMic() {
842842
return penicillinMic;
843843
}
844844

845-
public void setPenicillinMic(Float penicillinMic) {
845+
public void setPenicillinMic(String penicillinMic) {
846846
this.penicillinMic = penicillinMic;
847847
}
848848

@@ -854,11 +854,11 @@ public void setPenicillinSusceptibility(DrugSusceptibilityType penicillinSuscept
854854
this.penicillinSusceptibility = penicillinSusceptibility;
855855
}
856856

857-
public Float getErythromycinMic() {
857+
public String getErythromycinMic() {
858858
return erythromycinMic;
859859
}
860860

861-
public void setErythromycinMic(Float erythromycinMic) {
861+
public void setErythromycinMic(String erythromycinMic) {
862862
this.erythromycinMic = erythromycinMic;
863863
}
864864

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,9 @@ public interface Strings {
464464
String headingArchiveImmunization = "headingArchiveImmunization";
465465
String headingArchiveSelfReport = "headingArchiveSelfReport";
466466
String headingArchiveTravelEntry = "headingArchiveTravelEntry";
467+
String headingAstInterpretation = "headingAstInterpretation";
468+
String headingAstMethod = "headingAstMethod";
469+
String headingAstValue = "headingAstValue";
467470
String headingAutomaticDeletionStarted = "headingAutomaticDeletionStarted";
468471
String headingAutomaticVaccinationStatusDetermination = "headingAutomaticVaccinationStatusDetermination";
469472
String headingBulkEmailMaxAttachedFiles = "headingBulkEmailMaxAttachedFiles";
@@ -1945,7 +1948,6 @@ public interface Strings {
19451948
String promptSelfReportEpiWeekFrom = "promptSelfReportEpiWeekFrom";
19461949
String promptSelfReportEpiWeekTo = "promptSelfReportEpiWeekTo";
19471950
String promptSelfReportFreeTextSearch = "promptSelfReportFreeTextSearch";
1948-
String promptSurveillanceInterpretation = "promptSurveillanceInterpretation";
19491951
String promptSurvey = "promptSurvey";
19501952
String promptSurveyAssignedFrom = "promptSurveyAssignedFrom";
19511953
String promptSurveyAssignedTo = "promptSurveyAssignedTo";
@@ -1969,7 +1971,6 @@ public interface Strings {
19691971
String promptTreatmentTextFilter = "promptTreatmentTextFilter";
19701972
String promptTypeToAdd = "promptTypeToAdd";
19711973
String promptUserSearch = "promptUserSearch";
1972-
String promptZoneDiameter = "promptZoneDiameter";
19731974
String promtSampleDataType = "promtSampleDataType";
19741975
String prophylaxisStatus = "prophylaxisStatus";
19751976
String pseudonymizedCasesSelectedWarning = "pseudonymizedCasesSelectedWarning";

sormas-api/src/main/java/de/symeda/sormas/api/person/PersonDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ public class PersonDto extends PseudonymizableDto implements IsPerson {
290290
Disease.POLIO,
291291
Disease.UNSPECIFIED_VHF,
292292
Disease.CORONAVIRUS,
293+
Disease.PERTUSSIS,
293294
Disease.UNDEFINED,
294295
Disease.OTHER })
295296
private DeathPlaceType deathPlaceType;
@@ -300,6 +301,7 @@ public class PersonDto extends PseudonymizableDto implements IsPerson {
300301
Disease.POLIO,
301302
Disease.UNSPECIFIED_VHF,
302303
Disease.CORONAVIRUS,
304+
Disease.PERTUSSIS,
303305
Disease.UNDEFINED,
304306
Disease.OTHER })
305307
@SensitiveData

sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,8 @@ public static SymptomsDto build() {
805805
@SymptomGrouping(SymptomGroup.OTHER)
806806
private SymptomState eyesBleeding;
807807

808-
@Diseases({})
808+
@Diseases({
809+
SALMONELLOSIS })
809810
@HideForCountriesExcept(countries = {
810811
CountryHelper.COUNTRY_CODE_LUXEMBOURG })
811812
@SymptomGrouping(SymptomGroup.OTHER)
@@ -1936,6 +1937,7 @@ public static SymptomsDto build() {
19361937
GIARDIASIS,
19371938
CRYPTOSPORIDIOSIS,
19381939
MALARIA,
1940+
SALMONELLOSIS,
19391941
SHIGELLOSIS,
19401942
UNDEFINED,
19411943
OTHER })

0 commit comments

Comments
 (0)