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
291 stars 136 forks source link

SurvNet Adaptations #3312

Closed Candice-Louw closed 3 years ago

Candice-Louw commented 3 years ago

Situation Description

As a SurvNet user in a German GA, I would like to have all variables that are recorded in SurvNet to be captured in SORMAS. This would minimise double data entry.

With the latest update of SurvNet (.29), additional fields are required in SORMAS to capture new variables introduced by this update.

Feature Description

infoSurvNet-Anpassungen:

  1. Create new field „Accomodation and work in facility” for case person and contact person
  2. Create new field “Date of first contact” for contacts
  3. Create new field “Prohibition to work” for case persons and contact persons
  4. Create new field “Reporting district” for cases and contacts
  5. Create new field “Saluation” for case persons and contact persons
  6. Create new fields “Country of birth” and “nationality” for case persons, contact persons and event participants
  7. Create new field “name of guardians” for case persons, contact persons and event participants
  8. Create new field “Blood donation in the last 6 months” for cases
  9. Add new pathogen test “IgA serum antibody” to the list of pathogen tests
  10. Create new field “nosocomial outbreak” to cases
  11. Refine field “type of reporting” for cases
  12. Create new field “staff of armed forces” to case person and contact person
  13. Create new field “Suspicious case” to cases
  14. Adapt field field “Case known by” for cases

1.

Create new field „Accomodation and work in facility” for case person and contact person

Cases > Open Case information Contacts > Open Contact information

New fields (only DE)- Heading” Einrichtungen” | “Facilities” “Unterbringung und Tätigkeit in Einrichtung (de-de) | “Accommodation and work in facility” (en) [SurvNet field name: Exposition] Next to or under the existing field "Zuständiges Bundesland" (de-de) | “Responsible region” (en)

“Von … bis” | “from … to” [SurvNet field names: FromDate, UntilDate] Data Type: Date

“Rolle als “| “in the role of” [SurvNet field name: PatientExpositionRole]
Data Type: Dropdown/enum Values (de-de) | (en) • Nicht erhoben | data not collected • nicht ermittelbar| unknown • tätig is | working at • untergebracht in | accommodated in • betreut in | cared for in • andere/sonstige | other

“Art der Einrichtung” | “Kind of organization“ [SurvNet field name: KindOfOrg, referenceData Adressen] Data Type: Dropdown/enum Values (de-de) | (en)


2. Create new field “Date of first contact” for contacts

Contacts > open Contact information

New field - “Datum des ersten Kontaktes“ (de – de) | „Date of first contact” (en) Next (left) to the field “Datum des letzten Kontakts“ (de – de) | „Date of last contact” (en) Data Type: Date


  1. Create new field “Prohibition to work” for case and contact

Contacts > Open contact information Cases > Open case information

New fields (only DE)- ” Tätigkeitsverbot” (de-de) | “Prohibition to work” (en) [SurvNet field name: ProhibitionOfOccupation, ProhibitionOfOccupationfromDate; ProhibitionOfOccupationUntilDate]

Next to or under the existing field "Einrichtung" (de-de) | “Facility” (en)

Data Type: Dropdown/enum Values (de-de) | (en) • -nicht erhoben- | data not collected • -nicht ermittelbar- | unknown • Ja | yes • Nein | no


  1. Create new field “Reporting district” for cases and contacts

Contacts > Open contact information Cases > Open case information

New field (only DE) – “Meldelandkreis” (de – de) |”reporting district” (en) [SurvNet field name: ReportingCounty] (The reporting district can be different from the competent district)

Data Type: Dropdown/enum
Values (de-de) | (en) • Namen der Landkreise (ganz Deutschland) | name of districts


  1. Create new field “Saluation” for case persons and contact persons

Cases > Open Case-person Contacts > Open Contact-person

New fields (only DE)- “Anrede”(de-de) | “Saluation” (en) [SurvNet field name: Saluation] Place new field under the field “name”, it serves as a text block for letters

If possible, the user should be able to create a customized saluation .

Data Type: Dropdown/enum Values (de-de) | (en) • Sehr geehrter Herr| dear Sir • Sehr geehrte Frau | dear Madame • Sehr geehrte Familie | dear family • Sehr geehrte Erziehungsberechtigte des Kindes | dear guardian of the child • Sehr geehrte Dame, sehr geehrter Herr | dear Sir and Madame


6. Create new fields “Country of birth” and “nationality” for case persons, contact persons and event participants

Cases > Open Case-person Contacts > Open Contact-person Events > Open Event-participants

New fields - “Geburtsland” (de-de) | “Country of birth” (en) [SurvNet field name: CountryofBirthMYT] “Staatsangehörigkeit” (de-de) |”Nationality” (en) [SurvNet field name: CitizenshipMYT] “Geburtsname” (de–de) | “Birth name” (en) [SurvNet field name: Birthname]

Place these fields under existing field “Geschlecht” | “Sex” Data

Data Type: Dropdown/enum Values (de-de) | (en) Länderliste des RKI (DE) | list of countries (RKI) WHO country list (International)


7.

