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
293 stars 143 forks source link

Vaccinations without a "vaccination date" should also be marked as relevant and included in the status calculation [2] #9265

Closed SORMAS-ChristopherMeyer closed 2 years ago

SORMAS-ChristopherMeyer commented 2 years ago

Problem Description

Vaccinations without a vaccination date should be classified as relevant. If the vaccination date is not known, a vaccination without a vaccination date is entered. This leads to falsification of vaccination data in a later report.

Proposed Change

vaccinations without a date should also be considered as relevant in the future.

therefore we introduce a new rule:

and update an existing one:

Acceptance Criteria

Implementation Details

VaccinationService.isVaccinationRelevant methods need to be changed.

Additional Information

Corresponding SurvNet Converter Ticket: https://github.com/hzi-braunschweig/sormas-survnet-interface/issues/316

FredrikSchaefer commented 2 years ago

if vaccinationreportDate is within 14 days from onsetDate,( if not given reportDate), the vaccination should be relevant

@cmeyerhzi This rule is not clear to me. When you say within 14 days from onsetDate,( if not given reportDate), you mean the symptom onset date of a case? Then this rule does not make sense, because this date is not mandatory, but the report date is.

Also, the relevance of vaccinations is not just calculated for cases, but also for contacts. Even though contacts are not relevant for SurvNet, it is necessary to keep the relevance calculation consistent. Other countries may be using the immunization feature, too.

kwa20 commented 2 years ago

@FredrikSchaeferVitagroup @cmeyerhzi

This rule is not clear to me. When you say within 14 days from onsetDate,( if not given reportDate), you mean the symptom onset date of a case? Then this rule does not make sense, because this date is not mandatory, but the report date is.

Also, the relevance of vaccinations is not just calculated for cases, but also for contacts. Even though contacts are not relevant for SurvNet, it is necessary to keep the relevance calculation consistent. Other countries may be using the immunization feature, too.

Taking contacts and event participants into account is definitely correct and has probably just been overlooked. It's also independent of the country and relevant for any users.

To clarify the rest:

FredrikSchaefer commented 2 years ago

@kwa20 Thank you for the details. There's one semantic point we don't yet understand. Why shall the vaccination be relevant when the Vaccination.reportDate lies WITHIN a timeframe of 14 days? And what exactly does that mean? For example for cases: What does it mean that the Vaccination.reportDate shall fall in the timeframe of 14 days, considerig the onsetDate/Case.reportDate? Shall the Vaccination.reportDate be not more that 14 before the onsetDate/Case.reportDate? And earlier reported vaccination shall not be relevant?

markusmann-vg commented 2 years ago

https://github.com/hzi-braunschweig/SORMAS-Project/issues/9415 needs to be adjusted afterwards

kwa20 commented 2 years ago

@FredrikSchaeferVitagroup @markusmann-vg When a vaccination does not have a vaccinationDate, it is difficult to say whether the vaccination is relevant for the respective entity or not. Thus far, we excluded them from being relevant alltogether, however, after receiving feedback from users and the RKI, this seems to produce inconsitent numbers of vaccinations where the vaccinationDate is simply unknown. Unfortunately, considering all vaccinations without a vaccinationDate as relevant is also somewhat problematic, because vaccinations that are being added a long time after the relevant cases dates have a low likelihood of being relevant for the case. Since the usual time for a case to be worked on is 14 days after its creation, we would like to consider such vaccinations without a known vaccinationDate, which fall in the timeframe of the usual management duration since relevant vaccination data will likely be collected during that time. In other words, we would like to consider vaccinations without a vaccinationDate as relevant if their reportDate is before or up until 14 days after the relevant case date (onsetDate or reportDate).

Hope that helps! Please let me know if I should clarify further.

FredrikSchaefer commented 2 years ago

@kwa20 Thank you for the clarification. I assume it is okay to use the end of day from the vaccination(report) date for comparison? It was so far done like that with the vaccination date, and would be most consistent.

kwa20 commented 2 years ago

@FredrikSchaeferVitagroup Yes, that should be fine

FredrikSchaefer commented 2 years ago

Should be testable on any test system, as well as locally.

abrudanancuta commented 2 years ago

The ticket will be reopen because:

  1. the vaccination status is not changing to vaccinated
  2. in the export file the vaccine without Vaccination date appears all the time to be the last vaccine made

Steps to reproduce for case 1 - Applied on Case, Contacts, EventParticipant

  1. As NatUser having reduced immunization enable, edit a case without any vaccines
  2. Add a vaccination without vaccine date, but to be relevant with the new rule(before the reportDate of the case, or after the reportDate of case max 14 days)
  3. Check the vaccination status on the case => at this point the Vaccination status is empty Expected: The Vaccination status should change to Vaccinated

Steps to reproduce for case 2

  1. As NatUser having reduced immunization enable, edit a case without any vaccines
  2. Add 3 relevant vaccines: 2 having Vaccine dates and 1 without vaccine date Ex: ReportDate for case 20.06.2022 Vaccine date : 15.06.2022 Vaccine date: 19.06.2022 No vaccine date but ReportDate on vaccine: 17.06.2022
  3. Export a detail report for the cases
  4. Search in the report the case above and check the last Vaccine date => at this point the exported file contains data from the Vaccination that has no vaccine date Expected: The report should contain from the example described the data from the Vaccine that has a date, the one from 19.06.2022
abrudanancuta commented 2 years ago

Verified on local environment with the version: 1.75.0-SNAPSHOT (7e4e9eb)