Skip to content

Commit bb53c0c

Browse files
Merge branch 'development' into feature-13965-shigellosis-lab-messages
# Conflicts: # sormas-backend/src/main/resources/sql/sormas_schema.sql
2 parents a0d5ef6 + 01c1335 commit bb53c0c

56 files changed

Lines changed: 784 additions & 48 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseDataDto.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
137137
public static final String EPI_DATA = "epiData";
138138
public static final String THERAPY = "therapy";
139139
public static final String CLINICAL_COURSE = "clinicalCourse";
140+
public static final String LAB_RESULTS = "labResults";
140141
public static final String MATERNAL_HISTORY = "maternalHistory";
141142
public static final String PORT_HEALTH_INFO = "portHealthInfo";
142143
public static final String HEALTH_CONDITIONS = "healthConditions";
@@ -166,6 +167,9 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
166167
public static final String POINT_OF_ENTRY = "pointOfEntry";
167168
public static final String POINT_OF_ENTRY_DETAILS = "pointOfEntryDetails";
168169
public static final String ADDITIONAL_DETAILS = "additionalDetails";
170+
public static final String DATE_OTHER = "dateOther";
171+
public static final String DATE_OTHER_DETAILS = "dateOtherDetails";
172+
public static final String EXTERNAL_COMMENTS = "externalComments";
169173
public static final String EXTERNAL_ID = "externalID";
170174
public static final String EXTERNAL_TOKEN = "externalToken";
171175
public static final String INTERNAL_TOKEN = "internalToken";
@@ -484,6 +488,15 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
484488
@SensitiveData
485489
@Size(max = FieldConstraints.CHARACTER_LIMIT_TEXT, message = Validations.textTooLong)
486490
private String additionalDetails;
491+
@S2SIgnoreProperty(configProperty = SormasToSormasConfig.SORMAS2SORMAS_IGNORE_ADDITIONAL_DETAILS)
492+
private Date dateOther;
493+
@S2SIgnoreProperty(configProperty = SormasToSormasConfig.SORMAS2SORMAS_IGNORE_ADDITIONAL_DETAILS)
494+
@Size(max = FieldConstraints.CHARACTER_LIMIT_DEFAULT, message = Validations.textTooLong)
495+
private String dateOtherDetails;
496+
@S2SIgnoreProperty(configProperty = SormasToSormasConfig.SORMAS2SORMAS_IGNORE_ADDITIONAL_DETAILS)
497+
@SensitiveData
498+
@Size(max = FieldConstraints.CHARACTER_LIMIT_TEXT, message = Validations.textTooLong)
499+
private String externalComments;
487500
@HideForCountriesExcept(countries = {
488501
COUNTRY_CODE_GERMANY,
489502
COUNTRY_CODE_SWITZERLAND })
@@ -1383,6 +1396,30 @@ public void setAdditionalDetails(String additionalDetails) {
13831396
this.additionalDetails = additionalDetails;
13841397
}
13851398

