Skip to content

Commit e29be2b

Browse files
Merge pull request #13889 from SORMAS-Foundation/feature-13814-dengue-enhance-sample-form
Summary: Malaria and Dengue Sample and Pathogentestform changes.
2 parents d7daea9 + 2dcf763 commit e29be2b

40 files changed

+1148
-248
lines changed

sormas-api/src/main/java/de/symeda/sormas/api/clinicalcourse/HealthConditionsDto.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ public class HealthConditionsDto extends PseudonymizableDto {
5858
public static final String EXPOSED_TO_MOSQUITO_BORNE_VIRUSES = "exposedToMosquitoBorneViruses";
5959
public static final String EXPOSED_TO_MOSQUITO_BORNE_VIRUSES_TEXT = "exposedToMosquitoBorneVirusesText";
6060
public static final String VACCINATED_AGAINST_MOSQUITO_BORNE_VIRUSES = "vaccinatedAgainstMosquitoBorneViruses";
61+
public static final String MALARIA = "malaria";
62+
public static final String MALARIA_INFECTED_YEAR = "malariaInfectedYear";
6163

6264
@HideForCountries(countries = {
6365
CountryHelper.COUNTRY_CODE_GERMANY,
@@ -170,6 +172,14 @@ public class HealthConditionsDto extends PseudonymizableDto {
170172
Disease.DENGUE })
171173
private YesNoUnknown vaccinatedAgainstMosquitoBorneViruses;
172174

175+
@Diseases(value = {
176+
Disease.MALARIA })
177+
private YesNoUnknown malaria;
178+
179+
@Diseases(value = {
180+
Disease.MALARIA })
181+
private Integer malariaInfectedYear;
182+
173183
public static HealthConditionsDto build() {
174184
HealthConditionsDto healthConditions = new HealthConditionsDto();
175185
healthConditions.setUuid(DataHelper.createUuid());
@@ -447,4 +457,20 @@ public YesNoUnknown getVaccinatedAgainstMosquitoBorneViruses() {
447457
public void setVaccinatedAgainstMosquitoBorneViruses(YesNoUnknown vaccinatedAgainstMosquitoBorneViruses) {
448458
this.vaccinatedAgainstMosquitoBorneViruses = vaccinatedAgainstMosquitoBorneViruses;
449459
}
460+
461+
public YesNoUnknown getMalaria() {
462+
return malaria;
463+
}
464+
465+
public void setMalaria(YesNoUnknown malaria) {
466+
this.malaria = malaria;
467+
}
468+
469+
public Integer getMalariaInfectedYear() {
470+
return malariaInfectedYear;
471+
}
472+
473+
public void setMalariaInfectedYear(Integer malariaInfectedYear) {
474+
this.malariaInfectedYear = malariaInfectedYear;
475+
}
450476
}

sormas-api/src/main/java/de/symeda/sormas/api/disease/DiseaseConfigurationFacade.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public interface DiseaseConfigurationFacade {
5454

5555
int getMinIncubationPeriod(Disease disease);
5656

57+
DiseaseConfigurationDto getDiseaseConfiguration(Disease disease);
58+
5759
String getCaseDefinitionText(Disease disease);
5860

5961
Integer getAutomaticSampleAssignmentThreshold(Disease disease);
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
3+
* Copyright © 2016-2026 SORMAS Foundation gGmbH
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
* You should have received a copy of the GNU General Public License
13+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
14+
*/
15+
package de.symeda.sormas.api.epidata;
16+
17+
import de.symeda.sormas.api.i18n.I18nProperties;
18+
19+
public enum DiseaseTransmission {
20+
21+
TRANSMITTED_WITH_MOSQUITOES_FROM_ENDEMIC_COUNTRY,
22+
TRANSMITTED_WITH_MOSQUITOES_BY_AIR,
23+
TRANSMITTED_THROUGH_MEDICAL_CARE,
24+
TRANSMITTED_WITH_STRONG_EPI_EVIDENCE,
25+
TRANSMITTED_WITHOUT_EVIDENCE,
26+
TRANSMITTED_FROM_MOTHER_TO_CHILD,
27+
TRANSMITTED_BY_LAB,
28+
TRANSFUSION_TRANSPLANT_RECIPIENT,
29+
OTHER,
30+
UNKNOWN;
31+
32+
@Override
33+
public String toString() {
34+
return I18nProperties.getEnumCaption(this);
35+
}
36+
}

sormas-api/src/main/java/de/symeda/sormas/api/epidata/EpiDataDto.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package de.symeda.sormas.api.epidata;
1919

2020
import java.util.ArrayList;
21+
import java.util.Date;
2122
import java.util.List;
2223

2324
import javax.validation.Valid;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public class EpipulseDiseaseExportEntryDto {
8787
private Date dateOfLaboratoryResult;
8888
private List<String> typeOfSpecimenCollected; // SampleMaterial mapped to EpiPulse codes (repeatable)
8989
private String resultOfVirusDetection; // PathogenTestResultType mapped to POS/NEG/EQUI/NOTEST
90-
private String genotype; // PathogenTest typingId/genoTypeResult
90+
private String genotype; // PathogenTest typingId/genoType
9191
private List<String> typeOfSpecimenSerology; // SampleMaterial for serology tests (repeatable)
9292
private String resultIgG; // IgG test result
9393
private String resultIgM; // IgM test result

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public static String mapTestResultToEpipulseCode(PathogenTestResultType testResu
116116
* MEASV_C1, MEASV_C2, MEASV_D1-D11, MEASV_E, MEASV_F, MEASV_G1-G3, MEASV_H1-H2, etc.
117117
*
118118
* @param genotypeText
119-
* SORMAS genotype string (from typingId or genoTypeResult)
119+
* SORMAS genotype string (from typingId or genoType)
120120
* @return Normalized EpiPulse genotype code, or null if not a valid measles genotype
121121
*/
122122
public static String normalizeGenotypeForEpipulse(String genotypeText) {

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import de.symeda.sormas.api.feature.FeatureType;
1212
import de.symeda.sormas.api.i18n.Validations;
1313
import de.symeda.sormas.api.infrastructure.country.CountryReferenceDto;
14-
import de.symeda.sormas.api.sample.GenoTypeResult;
14+
import de.symeda.sormas.api.sample.GenoType;
1515
import de.symeda.sormas.api.sample.PCRTestSpecification;
1616
import de.symeda.sormas.api.sample.PathogenSpecie;
1717
import de.symeda.sormas.api.sample.PathogenStrainCallStatus;
@@ -168,7 +168,7 @@ public class TestReportDto extends EntityDto {
168168
@HideForCountriesExcept(countries = CountryHelper.COUNTRY_CODE_LUXEMBOURG)
169169
private CountryReferenceDto prescriberCountry;
170170
@HideForCountriesExcept(countries = CountryHelper.COUNTRY_CODE_LUXEMBOURG)
171-
private GenoTypeResult genoTypeResult;
171+
private GenoType genoType;
172172
@HideForCountriesExcept(countries = CountryHelper.COUNTRY_CODE_LUXEMBOURG)
173173
private RsvSubtype rsvSubtype;
174174

@@ -572,12 +572,12 @@ public void setPrescriberCountry(CountryReferenceDto prescriberCountry) {
572572
this.prescriberCountry = prescriberCountry;
573573
}
574574

575-
public GenoTypeResult getGenoTypeResult() {
576-
return genoTypeResult;
575+
public GenoType getGenoType() {
576+
return genoType;
577577
}
578578

579-
public void setGenoTypeResult(GenoTypeResult genoTypeResult) {
580-
this.genoTypeResult = genoTypeResult;
579+
public void setGenoType(GenoType genoType) {
580+
this.genoType = genoType;
581581
}
582582

583583
public RsvSubtype getRsvSubtype() {

sormas-api/src/main/java/de/symeda/sormas/api/externalmessage/processing/ExternalMessageMapper.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import de.symeda.sormas.api.sample.PathogenTestDto;
5656
import de.symeda.sormas.api.sample.PathogenTestResultType;
5757
import de.symeda.sormas.api.sample.SampleDto;
58+
import de.symeda.sormas.api.sample.Serotype;
5859
import de.symeda.sormas.api.therapy.DrugSusceptibilityDto;
5960
import de.symeda.sormas.api.utils.DataHelper;
6061
import de.symeda.sormas.api.utils.DateHelper;
@@ -705,11 +706,7 @@ public List<String[]> mapToPathogenTest(TestReportDto sourceTestReport, Pathogen
705706
pathogenTest.getPrescriberCountry(),
706707
sourceTestReport.getPrescriberCountry(),
707708
PathogenTestDto.PRESCRIBER_COUNTRY),
708-
Mapping.of(
709-
pathogenTest::setGenoTypeResult,
710-
pathogenTest.getGenoTypeResult(),
711-
sourceTestReport.getGenoTypeResult(),
712-
PathogenTestDto.GENOTYPE_RESULT),
709+
Mapping.of(pathogenTest::setGenoType, pathogenTest.getGenoType(), sourceTestReport.getGenoType(), PathogenTestDto.GENOTYPE),
713710
Mapping.of(
714711
pathogenTest::setSeroGroupSpecification,
715712
pathogenTest.getSeroGroupSpecification(),
@@ -720,7 +717,11 @@ public List<String[]> mapToPathogenTest(TestReportDto sourceTestReport, Pathogen
720717
pathogenTest.getSeroGroupSpecificationText(),
721718
sourceTestReport.getSeroGroupSpecificationText(),
722719
PathogenTestDto.SERO_GROUP_SPECIFICATION),
723-
Mapping.of(pathogenTest::setSerotype, pathogenTest.getSerotype(), sourceTestReport.getSerotype(), PathogenTestDto.SEROTYPE),
720+
Mapping.of(
721+
pathogenTest::setSerotype,
722+
pathogenTest.getSerotype(),
723+
Serotype.fromString(sourceTestReport.getSerotype()),
724+
PathogenTestDto.SEROTYPE),
724725
Mapping.of(
725726
pathogenTest::setSeroTypingMethod,
726727
pathogenTest.getSeroTypingMethod(),

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,6 +2032,8 @@ public interface Captions {
20322032
String HealthConditions_immunodeficiencyOtherThanHiv = "HealthConditions.immunodeficiencyOtherThanHiv";
20332033
String HealthConditions_immunodeficiencyOtherThanHivText = "HealthConditions.immunodeficiencyOtherThanHivText";
20342034
String HealthConditions_immunodepression = "HealthConditions.immunodepression";
2035+
String HealthConditions_malaria = "HealthConditions.malaria";
2036+
String HealthConditions_malariaInfectedYear = "HealthConditions.malariaInfectedYear";
20352037
String HealthConditions_malignancyChemotherapy = "HealthConditions.malignancyChemotherapy";
20362038
String HealthConditions_obesity = "HealthConditions.obesity";
20372039
String HealthConditions_otherConditions = "HealthConditions.otherConditions";
@@ -2271,6 +2273,7 @@ public interface Captions {
22712273
String outbreakOutbreak = "outbreakOutbreak";
22722274
String passportNumber = "passportNumber";
22732275
String PathogenTest = "PathogenTest";
2276+
String PathogenTest_antibodyTitre = "PathogenTest.antibodyTitre";
22742277
String PathogenTest_cqValue = "PathogenTest.cqValue";
22752278
String PathogenTest_ctValueE = "PathogenTest.ctValueE";
22762279
String PathogenTest_ctValueN = "PathogenTest.ctValueN";
@@ -2283,14 +2286,16 @@ public interface Captions {
22832286
String PathogenTest_externalId = "PathogenTest.externalId";
22842287
String PathogenTest_externalOrderId = "PathogenTest.externalOrderId";
22852288
String PathogenTest_fourFoldIncreaseAntibodyTiter = "PathogenTest.fourFoldIncreaseAntibodyTiter";
2286-
String PathogenTest_genoTypeResult = "PathogenTest.genoTypeResult";
2287-
String PathogenTest_genoTypeResultText = "PathogenTest.genoTypeResultText";
2289+
String PathogenTest_fourFoldIncreaseAntibodyTiter_DENGUE = "PathogenTest.fourFoldIncreaseAntibodyTiter.DENGUE";
2290+
String PathogenTest_genoType = "PathogenTest.genoType";
2291+
String PathogenTest_genoTypeText = "PathogenTest.genoTypeText";
22882292
String PathogenTest_isoniazidResistant = "PathogenTest.isoniazidResistant";
22892293
String PathogenTest_lab = "PathogenTest.lab";
22902294
String PathogenTest_labDetails = "PathogenTest.labDetails";
22912295
String PathogenTest_otherDeletionReason = "PathogenTest.otherDeletionReason";
22922296
String PathogenTest_patternProfile = "PathogenTest.patternProfile";
22932297
String PathogenTest_pcrTestSpecification = "PathogenTest.pcrTestSpecification";
2298+
String PathogenTest_performedByReferenceLaboratory = "PathogenTest.performedByReferenceLaboratory";
22942299
String PathogenTest_preliminary = "PathogenTest.preliminary";
22952300
String PathogenTest_prescriber = "PathogenTest.prescriber";
22962301
String PathogenTest_prescriberAddress = "PathogenTest.prescriberAddress";
@@ -2302,15 +2307,19 @@ public interface Captions {
23022307
String PathogenTest_prescriberPhysicianCode = "PathogenTest.prescriberPhysicianCode";
23032308
String PathogenTest_prescriberPostalCode = "PathogenTest.prescriberPostalCode";
23042309
String PathogenTest_reportDate = "PathogenTest.reportDate";
2310+
String PathogenTest_resultDetails = "PathogenTest.resultDetails";
2311+
String PathogenTest_retestRequested = "PathogenTest.retestRequested";
23052312
String PathogenTest_rifampicinResistant = "PathogenTest.rifampicinResistant";
23062313
String PathogenTest_rsv_testedDiseaseVariant = "PathogenTest.rsv.testedDiseaseVariant";
23072314
String PathogenTest_rsv_testedDiseaseVariantDetails = "PathogenTest.rsv.testedDiseaseVariantDetails";
23082315
String PathogenTest_seroGroupSpecification = "PathogenTest.seroGroupSpecification";
23092316
String PathogenTest_seroGroupSpecificationText = "PathogenTest.seroGroupSpecificationText";
23102317
String PathogenTest_serotype = "PathogenTest.serotype";
2318+
String PathogenTest_serotypeText = "PathogenTest.serotypeText";
23112319
String PathogenTest_seroTypingMethod = "PathogenTest.seroTypingMethod";
23122320
String PathogenTest_seroTypingMethodText = "PathogenTest.seroTypingMethodText";
23132321
String PathogenTest_specie = "PathogenTest.specie";
2322+
String PathogenTest_specieText = "PathogenTest.specieText";
23142323
String PathogenTest_strainCallStatus = "PathogenTest.strainCallStatus";
23152324
String PathogenTest_testDateTime = "PathogenTest.testDateTime";
23162325
String PathogenTest_testedDisease = "PathogenTest.testedDisease";

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ public interface Strings {
402402
String errorViewNotFound = "errorViewNotFound";
403403
String errorWasReported = "errorWasReported";
404404
String errorWritingTemplate = "errorWritingTemplate";
405+
String exposureEndDate = "exposureEndDate";
406+
String exposureStartDate = "exposureStartDate";
405407
String externalMessageMultipleSampleReports = "externalMessageMultipleSampleReports";
406408
String ExternalSurveillanceToolGateway_confirmDeleteCase = "ExternalSurveillanceToolGateway.confirmDeleteCase";
407409
String ExternalSurveillanceToolGateway_confirmDeleteEvent = "ExternalSurveillanceToolGateway.confirmDeleteEvent";

0 commit comments

Comments
 (0)