Feature 14231 mumps symptoms & exposure change - #14259
Conversation
…-mumps-exposure-for-changes
…ature-14232-mumps-exposure-for-changes
…ature-14232-mumps-exposure-for-changes
# Conflicts: # sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java # sormas-backend/src/main/java/de/symeda/sormas/backend/symptoms/Symptoms.java # sormas-backend/src/main/java/de/symeda/sormas/backend/symptoms/SymptomsFacadeEjb.java # sormas-backend/src/main/resources/sql/sormas_schema.sql # sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java
📝 WalkthroughWalkthroughThe PR adds mumps support across epidemiology, exposure, clinical manifestations, symptoms, backend persistence, schema migration, and UI forms. It also adds respiratory droplet exposure support and cluster identifier handling. ChangesMumps epidemiology and exposure contracts
Mumps symptom contract
Backend persistence and schema
User-interface integration
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java`:
- Around line 5898-5949: Update the `@Order` annotations for the mumps-related
getters in SymptomsDto, starting with getNoComplications and continuing through
getOtherGeneralSymptomsText, so each uses a unique unused order value and does
not duplicate getWateryDiarrhea’s `@Order`(370). Keep the getter and setter
behavior unchanged.
In `@sormas-backend/src/main/resources/sql/sormas_schema.sql`:
- Around line 17007-17027: Update the schema migration around the version 657
changes to add matching clusterIdentifier columns to both epidata and
epidata_history, using the type compatible with the EpiData entity mapping. Keep
the existing symptom-column changes and schema version entries intact.
- Around line 17016-17025: Update the othergeneralsymptomstext column
definitions in both symptoms and symptoms_history to varchar(512), matching
FieldConstraints.CHARACTER_LIMIT_DEFAULT and the validation in SymptomsDto and
Symptoms; leave the other migration columns unchanged.
In `@sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java`:
- Around line 1056-1060: Remove the duplicate MACULOPAPULAR_RASH entry from
unconditionalSymptomFieldIds in SymptomsForm, keeping the existing earlier entry
and all other symptom identifiers unchanged so addListenerForOnsetFields
registers only one listener for it.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 59647353-453f-414f-b22a-a8360cc5f353
📒 Files selected for processing (14)
sormas-api/src/main/java/de/symeda/sormas/api/epidata/ClusterType.javasormas-api/src/main/java/de/symeda/sormas/api/epidata/EpiDataDto.javasormas-api/src/main/java/de/symeda/sormas/api/exposure/ExposureCategory.javasormas-api/src/main/java/de/symeda/sormas/api/exposure/ExposureSetting.javasormas-api/src/main/java/de/symeda/sormas/api/symptoms/ClinicalManifestation.javasormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.javasormas-backend/src/main/java/de/symeda/sormas/backend/epidata/EpiData.javasormas-backend/src/main/java/de/symeda/sormas/backend/epidata/EpiDataFacadeEjb.javasormas-backend/src/main/java/de/symeda/sormas/backend/symptoms/Symptoms.javasormas-backend/src/main/java/de/symeda/sormas/backend/symptoms/SymptomsFacadeEjb.javasormas-backend/src/main/resources/sql/sormas_schema.sqlsormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseSymptomSideViewComponent.javasormas-ui/src/main/java/de/symeda/sormas/ui/epidata/EpiDataForm.javasormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@sormas-backend/src/main/resources/sql/sormas_schema.sql`:
- Line 17018: Update the MUMPS exposurecategories migration to merge
RESPIRATORY_DROPLET into the existing value rather than replacing it with a
fixed list. Preserve all site-specific additions and removals while avoiding
duplicate RESPIRATORY_DROPLET entries.
- Line 17018: Update the diseaseconfiguration migration statement for disease
'MUMPS' to also set changedate when changing exposurecategories, ensuring
clients detect and receive the updated configuration.
- Line 17028: Remove the UPDATE targeting diseaseconfiguration_history for
MUMPS. Apply the exposurecategories change only to the current
diseaseconfiguration table, following the established migration pattern and
preserving existing historical rows.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3c29b128-cd63-4c81-a28a-4cda915d41ca
📒 Files selected for processing (3)
sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.javasormas-backend/src/main/resources/sql/sormas_schema.sqlsormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java
💤 Files with no reviewable changes (1)
- sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java
🚧 Files skipped from review as they are similar to previous changes (1)
- sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java
Fixes #
Summary by CodeRabbit