medizininformatik-initiative / INTERPOLAR

CDS Tool Chain Repository
https://medizininformatik-initiative.github.io/INTERPOLAR/
5 stars 0 forks source link

DB2Frontend verändert Geburtsdatum #318

Closed reuschem closed 1 month ago

reuschem commented 3 months ago

Beim wieder auslesen eines Datums ist dies verändert und differiert um einen Tag zu dem von der Datenbank übergebenen. Könnte dies ein Zeitzonen Fehler sein?

TZoneFehler

mayadogh commented 3 months ago

vermutlich, ich weiß aber nicht. @MarcelvonBorzestowski weißt du wo man die Zeitzone sieht? Und ich denke für diesen Release können wir es erstmal "ignorieren" oder? Du nimmst immer Geburtsdatum vom FHIR-Server oder?

SebStaeubert commented 3 months ago

REDCap timezone habe ich gefixt: image

Wir brauchen einen neuen Test...

SebStaeubert commented 1 month ago

Idee: Zeitzone der DB-Connection übergeben.

SebStaeubert commented 1 month ago

Scheint mit unserer gestrigen Fehlerbehebungssitzungbehoben zu sein. Das Datum wurde nicht mehr verändert. Unser Test lief aber nicht durch und lieferte folgenden Fehler:

root@interpolar-dev:/opt/docker/ip-release_v0.2.0# docker compose run --rm --no-deps r-env Rscript R-db2frontend/StartDB2Frontend.R Try to connect with: dbname=cds_hub_db host=cds_hub port=5432 user=db2frontend_user password=db2frontend schema=db2frontend_out [1] "DB Timezone: Europe/Berlin" [1] "DB SELECT NOW(): 2024-08-13 14:29:32.579939" [1] "DB CURRENT_TIMESTAMP: 1723552172.58108" [1] "R Sys.time(): 2024-08-13 14:29:32.58161" [1] "R Sys.timezone(): Europe/Berlin" importRecords will change how it validates data in version 3.0.0. We recommend preparing your data for import using castForImport . importRecords will change how it validates data in version 3.0.0. We recommend preparing your data for import using castForImport . Error in redcapError(response, error_handling = "error") : 400: ERROR: "2601","fall_complete","0","This field ('fall_complete') exists on a Repeating Instrument named 'fall'. However, the fields 'redcap_repeat_instance' and/or 'redcap_repeat_instrument' for this row of data have no value, which are both required for importing data into a Repeating Instrument. You are not allowed to import data for this field into a non-repeating instrument." "2603","fall_complete","0","This field ('fall_complete') exists on a Repeating Instrument named 'fall'. However, the fields 'redcap_repeat_instance' and/or 'redcap_repeat_instrument' for this row of data have no value, which are both required for importing data into a Repeating Instrument. You are not allowed to import data for this field into a non-repeating instrument." "2605","fall_complete","0","This field ('fall_complete') exists on a Repeating Instrument named 'fall'. However, the fields 'redcap_repeat_instance' and/or 'redcap_repeat_instrument' for this row of data have no value, which ar Calls: copyDB2Redcap ... importRecords.redcapApiConnection -> import_records_unbatched -> redcapError Execution halted

Vor dem Test haben wir das INTERPOLAR-Dev Projekt von health-atlas exportiert und im REDCap auf interpolar-dev ersetzt (aufgrund des fehlenden Feldes "pat_cis_pid").

@reuschem Bitte vollständigen Durchlauf durchführen und prüfen, ob der Fehler tatsächlich behoben ist.

mayadogh commented 1 month ago

@SebStaeubert cool, dass die Zeit jetzt geht. Die Fehlermeldung ist jetzt tatsächlich was von der DB.

reuschem commented 1 month ago

Wir haben die DB heute neu aufgesetzt, daher lässt es sich an diesen Datensätzen nicht nachvollziehen. Wir müssen schauen ob der Dataprocessor die Felder schreibt und es in der DB durchgereicht wird. ('redcap_repeat_instance' and/or 'redcap_repeat_instrument' for this row of data have no value)

reuschem commented 1 month ago

Tests ergaben das der Fehler behoben wurde und das "verändern" eines Datumsfeldes durch explizite Vorgabe der Zeitzone bei den verschiedenen Verbindungen geholfen hat.