Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature #12634 aefi module in sormas #13172

Merged
merged 5 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions sormas-api/src/main/java/de/symeda/sormas/api/FacadeProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import javax.naming.NamingException;

import de.symeda.sormas.api.action.ActionFacade;
import de.symeda.sormas.api.adverseeventsfollowingimmunization.AefiFacade;
import de.symeda.sormas.api.adverseeventsfollowingimmunization.AefiInvestigationFacade;
import de.symeda.sormas.api.audit.AuditLoggerFacade;
import de.symeda.sormas.api.bagexport.BAGExportFacade;
import de.symeda.sormas.api.campaign.CampaignFacade;
Expand All @@ -38,6 +40,7 @@
import de.symeda.sormas.api.contact.ContactFacade;
import de.symeda.sormas.api.customizableenum.CustomizableEnumFacade;
import de.symeda.sormas.api.dashboard.DashboardFacade;
import de.symeda.sormas.api.dashboard.adverseeventsfollowingimmunization.AefiDashboardFacade;
import de.symeda.sormas.api.dashboard.sample.SampleDashboardFacade;
import de.symeda.sormas.api.deletionconfiguration.DeletionConfigurationFacade;
import de.symeda.sormas.api.disease.DiseaseConfigurationFacade;
Expand Down Expand Up @@ -148,6 +151,14 @@ public static ImmunizationFacade getImmunizationFacade() {
return get().lookupEjbRemote(ImmunizationFacade.class);
}

public static AefiFacade getAefiFacade() {
return get().lookupEjbRemote(AefiFacade.class);
}

public static AefiInvestigationFacade getAefiInvestigationFacade() {
return get().lookupEjbRemote(AefiInvestigationFacade.class);
}

public static VaccinationFacade getVaccinationFacade() {
return get().lookupEjbRemote(VaccinationFacade.class);
}
Expand Down Expand Up @@ -320,6 +331,10 @@ public static SampleDashboardFacade getSampleDashboardFacade() {
return get().lookupEjbRemote(SampleDashboardFacade.class);
}

public static AefiDashboardFacade getAefiDashboardFacade() {
return get().lookupEjbRemote(AefiDashboardFacade.class);
}

