You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Postgres-cds_hub/DB_description.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,12 +16,12 @@ Man kann die verschiedenen Bereiche (Schemata) in Schnittstellenschemata und fun
16
16
Funktionale Schemata dienen der inhaltlichen Gliederung der Daten innerhalb der Datenbank. Im Folgenden werden die verschiedenen Bereiche der CDS-HUB DB vorgestellt.
17
17
18
18
### cds2db_in / cds2db_out
19
-
Schnittstellen-Schema zum Importieren von FHIR-Daten (_in) sowie zur Umwandlung dieser Daten in typisierte relationale Datenbanktabellen. Die Umsetzung erfolgt in dieser Referenzimplementierung im Modul CDS2DB mithilfe von R-Skripten ([R-cds2db](../R-cds2db/cds2db)
19
+
Schnittstellen-Schema zum Importieren von FHIR-Daten (_in) sowie zur Umwandlung dieser Daten in typisierte relationale Datenbanktabellen. Die Umsetzung erfolgt in dieser Referenzimplementierung im Modul CDS2DB mithilfe von R-Skripten ([R-cds2db](../R-cds2db/cds2db/R)
20
20
). Die in diesem Schema angelegten Tabellen entsprechen den Strukturen der FHIR-Ressourcen.
21
21
22
22
23
23
### db2dataprocessor_in / db2dataprocessor_out
24
-
Schnittstellen-Schema, um zum einen Daten aus dem Kern dem Modul DataProcessor (_out) zur Verfügung zu stellen und zum anderen berechnete Daten von diesem entgegenzunehmen (_in) und wieder im Kern dauerhaft zu speichern. Sämtliche inhaltliche Logik und Berechnungen finden im Modul DataProcessor statt und können z. B. über R-Skripte implementiert werden ([R-dataprocessor](../R-dataprocessor/dataprocessor)). Die in diesem Schema angelegten Tabellen entsprechen den Strukturen der FHIR-Ressourcen (_out) sowie den Strukturen, die fürs Frontend benötigt werden. Weitere Tabellen können für zusätzliche Funktionalitäten erforderlich werden.
24
+
Schnittstellen-Schema, um zum einen Daten aus dem Kern dem Modul DataProcessor (_out) zur Verfügung zu stellen und zum anderen berechnete Daten von diesem entgegenzunehmen (_in) und wieder im Kern dauerhaft zu speichern. Sämtliche inhaltliche Logik und Berechnungen finden im Modul DataProcessor statt und können z. B. über R-Skripte implementiert werden ([R-dataprocessor](../R-dataprocessor/dataprocessor/R)). Die in diesem Schema angelegten Tabellen entsprechen den Strukturen der FHIR-Ressourcen (_out) sowie den Strukturen, die fürs Frontend benötigt werden. Weitere Tabellen können für zusätzliche Funktionalitäten erforderlich werden.
25
25
26
26
### db2frontend_in / db2frontend_out
27
27
Schnittstellen-Schema, um Daten aus dem Kern an ein Frontend zu übergeben (_out) bzw. von diesem entgegenzunehmen (_in) und im Kern zu speichern. Die in diesem Schema angelegten Tabellen entsprechen den Strukturen des Frontends.
@@ -66,9 +66,9 @@ Die CDS-HUB DB ist ein Bestandteil des Datenflusses. Daher ist der Beschreibung
66
66
Um den Datenfluss zu gewährleisten und rückverfolgbar zu machen, werden zu allen Daten (Tabellen) immer datenbankinterne technische Primärschlüssel angelegt und gegebenenfalls bei der Verarbeitung weitergegeben. Diese technischen Primärschlüssel können redundant zu den in den Daten enthaltenen Primärschlüsseln sein (z. B. FHIR-IDs).
67
67
68
68
## Erzeugung der Datenbank
69
-
Zur Erzeugung der Strukturen und Funktionalität der Datenbank werden bei der Initialisierung Skripte in einer durch Nummerierung vorgegebenen Reihenfolge ausgeführt. Diese Skripte initialisieren die Datenbank zum aktuellen Entwicklungsstand und können zukünftigen Änderungen unterliegen. Der genaue Inhalt ist im jeweiligen SQL-Skript nachzulesen (siehe [Postgres-cds_hub/init (SQL-Skripte)](https://github.com/medizininformatik-initiative/INTERPOLAR/tree/main/Postgres-cds_hub/init)).
69
+
Zur Erzeugung der Strukturen und Funktionalität der Datenbank werden bei der Initialisierung Skripte in einer durch Nummerierung vorgegebenen Reihenfolge ausgeführt. Diese Skripte initialisieren die Datenbank zum aktuellen Entwicklungsstand und können zukünftigen Änderungen unterliegen. Der genaue Inhalt ist im jeweiligen SQL-Skript nachzulesen (siehe [Postgres-cds_hub/init (SQL-Skripte)](../Postgres-cds_hub/init)).
70
70
71
-
Teilweise werden diese Skripte mit Hilfe von Templates und Konfigurationsdateien erzeugt. Dies betrifft alle Skripte zum Anlegen von Tabellen und deren Spalten. Die Definition der Tabellen für das Modul 'cds2db' (insbesondere die Definition der Tabellen für die FHIR Ressourcen) finden sich in der Datei [Table_Description.xlsx](../R-cds2db/cds2db/inst/extdata/Table_Description.xlsx). Die Definition der Tabellen für das Modul 'frontend' sind in der Datei [Frontend_Table_Description.xlsx](../R-db2frontend/db2frontend/inst/extdata/Frontend_Table_Description.xlsx) angegeben. Zusätzlich dazu gibt es noch eine Definition der Tabellenschemata und Rechte, die im Generierungsprozess benötigt wird (siehe [User_Schema_Rights_Definition.xlsx](init/template/User_Schema_Rights_Definition.xlsx)) sowie die eigentlichen Templates im selben Ordner. Durch das R-Script [Init_02_Create_Database_Scripts.R](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/Postgres-cds_hub/R-initcdstoolchain/initcdstoolchain/R/Init_02_Create_Database_Scripts.R) wird der generierte Teil der SQL-Scripte erzeugt.
71
+
Teilweise werden diese Skripte mit Hilfe von Templates und Konfigurationsdateien erzeugt. Dies betrifft alle Skripte zum Anlegen von Tabellen und deren Spalten. Die Definition der Tabellen für das Modul 'cds2db' (insbesondere die Definition der Tabellen für die FHIR Ressourcen) finden sich in der Datei [Table_Description.xlsx](../R-cds2db/cds2db/inst/extdata/Table_Description.xlsx). Die Definition der Tabellen für das Modul 'frontend' sind in der Datei [Frontend_Table_Description.xlsx](../R-db2frontend/db2frontend/inst/extdata/Frontend_Table_Description.xlsx) angegeben. Zusätzlich dazu gibt es noch eine Definition der Tabellenschemata und Rechte, die im Generierungsprozess benötigt wird (siehe [User_Schema_Rights_Definition.xlsx](./init/template)) sowie die eigentlichen Templates im selben Ordner. Durch das R-Script [Init_02_Create_Database_Scripts.R](../R-cds2db/cds2db/R/Init_02_Create_Database_Scripts.R) wird der generierte Teil der SQL-Scripte erzeugt.
72
72
73
73
Bei der Initalisierung der Datenbank ist darauf zu achten das alle Skripte fehlerfrei ausgeführt werden, um die Funktionalität zu gewährleisten.
Copy file name to clipboardExpand all lines: R-cds2db/README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,15 @@ Die Ausleitung der FHIR-Daten in die Datenbank sollte möglichst 1 mal täglich
6
6
7
7
## Konfiguration
8
8
9
-
Der ETL-Prozess kann über die Datei [cds2db_config.toml](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/R-cds2db/cds2db_config.toml) konfiguriert werden. Alle Parameter sind in der Datei durch Kommentare beschrieben. Hier werden u.a. sowohl die Logging-Parameter, als auch die Parameter zum Zugriff auf den FHIR-Server angegeben. Außerdem stehen Debug-Parameter zur Verfügung. Damit kann man für ältere Zeiträume Daten übertragen, falls für Tests keine aktuellen Daten vorliegen.
9
+
Der ETL-Prozess kann über die Datei [cds2db_config.toml](cds2db_config.toml) konfiguriert werden. Alle Parameter sind in der Datei durch Kommentare beschrieben. Hier werden u.a. sowohl die Logging-Parameter, als auch die Parameter zum Zugriff auf den FHIR-Server angegeben. Außerdem stehen Debug-Parameter zur Verfügung. Damit kann man für ältere Zeiträume Daten übertragen, falls für Tests keine aktuellen Daten vorliegen.
10
10
11
11
### Extraktion relevanter Patienten
12
12
13
13
Die Ermittlung der Patienten relevanter Stationen erfolgt über eine der beiden folgenden Varianten.
14
14
15
15
#### Variante 1: Die relevanten Patienten werden über Informationen aus den FHIR-Daten ermittelt
16
16
17
-
Bei dieser Variante ist es notwendig, dass die relevanten Stationen aus dem FHIR-Profil <ahref="https://www.medizininformatik-initiative.de/Kerndatensatz/Modul_Fall/EncounterKontaktGesundheitseinrichtung.html"target="_blank"rel="noopener noreferrer">Encounter</a> ausgelesen werden können.\
17
+
Bei dieser Variante ist es notwendig, dass die relevanten Stationen aus dem FHIR-Profil [Encounter](https://www.medizininformatik-initiative.de/Kerndatensatz/Modul_Fall/EncounterKontaktGesundheitseinrichtung.html) ausgelesen werden können.\
18
18
Ziel ist es Patienten-IDs von Encountern zu finden, die bestimmte Eigenschaften in den FHIR-Daten aufweisen. Idealerweise sollte es so etwas sein wie, der Encounter ist noch nicht abgeschlossen und als ServiceProvider ist der gesuchte Stationsname angegeben oder der Encounter referenziert eine bestimmte Location.\
19
19
Die Encounter können also über beliebige Einträge identifiziert werden. Es ist frei konfigurierbar und auf die lokalen Gegebenheiten am DIZ einstellbar. Die Beschreibung der Einstellungsmöglichkeiten befinden sich direkt in der toml-Datei als Kommentar zu den ENCOUNTER_FILTER_PATTERN.
20
20
@@ -23,11 +23,11 @@ Die Encounter können also über beliebige Einträge identifiziert werden. Es is
23
23
#### Variante 2: Die relevanten Patienten werden über Informationen aus einer Textdatei mit Patientenliste ermittelt
24
24
25
25
Diese Variante sollte genommen werden, wenn es keine Möglichkeit gibt, die aktuellen Fälle der Stationen über die Encounter zu ermitteln.
26
-
Bei dieser Variante muss das DIZ eine Textdatei erzeugen, die folgende Form hat: [source_PIDs.txt](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/R-cds2db/source_PIDs.txt). Diese Datei muss ständig aktualisiert werden. Wie ein DIZ diese Datei erzeugt, ist ihm selbst überlassen. Um diese Variante 2 zu aktivieren und damit die Variante 1 auszuschalten, muss der Parameter 'PATH_TO_PID_LIST_FILE' aktiviert werden und der Pfad auf die entsprechende Datei zeigen.
26
+
Bei dieser Variante muss das DIZ eine Textdatei erzeugen, die folgende Form hat: [source_PIDs](source_PIDs.txt). Diese Datei muss ständig aktualisiert werden. Wie ein DIZ diese Datei erzeugt, ist ihm selbst überlassen. Um diese Variante 2 zu aktivieren und damit die Variante 1 auszuschalten, muss der Parameter 'PATH_TO_PID_LIST_FILE' aktiviert werden und der Pfad auf die entsprechende Datei zeigen.
27
27
28
28
## Ausführung des Moduls
29
29
30
-
Das R-Skript [StartRetrieval.R](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/R-cds2db/StartRetrieval.R) startet das Retrieval für den ETL-Prozess.
30
+
Das R-Skript [StartRetrieval.R](StartRetrieval.R) startet das Retrieval für den ETL-Prozess.
31
31
Dieses kann an der Console manuell über den folgenden Befehl ausgeführt werden:
Copy file name to clipboardExpand all lines: R-cds2db/cds2db/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,8 +16,8 @@ Es gibt eines Excel Datei Namens [Table-Description](./inst/extdata/Table_Descr
16
16
17
17
### Herunterladen und verflachen der FHIR-Ressourcen
18
18
19
-
Auf Grundlage der relevanten Patienten werden die FHIR-Ressourcen, unter Verwendung der definierten Table-Description, heruntergeladen. Aus den JSON-Struktur der heruntergeladenen Ressourcen entstehen in einen nächsten Schritt flache Tabellen auf Basis der Table-Description. Für diese Schritte wird das <ahref="https://cran.r-project.org/web/packages/fhircrackr/index.html"target="_blank"rel="noopener noreferrer">fhircrackr-Package</a> verwendet.
19
+
Auf Grundlage der relevanten Patienten werden die FHIR-Ressourcen, unter Verwendung der definierten Table-Description, heruntergeladen. Aus den JSON-Struktur der heruntergeladenen Ressourcen entstehen in einen nächsten Schritt flache Tabellen auf Basis der Table-Description. Für diese Schritte wird das [fhircrackr-Package]('https://cran.r-project.org/web/packages/fhircrackr/index.html') verwendet.
20
20
21
21
### Schreiben der Ressourcen-Tabellen in die Datenbank
22
22
23
-
Die flachen Tabellen werden in eine Postgres-Datenbank überführt, dazu wird eine Datenbankverbindung mit den angegebenen Anmeldeinformationen aus der [config-Datei](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/cds_hub_db_config.toml) für die Datenbankverbindungen erstellt.
23
+
Die flachen Tabellen werden in eine Postgres-Datenbank überführt, dazu wird eine Datenbankverbindung mit den angegebenen Anmeldeinformationen aus der [config-Datei](../../cds_hub_db_config.toml) für die Datenbankverbindungen erstellt.
Copy file name to clipboardExpand all lines: R-dataprocessor/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
Generell ist das Modul "dataprocessor" dazu gedacht, Daten zu transformieren und für eine Ausgabe im Frontend oder für eine Ausleitung zur Verfügung zu stellen.
4
4
5
-
Seit Version [0.2.x](https://github.com/medizininformatik-initiative/INTERPOLAR/releases) nutzt es die im [Modul "cds2db"](../R-cds2db) typisierten Daten aus der Postgres-Datenbank, um Tabellen mit relevanten Patienten und Fallinformationen zu erstellen. Diese werden auch zurück in die Postgres-Datenbank geschrieben und anschließend über das [Modul "db2frontend"](../R-db2frontend) dem Frontend zur Verfügung gestellt.
5
+
In Version [0.2.x](tags) nutzt es die im [Modul "cds2db"](R-cds2db) typisierten Daten aus der Postgres-Datenbank, um Tabellen mit relevanten Patienten und Fallinformationen zu erstellen. Diese werden auch zurück in die Postgres-Datenbank geschrieben und anschließend über das [Modul "db2frontend"](R-db2frontend) dem Frontend zur Verfügung gestellt.
6
6
7
7
## Konfiguration
8
8
9
-
Der Data Processor kann über die Datei [dataprocessor_config.toml](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/R-dataprocessor/dataprocessor_config.toml) konfiguriert werden. Alle Parameter sind in der Datei durch Kommentare beschrieben.
9
+
Der Data Processor kann über die Datei [dataprocessor_config.toml](dataprocessor_config.toml) konfiguriert werden. Alle Parameter sind in der Datei durch Kommentare beschrieben.
10
10
11
11
### Anpassung der Codes für Körpergröße, -gewicht und BMI
12
12
@@ -19,7 +19,7 @@ Weitere Informationen stehen direkt in diesem Abschnitt in der toml-Datei.
19
19
20
20
## Ausführung des Moduls
21
21
22
-
Das R-Skript [StartDataProcessor.R](https://github.com/medizininformatik-initiative/INTERPOLAR/blob/main/R-dataprocessor/StartDataProcessor.R) startet den Data Processor.
22
+
Das R-Skript [StartDataProcessor.R](StartDataProcessor.R) startet den Data Processor.
23
23
```console
24
24
docker compose run --rm --no-deps r-env Rscript R-dataprocessor/StartDataProcessor.R
Copy file name to clipboardExpand all lines: README.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
# CDS tool chain
2
2
3
-
Dieses Repository enthält die Bestandteile der CDS tool chain zur Verarbeitung von [`MII KDS FHIR Ressourcen`](https://www.medizininformatik-initiative.de/de/basismodule-des-kerndatensatzes-der-mii). Es handelt sich um eine modular aufgebaute Referenzimplementierung, welche z.B. Datenintegrationszentren (DIZ) der MII eingesetzt werden kann. Hierbei werden FHIR-Ressourcen vom KDS (Kerndatensatz) FHIR Server / Endpunkt heruntergeladen, in eine Tabellenstruktur überführt ([CDS2DB](#cds2db)) und in eine Posgres-Datenbank (CDS_HUB) geschrieben. In einen nächsten Schritt werden die Daten geprüft, harmonisiert und können mit Hilfe von Algorithmen weiter verarbeitet werden (DataProcessor). Anschließend werden die Daten über ein Frontend (z.B. Redcap) auf einer Benutzeroberfläche sichtbar gemacht (DB2Frontend, Frontend).
3
+
Dieses Repository enthält die Bestandteile der CDS tool chain zur Verarbeitung von [`MII KDS FHIR Ressourcen`](https://www.medizininformatik-initiative.de/de/basismodule-des-kerndatensatzes-der-mii). Es handelt sich um eine modular aufgebaute Referenzimplementierung, welche z.B. Datenintegrationszentren (DIZ) der MII eingesetzt werden kann. Hierbei werden FHIR-Ressourcen vom KDS (Kerndatensatz) FHIR Server / Endpunkt heruntergeladen, in eine Tabellenstruktur überführt ([CDS2DB](./README.md#cds2db)) und in eine Posgres-Datenbank (CDS_HUB) geschrieben. In einen nächsten Schritt werden die Daten geprüft, harmonisiert und können mit Hilfe von Algorithmen weiter verarbeitet werden (DataProcessor). Anschließend werden die Daten über ein Frontend (z.B. Redcap) auf einer Benutzeroberfläche sichtbar gemacht (DB2Frontend, Frontend).
Der detaillierte Datenfluss zwischen den und innerhalb der Module ist in der Datei [Dataflow](Dataflow) beschrieben.
6
+
Der detaillierte Datenfluss zwischen den und innerhalb der Module ist in der Datei [Dataflow.md](Dataflow.md) beschrieben.
7
7
8
-
Der gesamte Ablauf der CDS Toolchain ist in der Datei [full_toolchain_description](full_toolchain_description) beschrieben.
8
+
Der gesamte Ablauf der CDS Toolchain ist in der Datei [full_toolchain_description.md](full_toolchain_description.md) beschrieben.
9
9
10
10
## Bestandteile der CDS tool chain
11
11
@@ -21,14 +21,14 @@ Dieses R-Modul dient zur Ausleitung Kerndatensatz-konformer Daten in eine Postgr
21
21
22
22
Der Quellcode (R) dafür befindet sich im Ordner [R-cds2db](./R-cds2db).
23
23
24
-
Eine Beschreibung zur Konfiguration und Ausführung befindet sich in [R-cds2db](./R-cds2db/).
24
+
Eine Beschreibung zur Konfiguration und Ausführung befindet sich in [R-cds2db/README.md](./R-cds2db/README.md).
25
25
26
26
### CDS_HUB
27
27
28
28
Beim CDS_HUB handelt es sich um eine relationale Datenbank (Postgres). Im Ordner [Postgres-cds_hub](./Postgres-cds_hub) befinden sich Dateien für die Konfiguration und Initialisierung.
29
29
30
-
Eine Beschreibung der Datenbankstruktur befindet sich unter [Postgres-cds_hub/DB_description](./Postgres-cds_hub/DB_description). \
31
-
Eine Beschreibung, wie der Zugriff erfolgt befindet sich unter [Postgres-cds_hub](./Postgres-cds_hub) .
30
+
Eine Beschreibung der Datenbankstruktur befindet sich unter [Postgres-cds_hub/DB_description.md](./Postgres-cds_hub/DB_description.md). \
31
+
Eine Beschreibung, wie der Zugriff erfolgt befindet sich unter [Postgres-cds_hub/Readme.md](./Postgres-cds_hub/Readme.md) .
32
32
33
33
### DataProcessor
34
34
@@ -81,7 +81,7 @@ Es handelt sich dabei um eine Schätzung. Je nach Datenbestand kann es erforderl
81
81
82
82
## Installation
83
83
84
-
Folgende Anweisungen müssen ausgeführt werden, um die CDS tool chain zu verwenden: [Install](Install)
84
+
Folgende Anweisungen müssen ausgeführt werden, um die CDS tool chain zu verwenden: [Install.md](Install.md)
0 commit comments