Create new field “name of guardians” for case persons, contact persons and event participants

Cases > Open Case-person Contacts > Open Contact-person Events > Open Event-participants

Place the field under the field “Staatsangehörigkeit” | “Nationality”. Separate name and family name. Data Type: string

New field – “Namen der Erziehungsberechtigten” (de-de) | „Name of the guardians“ (en) [SurvNet field name: NamesofGuardians]


8.

Create new field “Blood donation in the last 6 months” for cases Cases > Open Case information

New field (only DE) – „Blut-/Organ-/Gewebespende in den letzten 6 Monaten“ (de – de) | „Blood/organ/tissue donation in the last 6 months“ [SurvNet field name: StatusDonation]

Values (de-de) | (en) Data Type: Dropdown/enum

• -nicht erhoben- | data not collected • -nicht ermittelbar- | unknown • Ja | yes • Nein | no


9.

Add new pathogen test “IgA serum antibody” to the list of pathogen tests

Case/contact > new sample > Pathogen test

New value – Date Type: Dropdown Add new pathogen test: “IgA Serumantikörper” | “IgA serum antibody” [SurvNet: SeroStatus IgA]


10. Case > Hospitalization

New field - „Grund für die Hospitalisierung“ (de – de)| „Reason for hospitalization“ (en) [SurvNet field name: StatusHospitalization)

Add new field next to date of hospitalization/visit

Values (de-de) | (en) Data Type: Dropdown/enum • -nicht erhoben- | data not collected • -nicht ermittelbar- | unknown • Hospitalisiert aufgrund der gemeldeten Krankheit | hospitalization due to notified disease • Hospitalisiert aufgrund einer anderen Ursache als der gemeldeten Krankheit | hospitalisation due to other reason • Hospitalisiert, Ursache unbekannt| hospitalised, reason unknown


11. already existing

Case>Hospitalization

New fields - „ITS von“ (de – de) | „ICU from” (en) [SurvNet field name ITSStayFrom, ITSStayUntil] Add new fields next to “Stay in intensive care unit” Data Type: Date


12.

