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

Search for duplicate cases instead of persons [5] #757

Closed bernardsilenou closed 5 years ago

bernardsilenou commented 6 years ago

In Nigeria, millions of people are called "chinedu" for example. I immagine after using sormas in Nigeria for 5yrs and when a new case called chinedu is created, 10 suggested persons are presented to me by sormas, this is much work for me to choose the corresponding person.

The current algrithm proposes similar persons based on "OR" operator. If a contact persons name is "Tom" for example, then all the persons with similar names in the system are suggested by sormas with (FIRST NAME | LAST NAME | NICKNAME | AGE | GENDER | PRESENT CONDITION | DISTRICT | COMMUNITY | CITY). Persons with missing values for age,gender, commmunity, etc are also suggested leading to a very long list of persons for the user to check each and decide if the person already existed in the system.

This is prone to errors and also create more work for the user.

I suggest we use an "AND" operator, based on (first name & last name & sex & (age | date of birth) & region & district).

If all these information are provided by the user and they matches with a person in the system, only then will the person be suggested by sormas to the user to decise.

MateStrysewske commented 5 years ago

We just discussed this and decided that it may be necessary to add more fields to the case create form. This may be gender, age/birthdate and more fields - e.g. related to the home address. This needs to be discussed and defined.

MateStrysewske commented 5 years ago

Additionally, we need to check for already existing cases on case creation as well.

MateStrysewske commented 5 years ago

Core idea: Use additional available data to get rid of false positives.

MartinWahnschaffe commented 5 years ago

In general we want to do the following: When creating a new case we want to look for existing cases that are potential duplicates. The existing mechanism to find similar persons is currently not needed (we should keep the logic and components alive, though).

Implementation backend & UI

This should later also be done for the app.

MateStrysewske commented 5 years ago