public static DiseaseConfigurationFacade getDiseaseConfigurationFacade() {
return get().lookupEjbRemote(DiseaseConfigurationFacade.class);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
* Copyright © 2016-2024 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package de.symeda.sormas.api.adverseeventsfollowingimmunization;

import de.symeda.sormas.api.i18n.I18nProperties;

public enum AdverseEventState {

YES,
NO,
UNKNOWN;

@Override
public String toString() {
return I18nProperties.getEnumCaption(this);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
/*
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
* Copyright © 2016-2024 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package de.symeda.sormas.api.adverseeventsfollowingimmunization;

import de.symeda.sormas.api.feature.FeatureType;
import de.symeda.sormas.api.utils.DataHelper;
import de.symeda.sormas.api.utils.DependingOnFeatureType;
import de.symeda.sormas.api.utils.Order;
import de.symeda.sormas.api.utils.pseudonymization.PseudonymizableDto;

@DependingOnFeatureType(featureType = {
FeatureType.IMMUNIZATION_MANAGEMENT,
FeatureType.ADVERSE_EVENTS_FOLLOWING_IMMUNIZATION_MANAGEMENT })
public class AdverseEventsDto extends PseudonymizableDto {

private static final long serialVersionUID = 8081578717541472008L;

public static final String I18N_PREFIX = "AdverseEvents";

public static final String SEVERE_LOCAL_REACTION = "severeLocalReaction";
public static final String SEVERE_LOCAL_REACTION_MORE_THAN_THREE_DAYS = "severeLocalReactionMoreThanThreeDays";
public static final String SEVERE_LOCAL_REACTION_BEYOND_NEAREST_JOINT = "severeLocalReactionBeyondNearestJoint";
public static final String SEIZURES = "seizures";
public static final String SEIZURE_TYPE = "seizureType";
public static final String ABSCESS = "abscess";
public static final String SEPSIS = "sepsis";
public static final String ENCEPHALOPATHY = "encephalopathy";
public static final String TOXIC_SHOCK_SYNDROME = "toxicShockSyndrome";
public static final String THROMBOCYTOPENIA = "thrombocytopenia";
public static final String ANAPHYLAXIS = "anaphylaxis";
public static final String FEVERISH_FEELING = "feverishFeeling";
public static final String OTHER_ADVERSE_EVENT_DETAILS = "otherAdverseEventDetails";

private AdverseEventState severeLocalReaction;
private boolean severeLocalReactionMoreThanThreeDays;
private boolean severeLocalReactionBeyondNearestJoint;
private AdverseEventState seizures;
private SeizureType seizureType;
private AdverseEventState abscess;
private AdverseEventState sepsis;
private AdverseEventState encephalopathy;
private AdverseEventState toxicShockSyndrome;
private AdverseEventState thrombocytopenia;
private AdverseEventState anaphylaxis;
private AdverseEventState feverishFeeling;
private String otherAdverseEventDetails;

public static AdverseEventsDto build() {
AdverseEventsDto adverseEvents = new AdverseEventsDto();
adverseEvents.setUuid(DataHelper.createUuid());
return adverseEvents;
}

@Order(1)
public AdverseEventState getSevereLocalReaction() {
return severeLocalReaction;
}

public void setSevereLocalReaction(AdverseEventState severeLocalReaction) {
this.severeLocalReaction = severeLocalReaction;
}

@Order(2)
public boolean isSevereLocalReactionMoreThanThreeDays() {
return severeLocalReactionMoreThanThreeDays;
}

public void setSevereLocalReactionMoreThanThreeDays(boolean severeLocalReactionMoreThanThreeDays) {
this.severeLocalReactionMoreThanThreeDays = severeLocalReactionMoreThanThreeDays;
}

@Order(3)
public boolean isSevereLocalReactionBeyondNearestJoint() {
return severeLocalReactionBeyondNearestJoint;
}

public void setSevereLocalReactionBeyondNearestJoint(boolean severeLocalReactionBeyondNearestJoint) {
this.severeLocalReactionBeyondNearestJoint = severeLocalReactionBeyondNearestJoint;
}

@Order(4)
public AdverseEventState getSeizures() {
return seizures;
}

public void setSeizures(AdverseEventState seizures) {
this.seizures = seizures;
}

@Order(5)
public SeizureType getSeizureType() {
return seizureType;
}

public void setSeizureType(SeizureType seizureType) {
this.seizureType = seizureType;
}

@Order(6)
public AdverseEventState getAbscess() {
return abscess;
}

public void setAbscess(AdverseEventState abscess) {
this.abscess = abscess;
}

@Order(7)
public AdverseEventState getSepsis() {
return sepsis;
}

public void setSepsis(AdverseEventState sepsis) {
this.sepsis = sepsis;
}

@Order(7)
public AdverseEventState getEncephalopathy() {
return encephalopathy;
}

public void setEncephalopathy(AdverseEventState encephalopathy) {
this.encephalopathy = encephalopathy;
}

@Order(8)
public AdverseEventState getToxicShockSyndrome() {
return toxicShockSyndrome;
}

public void setToxicShockSyndrome(AdverseEventState toxicShockSyndrome) {
this.toxicShockSyndrome = toxicShockSyndrome;
}

@Order(9)
public AdverseEventState getThrombocytopenia() {
return thrombocytopenia;
}

public void setThrombocytopenia(AdverseEventState thrombocytopenia) {
this.thrombocytopenia = thrombocytopenia;
}

@Order(10)
public AdverseEventState getAnaphylaxis() {
return anaphylaxis;
}

public void setAnaphylaxis(AdverseEventState anaphylaxis) {
this.anaphylaxis = anaphylaxis;
}

@Order(11)
public AdverseEventState getFeverishFeeling() {
return feverishFeeling;
}

public void setFeverishFeeling(AdverseEventState feverishFeeling) {
this.feverishFeeling = feverishFeeling;
}

@Order(12)
public String getOtherAdverseEventDetails() {
return otherAdverseEventDetails;
}

public void setOtherAdverseEventDetails(String otherAdverseEventDetails) {
this.otherAdverseEventDetails = otherAdverseEventDetails;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
* Copyright © 2016-2024 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package de.symeda.sormas.api.adverseeventsfollowingimmunization;

import de.symeda.sormas.api.i18n.I18nProperties;

public enum AefiAgeGroup {

ZERO_TO_ONE,
ONE_TO_FIVE,
FIVE_TO_EIGHTEEN,
EIGHTEEN_TO_SIXTY,
SIXY_AND_ABOVE;

@Override
public String toString() {
return I18nProperties.getEnumCaption(this);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
* Copyright © 2016-2024 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package de.symeda.sormas.api.adverseeventsfollowingimmunization;

import de.symeda.sormas.api.i18n.I18nProperties;

public enum AefiCausality {

CONFIRMED,
INCONCLUSIVE;

@Override
public String toString() {
return I18nProperties.getEnumCaption(this);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
* Copyright © 2016-2024 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package de.symeda.sormas.api.adverseeventsfollowingimmunization;

import de.symeda.sormas.api.i18n.I18nProperties;

public enum AefiClassification {

RELATED_TO_VACCINE_OR_VACCINATION,
COINCIDENTAL_ADVERSE_EVENT,
UNDETERMINED;

@Override
public String toString() {
return I18nProperties.getEnumCaption(this);
}
}
Loading
Loading