SORMAS-Foundation / SORMAS-Project

SORMAS (Surveillance, Outbreak Response Management and Analysis System) is an early warning and management system to fight the spread of infectious diseases.
https://sormas.org
GNU General Public License v3.0
294 stars 142 forks source link

Enable/Disable Automatic/Manual Case Classification Customization Per Disease [2] #13150

Closed markusmann-vg closed 2 weeks ago

markusmann-vg commented 1 month ago

Feature Description

Currently, it is not possible to configure the "Case Classification" and "Automatic Case Classification" options individually for each disease in SORMAS. Implement the option to individually configure the "Case Classification" and "Automatic Case Classification" for each disease in SORMAS. Allow the configuration to be managed through the SORMAS Properties settings file. The following should be the default values:

Added Value/Benefit

Introducing this functionality would greatly improve the workflows of public health authorities by allowing more flexibility in managing case classifications based on specific disease needs. This feature will enable health departments to adjust case classification workflows according to the specific requirements of different diseases, increasing flexibility and efficiency in case management.

Acceptance Criteria

Automatic Case Classification Manual Case Classification Calculation

Manual Case Classification Calculation: Enabled Automatic Case Classification: Enabled

Implementation Details

No response

Mockups

No response

Additional Information

No response

leventegal-she commented 3 weeks ago

Added configuration properties:

caseClassification.ALL caseClassification.{Disease}: eg. caseClassification.CORONAVIRUS, caseClassification.CHOLERA, etc.

Possible values: DISABLED, MANUAL, AUTOMATIC, MANUAL_AND_AUTOMATIC

To be added on the release notes

Braking change

The configuration property feature.automaticcaseclassification has been removed but the default configuration didn't change, meaning automatic classification is enabled by default For disabling it caseClassification.ALL=DISABLED or caseClassification.ALL=MANUAL must be set

XavCol commented 3 weeks ago

The customization per disease should include the archive period and deletion period too.

markusmann-vg commented 3 weeks ago

@xavier-calland This cannot be included in this ticket as it is far more complex and this feature would imply huge impact on the whole SORMAS system regarding data protection and deletion concept. If this is needed, we should create an epic "Disease Management" where this configuration option is one task to do. This should also be discussed with the SORMAS Foundation and it could also be prepared by the SF.

richardbartha commented 1 day ago

Tested on localhost version 1.99.0 - SNAPSHOT (https://github.com/SORMAS-Foundation/SORMAS-Project/commits/0c557021cc987a83391e4d054f44f55ede18e358) Work correctly as described in the ticket, however there are edge cases that should be handled somehow in the future! @markusmann-vg @ example: a case having multiple pathogen tests with different diseases that whould trigger automatic case clasification or manual calculation is needed, if you change the given case disease the automatic classification and manual calculation does not work correctly it always resets to default "not yet classified"