Create new field “nosocomial outbreak” to cases Case > case information New fields (only DE)- “Nosocomialer Ausbruch” (de – deI| “Nosocomial outbreak” (en)| “Infektionsumfeld” (de – de) | “Infection setting” (en) [SurvNet field name:P112Setting] Place field above “home-based quarantine/isolation” possible Values (de-de) | (en) Data Type: Dropdown/enum

Ambulant       Ambulant      
  Arztpraxis/Zahnarztpraxis   Medical practice  
  operativ       surgical    
  Krankenhaus     Hospital    
  Dialyseeinrichtung     Dialysis facility  
  Entbindungseinricht     Maternity unit  
  sonstige ambulante Einrichtung   other outpatient facility  
               
Stationär       In-patient      
  Krankenhaus Normalstation (operativ, nicht-operativ, Hämatoonkologie)     Hospital Normal ward (operative, non-operative, hematological oncology)  
    Kinderstation     Children's ward
    Neonatalogie     Neonatology
    Intensivstation     Intensive Care Unit
           
    Sonstige Station     Other station
               
  Pflegeeinrichtung     Nursing home  
  Reha-Einrichtung     Rehab facility  
  sonstige stationäre Einrichtung   other in-patient facililty  
Rettungsdienst       Emergency medical services
               

13. Refine field “type of reporting” for cases

Case > case information > type of reporting

Change values (only DE) – Two new values “Gemeinschaftseinrichtung … §8”, “Gemeinschaftseinrichtung § 34“. Migrate data from „community facility“ to „Gemeinschaftseinrichtung … § 8“ [SurvNet field name: NotificationType]

Data Type: Dropdown/enum Values (de-de) | (en) • nicht erhoben- | data not collected • -nicht ermittelbar- | unknown • Arzt/Ärztin | doctor • Labor | Laboratory • Eigne Ermittlungen | own determination • Gemeinschaftseinrichtung gemäß § 8 (1) 7 IfSG | Community facility (§ 8 IfSG) • Gemeinschaftseinrichtung gemäß § 34 IfSG | Community facility (§ 34 IfSG) • Weiterleitung von einem anderen GA | Forwarding • Krankenhaus | Hospital or stationary care


14. Create new field “staff of armed forces” to case person and contact person

Case > case person Contact > contact person

New field (only DE) – “Zugehörigkeit zur Bundeswehr”(de – de) | „staff of armed forces“ (en) [SurvNet field name: BelongingToTheBundeswehr

Data Type: Dropdown/enum Values (de-de) | (en) • nicht erhoben- | data not collected • -nicht ermittelbar- | unknown • Kein Bezug zur BW| no relation to armed forces • Zivilperson tätig/untergebrach in Einrichtung der BW | civil person working for/accomodated in facility of armed forces • Soldat/BW-Angehöriger | soldier, relative


15. Create new field “Suspicious case” to cases

Case > case information

New field (DE only) – “Verdachtsfall (de – de) | “Suspicious case” (en) [SurvNet field names: SuspicionNotConf; SuspicionNotDat; SuspicionNotPhysician; SuspicionNotPathOther]

If the answer is “suspicion not confirmed” then change case classification to “no case”.

Data Type: check box, date Values (de-de) | (en)


16.

Adapt field “Contact identification source” for contacts

Contact> contact information

Adapt field (DE only) - “Fallinformationsquelle” (de – de) |“contact identification source“ (en) [SurvNet field name; KnownBy] Place new field next to case classification

Data Type: Dropdown/enum New Values (de-de) | (en)

Data Migration

Old value New value
Fall Person | case person Kontakpersonennachverfolgung | contact tracing
Kontaktperson | contact person Kontaktpersonennachverfolgung | contact tracing

Additional Information

SurvNet_Anpassungen_missing_fields_201023.docx

bernardsilenou commented 3 years ago

@Candice-Louw When do we begin working on this?

kwa20 commented 3 years ago

@Candice-Louw Do you know why 10. got crossed out?

bernardsilenou commented 3 years ago

@kwa20 the reason for hospitalization is the entity (mainly case) itself right? thus no need to collect the data.

kwa20 commented 3 years ago

@bernardsilenou what if the place of stay of a case is a hospital but the person was admitted because they e.g. broke their leg. The reason of admission would then differ from it being the disease.

kwa20 commented 3 years ago

10. Since the reason for hospitalization could be many while the person is a case, I suggest to add this field. However, adjust the variables mentioned above to the following: reason for hospitalization (drop-down):   - (null)   - unknown   - reported disease   - other reason

[another variable for unknown is not really needed since it's the same as reason unknown] [isolation as a reason is covered by separate isolation field in Sormas] when other reason is selected, users should be able to specify the reason in a free text field (even if not requested for SurvNet).

kwa20 commented 3 years ago

8. Place the field "Blood/organ/tissue donation in the last 6 months" underneath nosocomial outbreak in the case information. Take into consideration the position switch in #3776.

bernardsilenou commented 3 years ago

@kwa20 I think we are mixing documenting the case and the person here. Maybe we may have to discuss this one further, however some comment I have: I would say this specification you give works perfects for a situation that we document a person. Since we are documenting data about the case, then the hospitalization and previous hospitalization are about the case (+ disease) in question not any other hospitalization liked to the person. That is the reason why there is a validation in place that prevent users from documenting hospitalization for other diseases. For the situation that the case person is hospitalized because of a fracture rather than the case, then then i think we would need to think how to document this.

If we decide to go with your specification, then we need to relax the conditions in the hospitalization section of the case to contain any hospitalizations of the person that can include adverse event and also other diseases.

Another option is to go as you specify and in all statistics, just as we do for fatalities, exclude all hospitalizations and previous hospitalizations with reasons not == disease of case.

kwa20 commented 3 years ago

@bernardsilenou I think the validation there is takes the place of stay to determine whether hospitalization is enabled or not. Therefore, I don't think adding the reason for the hospitalization contradicts what we document already. Thus far, we can not actually infer that the case was admitted because of the associated disease or something else just by taking the place of stay into consideration.

bernardsilenou commented 3 years ago

@kwa20 Thats right. Have a look at this line image

The initial idea as i said was to document hospitalizations liked to the current case. We may need to change certain captions then, all depends on what you prefer

bernardsilenou commented 3 years ago

@kay Why not add 8. to the person entity instead? This would be more informative since other entities (case, contact, event participant, immunization participant, or just stand alone person) linked to the person entity can inherit this information and benefit from.

kwa20 commented 3 years ago

@kwa20 Thats right. Have a look at this line image

The initial idea as i said was to document hospitalizations liked to the current case. We may need to change certain captions then, all depends on what you prefer

@bernardsilenou yes but this section is about previous hospitalizations. If the cases' current place of stay is a hospital, we don't document if it's due to the disease or something else.

regarding 8.: I also thought it's more fitting on the person form. However, the field needs a date reference to make sense over time because the field will inevitably change when 6 months have passed and it was initially set to yes. On the case form, we have the date of report as a reference because that will not change. An option would be to add a date field where users add the date of the donation which can be set up to 6 months in the past. The field would then have to be set to no if current time and donation differ by more than 6 months. This will of course be more work.

bernardsilenou commented 3 years ago

@kwa20 Nice conversation. What are you feedback on this pls:

I have comments on some of the other points but would like to talk to you first before deciding if they are valid.

bernardsilenou commented 3 years ago

@kwa20 I forgot to respond to one point you mentioned: If the cases' current place of stay is a hospital, we don't document if it's due to the disease or something else. We do not document this because we infer that all person data documented under the case is because of the case, the same logic goes with sample collation, etc. It is OK to explicate mention the reason for hospitalization especially in this covid times that people hospitalized for other reasons that we may not need to create cases for get infected for covid in hospitals.

Candice-Louw commented 3 years ago

@JaquM - is it okay if I close this issue? It has been fully implemented?

JaquM-HZI commented 3 years ago

@Candice-Louw yes, you can close this, thank you!

Candice-Louw commented 3 years ago

Implementation complete.