Skip to content

Commit aef93ea

Browse files
leventegal-sheLevente Gal
andauthored
#13203 Additional lab message fields (#13214)
Co-authored-by: Levente Gal <levente.gal.ext@vitagroup.ag>
1 parent cc710f7 commit aef93ea

File tree

7 files changed

+67
-1
lines changed

7 files changed

+67
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ public class CaseDataDto extends SormasToSormasShareableDto implements IsCase {
365365
Disease.UNSPECIFIED_VHF,
366366
Disease.ANTHRAX,
367367
Disease.CORONAVIRUS,
368+
Disease.RESPIRATORY_SYNCYTIAL_VIRUS,
368369
Disease.OTHER })
369370
@Outbreaks
370371
private VaccinationStatus vaccinationStatus;

sormas-api/src/main/java/de/symeda/sormas/api/externalmessage/ExternalMessageDto.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import de.symeda.sormas.api.Disease;
2626
import de.symeda.sormas.api.audit.AuditIncludeProperty;
2727
import de.symeda.sormas.api.audit.AuditedClass;
28+
import de.symeda.sormas.api.caze.VaccinationStatus;
2829
import de.symeda.sormas.api.caze.surveillancereport.SurveillanceReportReferenceDto;
2930
import de.symeda.sormas.api.disease.DiseaseVariant;
3031
import de.symeda.sormas.api.externalmessage.labmessage.SampleReportDto;
@@ -41,6 +42,7 @@
4142
import de.symeda.sormas.api.utils.DependingOnFeatureType;
4243
import de.symeda.sormas.api.utils.FieldConstraints;
4344
import de.symeda.sormas.api.utils.HideForCountriesExcept;
45+
import de.symeda.sormas.api.utils.YesNoUnknown;
4446

