Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit e15b2b7

Browse files
lgallgal
authored andcommitted
Merge remote-tracking branch 'origin/development' into 3411_person-salutation
# Conflicts: # sormas-api/src/main/resources/enum.properties # sormas-api/src/main/resources/enum_de-DE.properties # sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java # sormas-backend/src/main/resources/sql/sormas_schema.sql
2 parents 00e74c3 + 489cf93 commit e15b2b7

104 files changed

Lines changed: 2544 additions & 637 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.

CONTRIBUTING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,18 @@ The GitHub project has been configured to **automatically** move issues that are
110110
The Development Team is responsible to keep the tickets up to date on this board and to assign the appropriate milestone in which the work is going to be released.
111111

112112

113+
### Managing dependencies
114+
115+
For managing Java libraries as dependencies, they are managed by Maven and listed in *sormas-base/pom.xml*. The purpose of a centralized management is to have an overview of the used libraries and adjust for new versions.
116+
117+
1. **Payara modules**: Provided by Payara in *{payara-home}/glassfish/modules* and used in that version by other libs.
118+
2. **Domain libs**: Provided in Payara domain under *{payara-domain}/lib* to be usable by deployed artifacts (ear, war). They have to be listed in *sormas-base/dependencies/serverlibs.pom*. Usually for helper libraries that several artifacts need.
119+
3. **Compile dependencies**: Bundled in respective artifacts who need the dependency explicitly. Usually for dependencies singularly needed in one artifact.
120+
4. **Test libraries**: Libraries used in automated tests in one or more modules.
121+
122+
Due to the separate build management tool Gradle for *sormas-app*, there exists a redundant listing of compile dependencies in *sormas-app/app/build.gradle*.
123+
124+
113125
### Eclipse Troubleshooting
114126

115127
Unfortunatley, when using eclipse together with the Payara Tools, there are a number of deployment problems that you might run into. Examples of these include:

DEVELOPMENT_ENVIRONMENT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
- Clone the SORMAS-Project repository and open the project in IntelliJ
5252
- make sure the under "File -> Project Structure -> Modules" all the modules (except the android app - this should not be added) are recognized, if not add the modules with +
5353
- Make sure under "File -> Settings -> Plugins" Glassfish & Ant integrations are enabled (look into the "Installed" tab)
54-
- Install the Vaadin Designer plugin
54+
- Install the Vaadin plugin (not the Vaadin Designer plugin!)
5555
- Make a copy of "build.properties.example" contained in "sormas-base", rename it to "build.properties" and set "glassfish.domain.root" to the location of the sormas domain located in the "glassfish/domains" folder inside your payara installation
5656
- Run "Maven install" on the sormas-base project
5757
- Add a Payara server to IntelliJ:

