Skip to content

Commit e0804f0

Browse files
authored
Revert "Main -> Release (#858)"
This reverts commit f0a1905.
1 parent f0a1905 commit e0804f0

File tree

11 files changed

+106
-41
lines changed

11 files changed

+106
-41
lines changed

.github/workflows/pages.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build and Deploy GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
submodules: 'false'
21+
22+
# Für Jekyll wird Ruby bzw. Bundler benötigt:
23+
- name: Set up Ruby
24+
uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: '3.2'
27+
- name: Install dependencies
28+
run: bundle install
29+
30+
# Hier kommen weitere Schritte hin, z.B. das Bauen deiner Seite
31+
# Beispiel für Jekyll:
32+
- name: Build site with Jekyll
33+
run: bundle exec jekyll build
34+
#
35+
# Beispiel für reines HTML:
36+
# - name: Copy files
37+
# run: cp -r * ${{ github.workspace }}/_site
38+
39+
# Deployment auf GitHub Pages:
40+
- uses: actions/upload-pages-artifact@v3
41+
with:
42+
path: './_site'
43+
44+
deploy:
45+
needs: build
46+
runs-on: ubuntu-latest
47+
environment:
48+
name: github-pages
49+
url: ${{ steps.deployment.outputs.page_url }}
50+
steps:
51+
- name: Deploy to GitHub Pages
52+
id: deployment
53+
uses: actions/deploy-pages@v4

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
gem "jekyll"
3+
gem "jekyll-theme-primer"

Postgres-cds_hub/DB_description.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ Man kann die verschiedenen Bereiche (Schemata) in Schnittstellenschemata und fun
1616
Funktionale Schemata dienen der inhaltlichen Gliederung der Daten innerhalb der Datenbank. Im Folgenden werden die verschiedenen Bereiche der CDS-HUB DB vorgestellt.
1717

1818
### 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)
2020
). Die in diesem Schema angelegten Tabellen entsprechen den Strukturen der FHIR-Ressourcen.
2121

2222

2323
### 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.
2525

2626
### db2frontend_in / db2frontend_out
2727
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
6666
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).
6767

6868
## 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)).
7070

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.
7272

7373
Bei der Initalisierung der Datenbank ist darauf zu achten das alle Skripte fehlerfrei ausgeführt werden, um die Funktionalität zu gewährleisten.
7474

R-cds2db/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ Die Ausleitung der FHIR-Daten in die Datenbank sollte möglichst 1 mal täglich
66

77
## Konfiguration
88

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.
1010

1111
### Extraktion relevanter Patienten
1212

1313
Die Ermittlung der Patienten relevanter Stationen erfolgt über eine der beiden folgenden Varianten.
1414

1515
#### Variante 1: Die relevanten Patienten werden über Informationen aus den FHIR-Daten ermittelt
1616

17-
Bei dieser Variante ist es notwendig, dass die relevanten Stationen aus dem FHIR-Profil <a href="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.\
1818
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.\
1919
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.
2020

@@ -23,11 +23,11 @@ Die Encounter können also über beliebige Einträge identifiziert werden. Es is
2323
#### Variante 2: Die relevanten Patienten werden über Informationen aus einer Textdatei mit Patientenliste ermittelt
2424

2525
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.
2727

2828
## Ausführung des Moduls
2929

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.
3131
Dieses kann an der Console manuell über den folgenden Befehl ausgeführt werden:
3232

3333
```console
@@ -36,4 +36,4 @@ docker compose run --rm --no-deps r-env Rscript R-cds2db/StartRetrieval.R
3636

3737
## Details der Implementierung
3838

39-
Weitere Details siehe [README](./cds2db/) des R Packages cds2db.
39+
Weitere Details siehe [README](./README.md) des R Packages cds2db.

R-cds2db/cds2db/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ Es gibt eines Excel Datei Namens [Table-Description](./inst/extdata/Table_Descr
1616

1717
### Herunterladen und verflachen der FHIR-Ressourcen
1818

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 <a href="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.
2020

2121
### Schreiben der Ressourcen-Tabellen in die Datenbank
2222

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.

R-dataprocessor/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
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.
44

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.
66

77
## Konfiguration
88

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.
1010

1111
### Anpassung der Codes für Körpergröße, -gewicht und BMI
1212

@@ -19,7 +19,7 @@ Weitere Informationen stehen direkt in diesem Abschnitt in der toml-Datei.
1919

2020
## Ausführung des Moduls
2121

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.
2323
```console
2424
docker compose run --rm --no-deps r-env Rscript R-dataprocessor/StartDataProcessor.R
2525
```

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# CDS tool chain
22

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).
44

55
![CDS tool chain](https://github.com/medizininformatik-initiative/INTERPOLAR/assets/5671404/d8ee4fb8-c9fb-40f2-81cb-2adeda6d20b2)
6-
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.
77

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.
99

1010
## Bestandteile der CDS tool chain
1111

@@ -21,14 +21,14 @@ Dieses R-Modul dient zur Ausleitung Kerndatensatz-konformer Daten in eine Postgr
2121

2222
Der Quellcode (R) dafür befindet sich im Ordner [R-cds2db](./R-cds2db).
2323

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).
2525

2626
### CDS_HUB
2727

2828
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.
2929

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) .
3232

3333
### DataProcessor
3434

@@ -81,7 +81,7 @@ Es handelt sich dabei um eine Schätzung. Je nach Datenbestand kann es erforderl
8181

8282
## Installation
8383

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)
8585

8686
## Verwendung
8787

0 commit comments

Comments
 (0)