-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.toml
259 lines (232 loc) · 11.6 KB
/
config.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
########################################################
### Konfigurationsdatei für das DUP "Vorhofflimmern" ###
### für die Ausführung über dupctl (Docker) ###
########################################################
### Projektname
project = "VHF-Projectathon-7"
### Docker Registry, aus der die Docker-Images für das
### Retrieval und die Analyse geladen werden (nicht ändern!)
registry = "registry.gitlab.com/smith-phep/dup"
#######################################
### Einstellungen für das Retrieval ###
#######################################
[retrieve]
### Die folgenden 4 Einstellungen können dem Kommando dupctl
### in folgender Form auch als Parameter mitgegeben werden:
### dupctl retrieve --dup vhf --fhir-server-endpoint "https://some-fhir-server" ...
### Siehe Anleitung zu dupctl:
### https://git.smith.care/smith/uc-phep/dup-control#dup-control)
### Sie sind als einzige klein geschrieben.
### Die Kommandozeilenparameter haben Vorrang vor den hier in
### der Datei angegebenen Werten.
### Man kann sie aber auch ganz einfach hier in der Datei
### angeben und das Kommando ohne weitere Parameter aufrufen:
### dupctl retrieve --dup vhf
### fhirServerEndpoint
### ------------------
### Default: - (muss immer explizit gesetzt werden)
### Hier ist als Beispiel ein Hapi und ein Blaze Testserver ohne Authentifizierung angegeben:
# fhirServerEndpoint = "https://mii-agiop-3p.life.uni-leipzig.de/fhir"
fhirServerEndpoint = "https://mii-agiop-3p.life.uni-leipzig.de/blaze"
### fhirServerUser and fhirServerPass
### ---------------------------------
### Falls Authentifizierung, bitte entsprechend anpassen (sonst ignorieren):
### Username und Passwort für Basic Auth
### Default: -
# fhirServerUser =
# fhirServerPass =
### fhirServerToken
### ---------------
### Alternativ: Token für Bearer Token Auth
### Default: -
# fhirServerToken =
### ----------------------------------------###
### Environment Parameter für das Retrieval ###
### ----------------------------------------###
[retrieve.env]
### DECENTRAL_ANALYSIS
### ------------------
### Default: "TRUE"
### TRUE = Die Ergebnisse des Retrieval werden in das Verzeichnis
### outputLocal geschrieben (das nicht ausgeleitet werden
### soll). Die Analyse liest dann die Ergebnisse des
### Retrieval aus dem outputLocal und schreibt ihre
### Ergebnisse ins Verzeichnis outputGlobal (was dann
### ausgeleitet wird).
### FALSE = Die Ergebnisse des Retrieval werden in das Verzeichnis
### outputGlobal geschrieben (das ausgeleitet wird). Auch
### wenn bei dieser Option die Analyse eigentlich nicht im
### DIZ ausgeführt werden sollte, kann man sie dennoch
### ausführen und auch sie schreibt ihre Ergebnisse in
### outputGlobal.
# DECENTRAL_ANALYSIS = "TRUE"
### MAX_BUNDLES
### -----------
### Default: "Inf"
### Das Script lädt zuerst alle passenden Observations,
### davon ausgehend zugehörige Patienten und Conditions.
### Inf = Alle Observaton Bundles werden herunter geladen
### 1, 2, ... = Maximal wird diese Anzahl Observaton Bundles herunter
### geladen
# MAX_BUNDLES = "Inf"
### BUNDLE_RESOURCES_COUNT
### ----------------------
### Anzahl der Resources pro Bundle. Wird als "&_count="-Parameter an die
### fhir_search()-Requests gehängt. Dieser Parameter wird eventuell vom Server
### ignoriert oder beschränkt. Hapi hat per Default 20, Blaze 50. Ein anderer
### Wert hat beim Blaze aber keinerlei Vorteile oder Nachteile in der Laufzeit
### ergeben. Nur beim Testen dauert es eben länger, wenn man 100 Resources
### pro Bundle lädt oder nur 10.
### Default: 10
# BUNDLE_RESOURCES_COUNT = 10
### MAX_REQUEST_STRING_LENGTH
### -------------------------
### Maximale Gesamtlänge eines get-Requests, der an den Server geschickt wird. Diese
### Länge wird definitiv niemals erreicht/überschritten. Dieser Parameter entscheidet
### darüber, wieviele subject-IDs tatsächlich gleichzeitig in einen Request gepackt
### werden, wenn bei FHIR_SEARCH_SUBJECT_LIST_OPTION eine Option gewählt wurde, bei
### der mehr als eine ID im Request steht. Der Wert hier ist durch Testen herausgefunden
### worden und kann auf einem speziellen Server anders sein.
### Default: 2048
# MAX_REQUEST_STRING_LENGTH = 2048
### DEBUG
### -----
### Default: "FALSE"
### TRUE = Zwischenergebnisse werden ins Verzeichnis outputLocal
### geschrieben
### FALSE = es werden keine Zwischenergebnisse rausgeschrieben
# DEBUG = "FALSE"
### VERBOSE
### -------
### Default: 0 (= keine Ausgabe)
### 0 .. 4 = Verbose-Level des fhircrackr
# VERBOSE = 0
### SSL_VERIFY
### ----------
### Default: "TRUE"
### TRUE = FHIR Server Zertifikat verifizieren
### FALSE = FHIR Server Zertifikat nicht verifizieren (potentiell unsicher, siehe https://de.wikipedia.org/wiki/Man-in-the-Middle-Angriff)
# SSL_VERIFY = "TRUE"
### ENCOUNTER_TYPE
### --------------
### Wenn der Server sowohl "einrichtungskontakt" Encounter als auch "abteilungskontakt" Encounter enthält, dann kann
### man die Anfragen über diesen Filter etwas performanter machen, weil die "abteilungskontakt" Encounter dann nicht
### heruntergeladen werden. Voraussetzung dafür ist aber, dass wirklich alle relevanten "einrichtungskontakt" Encounter
### das tye-Attribut auch wirklich haben.
### Default: "" (leer, so dass alle Encounter ohne Einschränkung gefunden werden)
# ENCOUNTER_TYPE = "einrichtungskontakt"
### PROFILE_ENC
### -----------
### FHIR Profile der zu ladenden Encounter. Es werden nur Encounter
### mit genau dem angegebenen Profil gefunden.
### Default: "" (leer, so dass alle Encounter ohne Einschränkung gefunden werden)
### MII-Profil ggf. aktieren oder ändern
# PROFILE_ENC = "https://www.medizininformatik-initiative.de/fhir/core/modul-fall/StructureDefinition/KontaktGesundheitseinrichtung"
### PROFILE_OBS
### -----------
### FHIR Profile der zu ladenden Observations. Es werden nur Observations
### mit genau dem angegebenen Profil gefunden.
### Default: "" (leer, so dass alle Observations ohne Einschränkung gefunden werden)
### MII-Profil ggf. aktieren oder ändern
# PROFILE_OBS = "https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/ObservationLab"
### PROFILE_CON
### -----------
### FHIR Profile der zu ladenden Conditions. Es werden nur Conditions
### mit genau dem angegebenen Profil gefunden.
### Default: "" (leer, so dass alle Conditions ohne Einschränkung gefunden werden)
### MII-Profil ggf. aktieren oder ändern
# PROFILE_CON = "https://www.medizininformatik-initiative.de/fhir/core/modul-diagnose/StructureDefinition/Diagnose"
### FHIR_SEARCH_SUBJECT_LIST_OPTION
### -------------------------------
### Dieser Parameter legt fest, wie die Encounter und Conditions per fhir_search(...)-Anfrage eingeschränkt auf die
### subject-IDs der zuvor geladenen NTproBNP-Observationen heruntergeladen werden sollen. Der Default
### COMMA_SEPARATED_PURE_IDS sollte bei Hapi und Blaze Servern funktionieren, bei Firely-Servern kam es zu Problemen.
### Auf allen Servern funktioniert die Option COMMA_SEPARATED_IDS_WITH_PATIENT_PREFIX. Allerdings passen dann weniger
### IDs gleichzeitig in eine Anfrage, da von den maximal 2048 Zeichen der get-Anfrage pro subject-ID die Länge für
### den Präfix "Patient/" verloren geht und dadurch mehr Anfragen generiert werden müssen, was die Downloadzeit je
### nach Datenmenge verlängert.
###
### Default: "COMMA_SEPARATED_PURE_IDS"
###
### List request options for request with multiple subject IDs:
### ...........................................................
### COMMA_SEPARATED_PURE_IDS
### $fhirServerEndpoint/Encounter?subject=PID01,PID02,PID...&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject=PID01,PID02,PID...&_profile=$PROFILE_CON
###
### COMMA_SEPARATED_PURE_IDS_WITH_SUBJECT_PATIENT
### $fhirServerEndpoint/Encounter?subject:Patient=PID01,PID02,PID...&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject:Patient=PID01,PID02,PID...&_profile=$PROFILE_CON
###
### COMMA_SEPARATED_IDS_WITH_PATIENT_PREFIX
### $fhirServerEndpoint/Encounter?subject=Patient/PID01,Patient/PID0,...&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject=Patient/PID01,Patient/PID02,...&_profile=$PROFILE_CON
###
### Request options for multiple requests with a single subject ID:
### ..............................................................
### Diese Optionen sollten (wenn es kein Blaze ist) möglichst nur zum Testen genutzt werden oder als absoluter Fallback,
### falls keine der obigen Optionen funktioniert. Diese Requests mit nur einer subject ID dauern sehr viel länger (Hapi
### statt 55 sek -> 25 min = ca. Faktor 25 und Blaze statt 35 sek -> 1:40 min = ca. Faktor 3 jeweils auf demselben
### Datensatz)
###
### SINGLE_REQUEST_PER_ID
### $fhirServerEndpoint/Encounter?subject=PID01&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject=PID01&_profile=$PROFILE_CON
###
### SINGLE_REQUEST_PER_ID_WITH_SUBJECT_PATIENT
### $fhirServerEndpoint/Encounter?subject:Patient=PID01&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject:Patient=PID01&_profile=$PROFILE_CON
###
### SINGLE_REQUEST_PER_ID_WITH_PATIENT_PREFIX
### $fhirServerEndpoint/Encounter?subject=Patient/PID01&type=einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?subject=Patient/PID01&_profile=$PROFILE_CON
###
### Query option to get all Encounters and Conditions on the server (useful if resources on the server are already
### filtered):
### ..............................................................................................................
### IGNORE_IDS
### $fhirServerEndpoint/Encounter?einrichtungskontakt&_profile=$PROFILE_ENC
### $fhirServerEndpoint/Condition?_profile=$PROFILE_CON
###
### optimal für Hapi und Blaze (ist auch der Default)
# FHIR_SEARCH_SUBJECT_LIST_OPTION = "COMMA_SEPARATED_PURE_IDS"
### für Firely, aber funktioniert auch für Hapi und Blaze
# FHIR_SEARCH_SUBJECT_LIST_OPTION = "COMMA_SEPARATED_IDS_WITH_PATIENT_PREFIX"
#####################################
### Einstellungen für die Analyse ###
#####################################
[analyze]
### im Moment werden alle Parameter der Analyse über die Environment Parameter gesetzt
### --------------------------------------###
### Environment Parameter für die Analyse ###
### --------------------------------------###
[analyze.env]
### DECENTRAL_ANALYSIS
### ------------------
### Default: "TRUE"
### TRUE = Die Ergebnisse des Retrieval werden in das Verzeichnis
### outputLocal geschrieben (das nicht ausgeleitet werden
### soll). Die Analyse liest dann die Ergebnisse des
### Retrieval aus dem outputLocal und schreibt ihre
### Ergebnisse ins Verzeichnis outputGlobal (was dann
### ausgeleitet wird).
### FALSE = Die Ergebnisse des Retrieval werden in das Verzeichnis
### outputGlobal geschrieben (das ausgeleitet wird). Auch
### wenn bei dieser Option die Analyse eigentlich nicht im
### DIZ ausgeführt werden sollte, kann man sie dennoch
### ausführen und auch sie schreibt ihre Ergebnisse in
### outputGlobal.
# DECENTRAL_ANALYSIS = "TRUE"
### DEBUG
### -----
### Default: "FALSE"
### TRUE = Zwischenergebnisse werden ins Verzeichnis outputLocal
### geschrieben
### FALSE = es werden keine Zwischenergebnisse rausgeschrieben
# DEBUG = "FALSE"
### DATA_QUALITY_REPORT
### -------------------
### Default: "TRUE"
### TRUE = Data Quality Report im outputGlobal erstellen
### FALSE = Data Quality Report nicht erstellen
# DATA_QUALITY_REPORT = "TRUE"