4547
@AuditedClass
4648
@DependingOnFeatureType(featureType = FeatureType.EXTERNAL_MESSAGES)
@@ -161,6 +163,10 @@ public class ExternalMessageDto extends SormasToSormasShareableDto {
161163
@Size(max = FieldConstraints.CHARACTER_LIMIT_TEXT, message = Validations.textTooLong)
162164
private String personAdditionalDetails;
163165

166+
private VaccinationStatus vaccinationStatus;
167+
168+
private YesNoUnknown admittedToHealthFacility;
169+
164170
public ExternalMessageType getType() {
165171
return type;
166172
}
@@ -433,6 +439,22 @@ public void setSurveillanceReport(SurveillanceReportReferenceDto surveillanceRep
433439
this.surveillanceReport = surveillanceReport;
434440
}
435441

442+
public VaccinationStatus getVaccinationStatus() {
443+
return vaccinationStatus;
444+
}
445+
446+
public void setVaccinationStatus(VaccinationStatus vaccinationStatus) {
447+
this.vaccinationStatus = vaccinationStatus;
448+
}
449+
450+
public YesNoUnknown getAdmittedToHealthFacility() {
451+
return admittedToHealthFacility;
452+
}
453+
454+
public void setAdmittedToHealthFacility(YesNoUnknown admittedToHealthFacility) {
455+
this.admittedToHealthFacility = admittedToHealthFacility;
456+
}
457+
436458
public static ExternalMessageDto build() {
437459

438460
ExternalMessageDto message = new ExternalMessageDto();

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ protected CaseDataDto buildCase(PersonDto person, ExternalMessageDto externalMes
175175
caseDto.setHealthFacility(processingFacade.getFacilityReferenceByUuid(FacilityDto.NONE_FACILITY_UUID));
176176
}
177177

178+
caseDto.setVaccinationStatus(externalMessageDto.getVaccinationStatus());
179+
caseDto.getHospitalization().setAdmittedToHealthFacility(externalMessageDto.getAdmittedToHealthFacility());
180+
178181
return caseDto;
179182
}
180183

sormas-backend/src/main/java/de/symeda/sormas/backend/externalmessage/ExternalMessage.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@
2626
import com.vladmihalcea.hibernate.type.array.ListArrayType;
2727

2828
import de.symeda.sormas.api.Disease;
29+
import de.symeda.sormas.api.caze.VaccinationStatus;
2930
import de.symeda.sormas.api.disease.DiseaseVariant;
3031
import de.symeda.sormas.api.externalmessage.ExternalMessageStatus;
3132
import de.symeda.sormas.api.externalmessage.ExternalMessageType;
3233
import de.symeda.sormas.api.person.PhoneNumberType;
3334
import de.symeda.sormas.api.person.PresentCondition;
3435
import de.symeda.sormas.api.person.Sex;
36+
import de.symeda.sormas.api.utils.YesNoUnknown;
3537
import de.symeda.sormas.backend.caze.surveillancereport.SurveillanceReport;
3638
import de.symeda.sormas.backend.common.AbstractDomainObject;
3739
import de.symeda.sormas.backend.disease.DiseaseVariantConverter;
@@ -126,6 +128,9 @@ public class ExternalMessage extends AbstractDomainObject {
126128
private String tsv;
127129
private String personAdditionalDetails;
128130

131+
private VaccinationStatus vaccinationStatus;
132+
private YesNoUnknown admittedToHealthFacility;
133+
129134
@Enumerated(EnumType.STRING)
130135
public ExternalMessageType getType() {
131136
return type;
@@ -460,4 +465,22 @@ public String getPersonAdditionalDetails() {
460465
public void setPersonAdditionalDetails(String personAdditionalDetails) {
461466
this.personAdditionalDetails = personAdditionalDetails;
462467
}
468+
469+
@Enumerated(EnumType.STRING)
470+
public VaccinationStatus getVaccinationStatus() {
471+
return vaccinationStatus;
472+
}
473+
474+
public void setVaccinationStatus(VaccinationStatus vaccinationStatus) {
475+
this.vaccinationStatus = vaccinationStatus;
476+
}
477+
478+
@Enumerated(EnumType.STRING)
479+
public YesNoUnknown getAdmittedToHealthFacility() {
480+
return admittedToHealthFacility;
481+
}
482+
483+
public void setAdmittedToHealthFacility(YesNoUnknown admittedToHealthFacility) {
484+
this.admittedToHealthFacility = admittedToHealthFacility;
485+
}
463486
}

sormas-backend/src/main/java/de/symeda/sormas/backend/externalmessage/ExternalMessageFacadeEjb.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,9 @@ ExternalMessage fillOrBuildEntity(@NotNull ExternalMessageDto source, ExternalMe
192192
target.setSampleReports(sampleReports);
193193
}
194194
target.setSurveillanceReport(surveillanceReportService.getByReferenceDto(source.getSurveillanceReport()));
195+
target.setVaccinationStatus(source.getVaccinationStatus());
196+
target.setAdmittedToHealthFacility(source.getAdmittedToHealthFacility());
197+
195198
return target;
196199
}
197200

@@ -368,6 +371,9 @@ public ExternalMessageDto toDto(ExternalMessage source) {
368371
target.setAssignee(source.getAssignee().toReference());
369372
}
370373

374+
target.setVaccinationStatus(source.getVaccinationStatus());
375+
target.setAdmittedToHealthFacility(source.getAdmittedToHealthFacility());
376+
371377
return target;
372378
}
373379

sormas-backend/src/main/resources/sql/sormas_schema.sql

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13724,4 +13724,14 @@ VALUES (nextval('entity_seq'), generate_base32_uuid(), now(), now(), 'DISEASE_VA
1372413724
'RESPIRATORY_SYNCYTIAL_VIRUS');
1372513725

1372613726
INSERT INTO schema_version (version_number, comment) VALUES (555, 'RSV disease variants #13204');
13727+
13728+
-- 2024-12-12 Additional lab message fields #13203
13729+
ALTER TABLE externalmessage
13730+
ADD COLUMN vaccinationstatus varchar(255),
13731+
ADD COLUMN admittedtohealthfacility varchar(255);
13732+
ALTER TABLE externalmessage_history
13733+
ADD COLUMN vaccinationstatus varchar(255),
13734+
ADD COLUMN admittedtohealthfacility varchar(255);
13735+
13736+
INSERT INTO schema_version (version_number, comment) VALUES (556, 'Additional lab message fields #13203');
1372713737
-- *** Insert new sql commands BEFORE this line. Remember to always consider _history tables. ***

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseDataForm.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,8 @@ protected void addFields() {
941941
addField(CaseDataDto.TRIMESTER, NullableOptionGroup.class);
942942
FieldHelper.setVisibleWhen(getFieldGroup(), CaseDataDto.TRIMESTER, CaseDataDto.PREGNANT, Arrays.asList(YesNoUnknown.YES), true);
943943

944-
addField(CaseDataDto.VACCINATION_STATUS);
944+
addField(CaseDataDto.VACCINATION_STATUS, TextField.class);
945+
// getContent().addComponent(new Label("Debug vaccination"), CaseDataDto.VACCINATION_STATUS);
945946
addFields(CaseDataDto.SMALLPOX_VACCINATION_SCAR, CaseDataDto.SMALLPOX_VACCINATION_RECEIVED);
946947
addDateField(CaseDataDto.SMALLPOX_LAST_VACCINATION_DATE, DateField.class, 0);
947948

0 commit comments

Comments
 (0)