1399+
public Date getDateOther() {
1400+
return dateOther;
1401+
}
1402+
1403+
public void setDateOther(Date dateOther) {
1404+
this.dateOther = dateOther;
1405+
}
1406+
1407+
public String getDateOtherDetails() {
1408+
return dateOtherDetails;
1409+
}
1410+
1411+
public void setDateOtherDetails(String dateOtherDetails) {
1412+
this.dateOtherDetails = dateOtherDetails;
1413+
}
1414+
1415+
public String getExternalComments() {
1416+
return externalComments;
1417+
}
1418+
1419+
public void setExternalComments(String externalComments) {
1420+
this.externalComments = externalComments;
1421+
}
1422+
13861423
public String getExternalID() {
13871424
return externalID;
13881425
}

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,8 @@ public interface Captions {
682682
String CaseData_contactTracingFirstContactDate = "CaseData.contactTracingFirstContactDate";
683683
String CaseData_contactTracingFirstContactType = "CaseData.contactTracingFirstContactType";
684684
String CaseData_creationDate = "CaseData.creationDate";
685+
String CaseData_dateOther = "CaseData.dateOther";
686+
String CaseData_dateOtherDetails = "CaseData.dateOtherDetails";
685687
String CaseData_deletionReason = "CaseData.deletionReason";
686688
String CaseData_dengueFeverType = "CaseData.dengueFeverType";
687689
String CaseData_department = "CaseData.department";
@@ -700,6 +702,7 @@ public interface Captions {
700702
String CaseData_epidNumber = "CaseData.epidNumber";
701703
String CaseData_eventCount = "CaseData.eventCount";
702704
String CaseData_expectedFollowUpUntil = "CaseData.expectedFollowUpUntil";
705+
String CaseData_externalComments = "CaseData.externalComments";
703706
String CaseData_externalData = "CaseData.externalData";
704707
String CaseData_externalID = "CaseData.externalID";
705708
String CaseData_externalToken = "CaseData.externalToken";
@@ -720,6 +723,7 @@ public interface Captions {
720723
String CaseData_investigatedDate = "CaseData.investigatedDate";
721724
String CaseData_investigationStatus = "CaseData.investigationStatus";
722725
String CaseData_laboratoryDiagnosticConfirmation = "CaseData.laboratoryDiagnosticConfirmation";
726+
String CaseData_labResults = "CaseData.labResults";
723727
String CaseData_latestEventId = "CaseData.latestEventId";
724728
String CaseData_latestEventStatus = "CaseData.latestEventStatus";
725729
String CaseData_latestEventTitle = "CaseData.latestEventTitle";
@@ -918,9 +922,23 @@ public interface Captions {
918922
String caseImportMergeCase = "caseImportMergeCase";
919923
String caseInfrastructureDataChanged = "caseInfrastructureDataChanged";
920924
String caseJurisdictionType = "caseJurisdictionType";
925+
String caseLabResultsAntibiotic = "caseLabResultsAntibiotic";
926+
String caseLabResultsClinicalInterpretation = "caseLabResultsClinicalInterpretation";
927+
String caseLabResultsComments = "caseLabResultsComments";
928+
String caseLabResultsDateCollected = "caseLabResultsDateCollected";
929+
String caseLabResultsDrugSusceptibilityHeading = "caseLabResultsDrugSusceptibilityHeading";
930+
String caseLabResultsMethod = "caseLabResultsMethod";
931+
String caseLabResultsMicValue = "caseLabResultsMicValue";
932+
String caseLabResultsSample = "caseLabResultsSample";
933+
String caseLabResultsSamplesHeading = "caseLabResultsSamplesHeading";
934+
String caseLabResultsSurveillanceInterpretation = "caseLabResultsSurveillanceInterpretation";
935+
String caseLabResultsTestsHeading = "caseLabResultsTestsHeading";
936+
String caseLabResultsTestsPerformed = "caseLabResultsTestsPerformed";
937+
String caseLabResultsZoneDiameter = "caseLabResultsZoneDiameter";
921938
String caseLinkToSamples = "caseLinkToSamples";
922939
String caseMergeDuplicates = "caseMergeDuplicates";
923940
String caseMinusDays = "caseMinusDays";
941+
String caseNegativeCase = "caseNegativeCase";
924942
String caseNewCase = "caseNewCase";
925943
String caseNewCaseDate = "caseNewCaseDate";
926944
String caseNoDiseaseVariant = "caseNoDiseaseVariant";

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,6 +1102,8 @@ public interface Strings {
11021102
String infoNoAccessToPersonEntities = "infoNoAccessToPersonEntities";
11031103
String infoNoAdditionalTests = "infoNoAdditionalTests";
11041104
String infoNoAefiInvestigations = "infoNoAefiInvestigations";
1105+
String infoNoCaseLabResultsSamples = "infoNoCaseLabResultsSamples";
1106+
String infoNoCaseLabResultsTests = "infoNoCaseLabResultsTests";
11051107
String infoNoCasesFoundStatistics = "infoNoCasesFoundStatistics";
11061108
String infoNoCustomizableEnumTranslations = "infoNoCustomizableEnumTranslations";
11071109
String infoNoCustomizableFieldOptions = "infoNoCustomizableFieldOptions";
@@ -1554,6 +1556,7 @@ public interface Strings {
15541556
String messageMissingDateFilter = "messageMissingDateFilter";
15551557
String messageMissingEpiWeekFilter = "messageMissingEpiWeekFilter";
15561558
String messageMultipleSampleReports = "messageMultipleSampleReports";
1559+
String messageNegativeCaseAfterPathogenTest = "messageNegativeCaseAfterPathogenTest";
15571560
String messageNoCaseFound = "messageNoCaseFound";
15581561
String messageNoCaseFoundToLinkImmunization = "messageNoCaseFoundToLinkImmunization";
15591562
String messageNoCasesSelected = "messageNoCasesSelected";

sormas-api/src/main/resources/captions.properties

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,19 @@ CampaignFormData.edit=Edit
358358
# CaseData
359359
caseCasesList=Cases list
360360
caseInfrastructureDataChanged=Infrastructure data has changed
361+
caseLabResultsTestsHeading=Tests
362+
caseLabResultsSamplesHeading=Samples
363+
caseLabResultsDrugSusceptibilityHeading=Drug susceptibility tests
364+
caseLabResultsSample=Sample
365+
caseLabResultsDateCollected=Date collected
366+
caseLabResultsTestsPerformed=Tests performed
367+
caseLabResultsAntibiotic=Antibiotic
368+
caseLabResultsMethod=Method
369+
caseLabResultsMicValue=MIC value (mg/l)
370+
caseLabResultsZoneDiameter=Zone (mm)
371+
caseLabResultsClinicalInterpretation=Clinical interpretation
372+
caseLabResultsSurveillanceInterpretation=Surveillance interpretation
373+
caseLabResultsComments=Comments
361374
caseCloneCaseWithNewDisease=Generate new case for
362375
caseContacts=Contacts
363376
caseDocuments=Case Documents
@@ -409,6 +422,7 @@ caseCalculateCompleteness=Calculate completeness
409422
caseClassificationCalculationButton=Calculate case classification
410423
caseNumberOfDuplicatesDetected=%d potential duplicates detected
411424
caseConfirmCase=Confirm case
425+
caseNegativeCase=Negative case
412426
convertEventParticipantToCase=Create case from event participant with positive test result?
413427
convertContactToCase=Create case from contact with positive test result?
414428
caseSearchSpecificCase=Search specific case
@@ -440,6 +454,8 @@ CaseData.clinicianName=Name of responsible clinician
440454
CaseData.clinicianPhone=Phone number of responsible clinician
441455
CaseData.clinicianEmail=Email address of responsible clinician
442456
CaseData.contactOfficer=Contact officer
457+
CaseData.dateOther=Date other
458+
CaseData.dateOtherDetails=Date other details
443459
CaseData.dengueFeverType=Dengue fever type
444460
CaseData.diseaseVariant=Disease variant
445461
CaseData.diseaseDetails=Disease name
@@ -448,8 +464,10 @@ CaseData.districtLevelDate=Date received at district level
448464
CaseData.doses=How many doses
449465
CaseData.epiData=Epidemiological data
450466
CaseData.epidNumber=EPID number
467+
CaseData.labResults=Laboratory results
451468
CaseData.postMortem=Post Mortem
452469
CaseData.department=Facility Department
470+
CaseData.externalComments=External comments
453471
CaseData.externalID=External ID
454472
CaseData.externalToken=External Token
455473
CaseData.internalToken=Internal Token

sormas-api/src/main/resources/strings.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1037,6 +1037,8 @@ infoCaseIncidenceNotPossible = The following regions have missing population dat
10371037
infoCaseIncidenceMissingPopulationData = The following regions and/or districts have missing population data:<br/><br/>%s.<br/><br/>Incidence proportion cannot be calculated for these regions and/or districts.
10381038
infoCaseIncidenceIncompatible = No population data is available for communities and facilities. Case incidence cannot be calculated and case counts are displayed instead. If you want to view case incidence, please remove any community and facilitiy filters and groupings.
10391039
infoNoPathogenTests = No pathogen tests have been created for this sample
1040+
infoNoCaseLabResultsTests = No tests have been performed for this case
1041+
infoNoCaseLabResultsSamples = No samples have been collected for this case
10401042
infoPickOrCreateCase = There are existing cases in the database that seem very similar to the one you are about to create. Please have a look at the list of existing cases and verify that the case you want to create is not a duplicate of one of them. If you find a case that is most likely the same as yours, please <b>click on it in the list</b> and confirm.
10411043
infoPickOrCreateCaseNewCase = Newly added case information
10421044
infoPickOrCreateImmunization = The system already contains at least one immunization for %s for this person and means of immunization that overlaps with the specified immunziation period. Please compare the most recent existing immunization with the one you created and decide whether to discard the new immunization, use its information to update the existing one, or create it anyway.
@@ -1176,7 +1178,7 @@ infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to h
11761178
infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
11771179
infoNoCustomizableFieldTranslations = Click on the + button below to add translations for this field.
11781180
infoNoCustomizableFieldOptions = Click on the + button below to add options for this field.
1179-
infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.<br/><br/>You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.<br/><br/>Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
1181+
infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.<br/><br/>You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.<br/><br/>Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.<br/><br/><font color="red"><b>Changing customizable enum may require a server restart to take effect.</b></font>
11801182
infoNoImmunizationAdverseEvents = No adverse events have been created for this immunization
11811183
infoAefiSelectPrimarySuspectVaccine = The list below contains all vaccinations of the immunization. Please select the suspect vaccination related to this adverse event.
11821184
infoArchivedAefiEntries = Adverse event entries are automatically archived after %d days without changes to the data.
@@ -1243,6 +1245,7 @@ messageCloneCaseWithNewDisease = You have just created a positive pathogen test
12431245
messageUpdateCaseWithNewDiseaseVariant = You have saved a positive pathogen test of a different disease variant than the variant specified in the case. Do you want to update the disease variant of the case? The case's current disease variant is %s, the pathogen test's disease variant is %s.
12441246
messageCompletenessValuesUpdated = Completeness values have been updated.
12451247
messageConfirmCaseAfterPathogenTest=The final laboratory result of the sample the saved pathogen test belongs to is positive. However, the case cannot be automatically classified as a confirmed case because it is missing some information. Do you want to set the case classification to confirmed anyway?
1248+
messageNegativeCaseAfterPathogenTest=The final laboratory result of the sample the saved pathogen test belongs to is negative. However, the case cannot be automatically classified as not a case because it is missing some information. Do you want to set the case classification to not a case anyway?
12461249
messageConvertContactToCase=You have just saved a positive laboratory result for the contact disease. Do you want to create a case for the contact person? The case will be set as the resulting case of this contact, and the final laboratory result of the sample will automatically be set to positive.
12471250
messageConvertContactToCaseDifferentDiseases=You have just saved a positive laboratory result for a different disease than the contact disease. Do you want to create a case with this disease for the contact person? The case will not be set as the resulting case of this contact.
12481251
messageConvertEventParticipantToCase=You have just saved a positive laboratory result for the event disease. Do you want to create a case for the event participant person? The case will automatically be linked to the event participant, and the final laboratory result of the sample will be set to positive.

sormas-api/src/main/resources/strings_ar-SA.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1106,7 +1106,7 @@ infoBulkUnresponsiveWindowHint = <b>Hint\:</b> If the progress bar seems to be u
11061106
infoNoEnvironmentSamples = No samples have been created for this environment
11071107
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
11081108
infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
1109-
infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.<br/><br/>You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.<br/><br/>Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
1109+
infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.<br/><br/>You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.<br/><br/>Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.<br/><br/><font color="red"><b>Changing customizable enum may require a server restart to take effect.</b></font>
11101110
infoNoImmunizationAdverseEvents = No adverse events have been created for this immunization
11111111
infoAefiSelectPrimarySuspectVaccine = The list below contains all vaccinations of the immunization. Please select the suspect vaccination related to this adverse event.
11121112
infoArchivedAefiEntries = Adverse event entries are automatically archived after %d days without changes to the data.

0 commit comments

Comments
 (0)