SERVER_CUSTOMIZATION.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,14 @@ The following features are currently configurable:
8888
* **Case Follow-Up** `CASE_FOLLOWUP`: Enables the contact follow-up module for cases as well to allow a more detailed daily documentation of symptoms.
8989
* **Line Listing** `LINE_LISTING`: Whether or not using line listing for case entry is enabled in the specified jurisdiction for the specified disease. Configurable from the UI, no database interaction needed.
9090
* **Documents** `DOCUMENTS`: Enables document storage.
91+
92+
## Proxy Settings
93+
Some SORMAS integrations support proxy settings:
94+
* **Patient diary interface**
95+
* **Geocoding**
96+
* **SORMAS 2 SORMAS**
97+
98+
The proxy can be configured through the following system properties which can be passed as JVM arguments to the server:
99+
* `org.jboss.resteasy.jaxrs.client.proxy.host`
100+
* `org.jboss.resteasy.jaxrs.client.proxy.port`
101+
* `org.jboss.resteasy.jaxrs.client.proxy.scheme`

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

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ public class CaseDataDto extends PseudonymizableDto {
127127
public static final String ADDITIONAL_DETAILS = "additionalDetails";
128128
public static final String EXTERNAL_ID = "externalID";
129129
public static final String SHARED_TO_COUNTRY = "sharedToCountry";
130+
public static final String NOSOCOMIAL_OUTBREAK = "nosocomialOutbreak";
131+
public static final String INFECTION_SETTING = "infectionSetting";
130132
public static final String QUARANTINE = "quarantine";
131133
public static final String QUARANTINE_TYPE_DETAILS = "quarantineTypeDetails";
132134
public static final String QUARANTINE_FROM = "quarantineFrom";
@@ -165,6 +167,10 @@ public class CaseDataDto extends PseudonymizableDto {
165167
public static final String END_OF_ISOLATION_REASON = "endOfIsolationReason";
166168
public static final String END_OF_ISOLATION_REASON_DETAILS = "endOfIsolationReasonDetails";
167169

170+
public static final String PROHIBITION_TO_WORK = "prohibitionToWork";
171+
public static final String PROHIBITION_TO_WORK_FROM = "prohibitionToWorkFrom";
172+
public static final String PROHIBITION_TO_WORK_UNTIL = "prohibitionToWorkUntil";
173+
168174
// Fields are declared in the order they should appear in the import template
169175

170176
@Outbreaks
@@ -367,6 +373,10 @@ public class CaseDataDto extends PseudonymizableDto {
367373
COUNTRY_CODE_SWITZERLAND })
368374
private String externalID;
369375
private boolean sharedToCountry;
376+
@HideForCountriesExcept
377+
private boolean nosocomialOutbreak;
378+
@HideForCountriesExcept
379+
private InfectionSetting infectionSetting;
370380
private QuarantineType quarantine;
371381
@SensitiveData
372382
private String quarantineTypeDetails;
@@ -444,6 +454,13 @@ public class CaseDataDto extends PseudonymizableDto {
444454
@SensitiveData
445455
private String endOfIsolationReasonDetails;
446456

457+
@HideForCountriesExcept
458+
private YesNoUnknown prohibitionToWork;
459+
@HideForCountriesExcept
460+
private Date prohibitionToWorkFrom;
461+
@HideForCountriesExcept
462+
private Date prohibitionToWorkUntil;
463+
447464
public static CaseDataDto build(PersonReferenceDto person, Disease disease) {
448465
return build(person, disease, null);
449466
}
@@ -1008,6 +1025,22 @@ public void setSharedToCountry(boolean sharedToCountry) {
10081025
this.sharedToCountry = sharedToCountry;
10091026
}
10101027

1028+
public boolean isNosocomialOutbreak() {
1029+
return nosocomialOutbreak;
1030+
}
1031+
1032+
public void setNosocomialOutbreak(boolean nosocomialOutbreak) {
1033+
this.nosocomialOutbreak = nosocomialOutbreak;
1034+
}
1035+
1036+
public InfectionSetting getInfectionSetting() {
1037+
return infectionSetting;
1038+
}
1039+
1040+
public void setInfectionSetting(InfectionSetting infectionSetting) {
1041+
this.infectionSetting = infectionSetting;
1042+
}
1043+
10111044
public QuarantineType getQuarantine() {
10121045
return quarantine;
10131046
}
@@ -1296,6 +1329,30 @@ public void setSormasToSormasOriginInfo(SormasToSormasOriginInfoDto sormasToSorm
12961329
this.sormasToSormasOriginInfo = sormasToSormasOriginInfo;
12971330
}
12981331

1332+
public YesNoUnknown getProhibitionToWork() {
1333+
return prohibitionToWork;
1334+
}
1335+
1336+
public void setProhibitionToWork(YesNoUnknown prohibitionToWork) {
1337+
this.prohibitionToWork = prohibitionToWork;
1338+
}
1339+
1340+
public Date getProhibitionToWorkFrom() {
1341+
return prohibitionToWorkFrom;
1342+
}
1343+
1344+
public void setProhibitionToWorkFrom(Date prohibitionToWorkFrom) {
1345+
this.prohibitionToWorkFrom = prohibitionToWorkFrom;
1346+
}
1347+
1348+
public Date getProhibitionToWorkUntil() {
1349+
return prohibitionToWorkUntil;
1350+
}
1351+
1352+
public void setProhibitionToWorkUntil(Date prohibitionToWorkUntil) {
1353+
this.prohibitionToWorkUntil = prohibitionToWorkUntil;
1354+
}
1355+
12991356
public boolean isOwnershipHandedOver() {
13001357
return ownershipHandedOver;
13011358
}

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

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ public class CaseExportDto implements Serializable {
210210
private EmbeddedSampleExportDto sample3 = new EmbeddedSampleExportDto();
211211
private List<EmbeddedSampleExportDto> otherSamples = new ArrayList<>();
212212

213+
private Boolean nosocomialOutbreak;
214+
private InfectionSetting infectionSetting;
215+
213216
private QuarantineType quarantine;
214217
@SensitiveData
215218
private String quarantineTypeDetails;
@@ -254,6 +257,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
254257
String pointOfEntryUuid, String pointOfEntryDetails, CaseClassification caseClassification,
255258
InvestigationStatus investigationStatus, CaseOutcome outcome,
256259
FollowUpStatus followUpStatus, Date followUpUntil,
260+
Boolean nosocomialOutbreak, InfectionSetting infectionSetting,
257261
// Quarantine
258262
QuarantineType quarantine, String quarantineTypeDetails, Date quarantineFrom, Date quarantineTo,
259263
boolean quarantineOrderedVerbally, boolean quarantineOrderedOfficialDocument, Date quarantineOrderedVerballyDate,
@@ -298,6 +302,8 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
298302
this.caseClassification = caseClassification;
299303
this.investigationStatus = investigationStatus;
300304
this.outcome = outcome;
305+
this.nosocomialOutbreak = nosocomialOutbreak;
306+
this.infectionSetting = infectionSetting;
301307
this.quarantine = quarantine;
302308
this.quarantineTypeDetails = quarantineTypeDetails;
303309
this.quarantineFrom = quarantineFrom;
@@ -640,6 +646,28 @@ public CaseOutcome getOutcome() {
640646
}
641647

642648
@Order(33)
649+
@ExportTarget(caseExportTypes = {
650+
CaseExportType.CASE_SURVEILLANCE,
651+
CaseExportType.CASE_MANAGEMENT })
652+
@ExportProperty(value = CaseDataDto.NOSOCOMIAL_OUTBREAK, combined = true)
653+
@ExportGroup(ExportGroupType.ADDITIONAL)
654+
@HideForCountriesExcept
655+
public Boolean getNosocomialOutbreak() {
656+
return nosocomialOutbreak;
657+
}
658+
659+
@Order(34)
660+
@ExportTarget(caseExportTypes = {
661+
CaseExportType.CASE_SURVEILLANCE,
662+
CaseExportType.CASE_MANAGEMENT })
663+
@ExportProperty(value = CaseDataDto.INFECTION_SETTING, combined = true)
664+
@ExportGroup(ExportGroupType.ADDITIONAL)
665+
@HideForCountriesExcept
666+
public InfectionSetting getInfectionSetting() {
667+
return infectionSetting;
668+
}
669+
670+
@Order(35)
643671
@ExportTarget(caseExportTypes = {
644672
CaseExportType.CASE_SURVEILLANCE,
645673
CaseExportType.CASE_MANAGEMENT })
@@ -649,7 +677,7 @@ public QuarantineType getQuarantine() {
649677
return quarantine;
650678
}
651679

652-
@Order(34)
680+
@Order(36)
653681
@ExportTarget(caseExportTypes = {
654682
CaseExportType.CASE_SURVEILLANCE,
655683
CaseExportType.CASE_MANAGEMENT })
@@ -659,7 +687,7 @@ public String getQuarantineTypeDetails() {
659687
return quarantineTypeDetails;
660688
}
661689

662-
@Order(35)
690+
@Order(37)
663691
@ExportTarget(caseExportTypes = {
664692
CaseExportType.CASE_SURVEILLANCE,
665693
CaseExportType.CASE_MANAGEMENT })
@@ -669,7 +697,7 @@ public Date getQuarantineFrom() {
669697
return quarantineFrom;
670698
}
671699

672-
@Order(36)
700+
@Order(38)
673701
@ExportTarget(caseExportTypes = {
674702
CaseExportType.CASE_SURVEILLANCE,
675703
CaseExportType.CASE_MANAGEMENT })
@@ -679,7 +707,7 @@ public Date getQuarantineTo() {
679707
return quarantineTo;
680708
}
681709

682-
@Order(37)
710+
@Order(39)
683711
@ExportTarget(caseExportTypes = {
684712
CaseExportType.CASE_SURVEILLANCE,
685713
CaseExportType.CASE_MANAGEMENT })
@@ -692,7 +720,7 @@ public boolean isQuarantineOrderedVerbally() {
692720
return quarantineOrderedVerbally;
693721
}
694722

695-
@Order(38)
723+
@Order(40)
696724
@ExportTarget(caseExportTypes = {
697725
CaseExportType.CASE_SURVEILLANCE,
698726
CaseExportType.CASE_MANAGEMENT })
@@ -705,7 +733,7 @@ public boolean isQuarantineOrderedOfficialDocument() {
705733
return quarantineOrderedOfficialDocument;
706734
}
707735

708-
@Order(39)
736+
@Order(41)
709737
@ExportTarget(caseExportTypes = {
710738
CaseExportType.CASE_SURVEILLANCE,
711739
CaseExportType.CASE_MANAGEMENT })
@@ -718,7 +746,7 @@ public Date getQuarantineOrderedVerballyDate() {
718746
return quarantineOrderedVerballyDate;
719747
}
720748

721-
@Order(40)
749+
@Order(42)
722750
@ExportTarget(caseExportTypes = {
723751
CaseExportType.CASE_SURVEILLANCE,
724752
CaseExportType.CASE_MANAGEMENT })
@@ -731,7 +759,7 @@ public Date getQuarantineOrderedOfficialDocumentDate() {
731759
return quarantineOrderedOfficialDocumentDate;
732760
}
733761

734-
@Order(41)
762+
@Order(43)
735763
@ExportTarget(caseExportTypes = {
736764
CaseExportType.CASE_SURVEILLANCE,
737765
CaseExportType.CASE_MANAGEMENT })
@@ -744,7 +772,7 @@ public boolean isQuarantineOfficialOrderSent() {
744772
return quarantineOfficialOrderSent;
745773
}
746774

747-
@Order(42)
775+
@Order(44)
748776
@ExportTarget(caseExportTypes = {
749777
CaseExportType.CASE_SURVEILLANCE,
750778
CaseExportType.CASE_MANAGEMENT })
@@ -757,7 +785,7 @@ public Date getQuarantineOfficialOrderSentDate() {
757785
return quarantineOfficialOrderSentDate;
758786
}
759787

760-
@Order(43)
788+
@Order(45)
761789
@ExportTarget(caseExportTypes = {
762790
CaseExportType.CASE_SURVEILLANCE,
763791
CaseExportType.CASE_MANAGEMENT })
@@ -767,7 +795,7 @@ public boolean isQuarantineExtended() {
767795
return quarantineExtended;
768796
}
769797

770-
@Order(44)
798+
@Order(46)
771799
@ExportTarget(caseExportTypes = {
772800
CaseExportType.CASE_SURVEILLANCE,
773801
CaseExportType.CASE_MANAGEMENT })
@@ -777,7 +805,7 @@ public boolean isQuarantineReduced() {
777805
return quarantineReduced;
778806
}
779807

780-
@Order(45)
808+
@Order(47)
781809
@ExportTarget(caseExportTypes = {
782810
CaseExportType.CASE_SURVEILLANCE })
783811
@ExportProperty(MAX_SOURCE_CASE_CLASSIFICATION)
@@ -786,7 +814,7 @@ public CaseClassification getMaxSourceCaseClassification() {
786814
return maxSourceCaseClassification;
787815
}
788816

789-
@Order(46)
817+
@Order(48)
790818
@ExportTarget(caseExportTypes = {
791819
CaseExportType.CASE_SURVEILLANCE })
792820
@ExportProperty(ASSOCIATED_WITH_OUTBREAK)
@@ -799,7 +827,7 @@ public void setMaxSourceCaseClassification(CaseClassification maxSourceCaseClass
799827
this.maxSourceCaseClassification = maxSourceCaseClassification;
800828
}
801829

802-
@Order(47)
830+
@Order(49)
803831
@ExportTarget(caseExportTypes = {
804832
CaseExportType.CASE_SURVEILLANCE,
805833
CaseExportType.CASE_MANAGEMENT })
@@ -809,7 +837,7 @@ public YesNoUnknown getAdmittedToHealthFacility() {
809837
return admittedToHealthFacility;
810838
}
811839

812-
@Order(48)
840+
@Order(50)
813841
@ExportTarget(caseExportTypes = {
814842
CaseExportType.CASE_SURVEILLANCE,
815843
CaseExportType.CASE_MANAGEMENT })
@@ -819,7 +847,7 @@ public Date getAdmissionDate() {
819847
return admissionDate;
820848
}
821849

822-
@Order(49)
850+
@Order(51)
823851
@ExportTarget(caseExportTypes = {
824852
CaseExportType.CASE_SURVEILLANCE,
825853
CaseExportType.CASE_MANAGEMENT })
@@ -833,7 +861,7 @@ public void setDischargeDate(Date dischargeDate) {
833861
this.dischargeDate = dischargeDate;
834862
}
835863

836-
@Order(50)
864+
@Order(52)
837865
@ExportTarget(caseExportTypes = {
838866
CaseExportType.CASE_SURVEILLANCE,
839867
CaseExportType.CASE_MANAGEMENT })
@@ -847,7 +875,7 @@ public void setLeftAgainstAdvice(YesNoUnknown leftAgainstAdvice) {
847875
this.leftAgainstAdvice = leftAgainstAdvice;
848876
}
849877

850-
@Order(51)
878+
@Order(53)
851879
@ExportTarget(caseExportTypes = {
852880
CaseExportType.CASE_SURVEILLANCE,
853881
CaseExportType.CASE_MANAGEMENT })
@@ -857,7 +885,7 @@ public PresentCondition getPresentCondition() {
857885
return presentCondition;
858886
}
859887

860-
@Order(52)
888+
@Order(54)
861889
@ExportTarget(caseExportTypes = {
862890
CaseExportType.CASE_SURVEILLANCE })
863891
@ExportProperty(PersonDto.DEATH_DATE)
@@ -866,7 +894,7 @@ public Date getDeathDate() {
866894
return deathDate;
867895
}
868896

869-
@Order(53)
897+
@Order(55)
870898
@ExportTarget(caseExportTypes = {
871899
CaseExportType.CASE_SURVEILLANCE })
872900
@ExportProperty(BURIAL_INFO)

0 commit comments

Comments
 (0)