Skip to content

ETL‐Prozess

CV293008 edited this page Feb 21, 2024 · 29 revisions

Zur Unterstützung der Datenverarbeitung wurde ein so genannter ETL-Prozess etabliert. Dieser besteht im wesentlichen aus drei Schritten, welche zu einer Verbesserung der Datenqualität führen und die Daten für die Auswertung vorbereiten.

1. Extraktion

Die Quelldaten liegen gesammelt in einer SQL Datenbank vor. Für die Beantwortung der Forschungsfragen sind allerdings nicht alle Daten notwendig. Daher werden lediglich die relevanten Datensätze extrahiert und in ein Data Warehouse importiert.
Das Data Warehouse bietet einige Vorteile im Vergleich zur Quelldatenbank. Auswertungen sollten sich immer auf einen feststehenden Datensatz beziehen. Da davon auszugehen ist, dass sich die Daten der Quelldatenbank noch aktualisieren oder erweitern, löst das Data Warehouse dieses Problem. Es arbeitet lediglich mit einer Kopie der Daten zu einem bestimmten Zeitpunkt. Ein weiterer Vorteil ist, dass die nachfolgenden Schritte des ETL-Prozesses die Daten anpassen. So können sich z.B. Datenformate ändern. Dies würde zu Eingabefehlern in der Quelldatenbank führen. Zuletzt ist das Data Warehouse eine einfache Möglichkeit, um die Performance der Quelldatenbank nicht durch die Prozesse zur Auswertung zu beeinflussen.

2. Transformation

Während der Transformation werden aus den Rohdaten die relevanten Daten herausgezogen und auf Redundanzen überprüft. Weiterhin werden die Daten verarbeitet, um die Forschungsfrage beantworten zu können. Das angestrebte Ergebnis ist durch ein erstelltes Sternschema gegeben.

Sternschema MAPCOV (2)

Zunächst werden lediglich die Patienten gefiltert, die eine tatsächliche Covid-19 Infektionen vorliegen haben. Dazu wird in der Tabelle 'conditions_INFO' in der Spalte 'DESCRIPTION' nach 'Covid-19' gefiltert. Aus dem Start- und Enddatum dieser Einträge lässt sich zudem der Zeitraum der Covid Erkrankung pro Patient definieren.
Zur Erstellung des SEVID-Score werden die Daten in weiteren Tabellen gefiltert:

Teil im SEVID-Score Tabelle Angewendete Filter
Disorder conditions_INFO 'DESCRIPTION' enthält '(disorder)' aber nicht 'Covid'. Zeitraum muss innerhalb der Covid Erkrankung liegen
Ventilation devices_INFO 'DESCRIPTION' ist gleich 'Mechanical ventilator (physical object)'. Zeitraum muss innerhalb der Covid Erkrankung liegen
Medications medications_INFO 'REASONDESCRIPTION' ist gleich 'Covid-19'. Zeitraum muss innerhalb der Covid Erkrankung liegen
inpatient encounters_INFO 'ENCOUNTERCLASS' ist gleich 'inpatient'. Zeitraum muss innerhalb der Covid Erkrankung liegen
Death patients_INFO Patienten, die vor dem 01.01.2020 verstorben sind, werden ausgeschlossen.

Jeder Teil des SEVID Score wird pro Patient gruppiert. Lediglich bei 'Death' ist dies nicht nötig, da es bereits in der Patientenliste vorliegt. Der Score berechnet sich aus der Summe aller Teile, wobei es lediglich eine Rolle spielt, ob ein Teil des Scores aufgetreten ist und nicht wie häufig.

3. Ladeprozess

Die vorbereiteten Datensätze werden in dem zentralen Factsheet zusammengefasst. Dazu werden die relevanten Spalten der 'patients_INFO' Tabelle als Grundlage verwendet. Der SEVID Score wird an die Tabelle angefügt wobei die Patienten-ID als Schlüssel verwendet wird. Zusätzlich werden die Daten aus 'county_info' über die Spalte 'COUNTY' zugeordnet und ebenfalls in das Factsheet geladen.
Gezielte Abfragen im Data Warehouse für die Analyse der Forschungsfragen ermöglichen die Visualisierung der Ergebnisse.