Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Commit 3214186

Browse files
committed
Add gait lab (Ganglabor) to additional data
1 parent 66fd73c commit 3214186

File tree

4 files changed

+37
-9
lines changed

4 files changed

+37
-9
lines changed

entry.html

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2831,9 +2831,9 @@ <h5>PSQI</h5>
28312831
<input class="form-check-input group-leader"
28322832
type="checkbox"
28332833
id="enable-ad"
2834-
data-inm-switch-group="enable-ad-mrt;enable-ad-eeg;enable-ad-blood"
2834+
data-inm-switch-group="enable-ad-mrt;enable-ad-eeg;enable-ad-blood;enable-ad-gait-lab"
28352835
data-inm-lines="line-enable-ad-v;line-enable-ad-h"
2836-
data-inm-line-end="enable-ad-blood">
2836+
data-inm-line-end="enable-ad-gait-lab">
28372837
</div>
28382838
<div class="col-lg-11">
28392839
<h4 class="mb-3">Weitere Diagnostik</h4>
@@ -2966,6 +2966,25 @@ <h4 class="mb-3">Weitere Diagnostik</h4>
29662966
</div>
29672967

29682968

2969+
<div class="row pt-2">
2970+
<div class="col-lg-1 form-switch">
2971+
<input class="form-check-input group-member"
2972+
type="checkbox"
2973+
id="enable-ad-gait-lab"
2974+
data-inm-controlled-inputs="additional-gait-lab-url">
2975+
</div>
2976+
<div class="col-lg-5">
2977+
<label for="additional-gait-lab-url">Ganglabor</label>
2978+
</div>
2979+
<div class="col-lg-6 entry-value">
2980+
<input type="url" class="form-control" id="additional-gait-lab-url" name="additional-gait-lab-url" placeholder="Link zu Ganglabor-Dateien" disabled required>
2981+
<div class="invalid-feedback field-validity">
2982+
Gültige URL erwartet.
2983+
</div>
2984+
</div>
2985+
</div>
2986+
2987+
29692988
<div class="row pt-5">
29702989
<h5 class="mb-3"><label for="additional-remarks">Weitere Anmerkungen</label></h5>
29712990
</div>
@@ -3645,6 +3664,7 @@ <h5 class="mb-3"><label for="signature-data">Signaturdaten</label></h5>
36453664
["additional-mrt-dti", getCheckboxContent],
36463665
["additional-eeg-url", getStringContent],
36473666
["additional-blood-sampling-url", getStringContent],
3667+
["additional-gait-lab-url", getStringContent],
36483668
["additional-remarks", getStringContent]
36493669
];
36503670
let contentArray = nameArray.map(spec => {
@@ -3854,6 +3874,7 @@ <h5 class="mb-3"><label for="signature-data">Signaturdaten</label></h5>
38543874
"enable-acl-k-st",
38553875
"enable-ad-blood",
38563876
"enable-ad-eeg",
3877+
"enable-ad-gait-lab",
38573878
"enable-ad-mrt",
38583879
"enable-arat",
38593880
"enable-bdi-ii",
@@ -4071,6 +4092,7 @@ <h5 class="mb-3"><label for="signature-data">Signaturdaten</label></h5>
40714092
"additional-mrt-dti-valid",
40724093
"additional-eeg-url",
40734094
"additional-blood-sampling-url",
4095+
"additional-gait-lab-url",
40744096
"submit-button",
40754097
];
40764098

@@ -4236,7 +4258,8 @@ <h5 class="mb-3"><label for="signature-data">Signaturdaten</label></h5>
42364258
if (
42374259
obj["additional-mrt-url"] !== "" ||
42384260
obj["additional-eeg-url"] !== "" ||
4239-
obj["additional-blood-sampling-url"] != ""
4261+
obj["additional-blood-sampling-url"] != "" ||
4262+
obj["additional-gait-lab-url"] != ""
42404263
) {
42414264
document.getElementById("enable-ad").click();
42424265
}

server/store_data.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
"additional-mrt-dti",
138138
"additional-eeg-url",
139139
"additional-blood-sampling-url",
140+
"additional-gait-lab-url",
140141
"additional-remarks",
141142
"hash-value"
142143
]
@@ -296,6 +297,8 @@
296297

297298
"additional-blood-sampling-url": [""],
298299

300+
"additional-gait-lab-url": [""],
301+
299302
"additional-remarks": [""],
300303

301304
"signature-data": [""],
@@ -605,6 +608,7 @@ def get_number_content(_: str, field_content: List[str]) -> str:
605608
["additional-mrt-dti", get_checkbox_content],
606609
["additional-eeg-url", get_string_content],
607610
["additional-blood-sampling-url", get_string_content],
611+
["additional-gait-lab-url", get_string_content],
608612
["additional-remarks", get_string_content]
609613
]
610614

@@ -768,6 +772,8 @@ def get_checkbox_value(value: str):
768772
"additional-eeg-url": get_string_value,
769773
"additional-blood-sampling": get_checkbox_value,
770774
"additional-blood-sampling-url": get_string_value,
775+
"additional-gait-lab": get_checkbox_value,
776+
"additional-gait-lab-url": get_string_value,
771777
"additional-remarks": get_string_value
772778
}
773779

server/tests/test_store_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
)
2828

2929

30-
minimal_form_data = """form-data-version=2.3&data-entry-domain=de.sfb1451.z03&data-entry-employee=cm-test&project-code=b2&subject-pseudonym=test-111&date-of-birth=2000-01-01&sex=male&date-of-test=2010-01-02&subject-group=healthy&patient-year-first-symptom=&patient-month-first-symptom=&patient-day-first-symptom=&patient-year-diagnosis=&patient-month-diagnosis=&patient-day-diagnosis=&additional-remarks=&hashed-string=form-data-version%3A2.3%3Bdata-entry-domain%3Ade.sfb1451.z03%3Bdata-entry-employee%3Acm-test%3Bproject-code%3Ab2%3Bsubject-pseudonym%3Atest-111%3Bdate-of-birth%3A2000-01-01%3Bsex%3Amale%3Bdate-of-test%3A2010-01-02%3Brepeated-test%3AFalse%3Bpatient-year-first-symptom%3A%3Bpatient-month-first-symptom%3A%3Bpatient-day-first-symptom%3A%3Bpatient-year-diagnosis%3A%3Bpatient-month-diagnosis%3A%3Bpatient-day-diagnosis%3A%3Bpatient-main-disease%3A%3Bpatient-stronger-impacted-hand%3A%3Blaterality-quotient%3A%3Bmaximum-ftf-left%3A%3Bmaximum-ftf-right%3A%3Bmaximum-gs-left%3A%3Bmaximum-gs-right%3A%3Bpurdue-pegboard-left%3A%3Bpurdue-pegboard-right%3A%3Bturn-cards-left%3A%3Bturn-cards-right%3A%3Bsmall-things-left%3A%3Bsmall-things-right%3A%3Bsimulated-feeding-left%3A%3Bsimulated-feeding-right%3A%3Bcheckers-left%3A%3Bcheckers-right%3A%3Blarge-light-things-left%3A%3Blarge-light-things-right%3A%3Blarge-heavy-things-left%3A%3Blarge-heavy-things-right%3A%3Bjtt-incorrectly-executed%3A%3Barat-left%3A%3Barat-right%3A%3Btug-executed%3A%3Btug-a-incorrectly-executed%3A%3Btug-a-tools-required%3A%3Btug-imagined%3A%3Bgo-nogo-block-count%3A%3Bgo-nogo-total-errors%3A%3Bgo-nogo-wrong-errors%3A%3Bgo-nogo-recognized-errors%3A%3Bgo-nogo-correct-answer-time%3A%3Bgo-nogo-recognized-error-time%3A%3Bgo-nogo-incorrectly-executed%3A%3Bgo-nogo-variant-hand%3A%3Bgo-nogo-variant-reaction-time-median%3A%3Bgo-nogo-variant-reaction-time-pct-rank%3A%3Bgo-nogo-variant-errors%3A%3Bgo-nogo-variant-errors-pct-rank%3A%3Bgo-nogo-variant-omissions%3A%3Bgo-nogo-variant-omissions-pct-rank%3A%3Bdual-task-hand%3A%3Bdual-task-reaction-time-audio-median%3A%3Bdual-task-reaction-time-audio-pct-rank%3A%3Bdual-task-reaction-time-visual-median%3A%3Bdual-task-reaction-time-visual-pct-rank%3A%3Bdual-task-omissions-audio%3A%3Bdual-task-omissions-audio-pct-rank%3A%3Bdual-task-omissions-visual%3A%3Bdual-task-omissions-visual-pct-rank%3A%3Bdual-task-errors-total%3A%3Bdual-task-errors-total-pct-rank%3A%3Bdual-task-omissions-total%3A%3Bdual-task-omissions-total-pct-rank%3A%3Bkas-pantomime-bukko-facial%3A%3Bkas-pantomime-arm-hand%3A%3Bkas-imitation-bukko-facial%3A%3Bkas-imitation-arm-hand%3A%3Bkopss-orientation%3A%3Bkopss-speech%3A%3Bkopss-praxie%3A%3Bkopss-visual-spatial-performance%3A%3Bkopss-calculating%3A%3Bkopss-executive-performance%3A%3Bkopss-memory%3A%3Bkopss-affect%3A%3Bkopss-behavior-observation%3A%3Bacl-k-loud-reading%3A%3Bacl-k-color-form-test%3A%3Bacl-k-supermarket-task%3A%3Bacl-k-communication-ability%3A%3Bbdi-ii-score%3A%3Bmadrs-score%3A%3Blogical-memory-variant%3A%3Blogical-memory-immediate-recall%3A%3Blogical-memory-immediate-recall-scaled%3A%3Blogical-memory-delayed-recall%3A%3Blogical-memory-delayed-recall-scaled%3A%3Bdemtect-wordlist%3A%3Bdemtect-convert-numbers%3A%3Bdemtect-supermarket-task%3A%3Bdemtect-numbers-reverse%3A%3Bdemtect-wordlist-recall%3A%3Bvosp-cube-analysis-score%3A%3Bvosp-cube-analysis-pct-rank%3A%3Btime-tmt-a%3A%3Btmt-a-incorrectly-executed%3A%3Btime-tmt-b%3A%3Btmt-b-incorrectly-executed%3A%3Bmrs-score%3A%3Beuroqol-code%3A%3Beuroqol-vas%3A%3Bisced-value%3A%3Bpsqi-sleep-quality%3A%3Bpsqi-sleep-latency%3A%3Bpsqi-sleep-duration%3A%3Bpsqi-sleep-efficiency%3A%3Bpsqi-sleep-disturbance%3A%3Bpsqi-meds%3A%3Bpsqi-day-dysfunction%3A%3Badditional-mrt-url%3A%3Badditional-mrt-resting-state%3A%3Badditional-mrt-tapping-task%3A%3Badditional-mrt-anatomical-representation%3A%3Badditional-mrt-dti%3A%3Badditional-eeg-url%3A%3Badditional-blood-sampling-url%3A%3Badditional-remarks%3A&hash-value=87713fae09bbda1abff4b1147f88999c0d08098084a9063bcccb514ecb110480&signature-data="""
30+
minimal_form_data = """form-data-version=2.3&data-entry-domain=de.sfb1451.z03&data-entry-employee=cm-test&project-code=b2&subject-pseudonym=test-111&date-of-birth=2000-01-01&sex=male&date-of-test=2010-01-02&subject-group=healthy&patient-year-first-symptom=&patient-month-first-symptom=&patient-day-first-symptom=&patient-year-diagnosis=&patient-month-diagnosis=&patient-day-diagnosis=&additional-remarks=&hashed-string=form-data-version%3A2.3%3Bdata-entry-domain%3Ade.sfb1451.z03%3Bdata-entry-employee%3Acm-test%3Bproject-code%3Ab2%3Bsubject-pseudonym%3Atest-111%3Bdate-of-birth%3A2000-01-01%3Bsex%3Amale%3Bdate-of-test%3A2010-01-02%3Brepeated-test%3AFalse%3Bpatient-year-first-symptom%3A%3Bpatient-month-first-symptom%3A%3Bpatient-day-first-symptom%3A%3Bpatient-year-diagnosis%3A%3Bpatient-month-diagnosis%3A%3Bpatient-day-diagnosis%3A%3Bpatient-main-disease%3A%3Bpatient-stronger-impacted-hand%3A%3Blaterality-quotient%3A%3Bmaximum-ftf-left%3A%3Bmaximum-ftf-right%3A%3Bmaximum-gs-left%3A%3Bmaximum-gs-right%3A%3Bpurdue-pegboard-left%3A%3Bpurdue-pegboard-right%3A%3Bturn-cards-left%3A%3Bturn-cards-right%3A%3Bsmall-things-left%3A%3Bsmall-things-right%3A%3Bsimulated-feeding-left%3A%3Bsimulated-feeding-right%3A%3Bcheckers-left%3A%3Bcheckers-right%3A%3Blarge-light-things-left%3A%3Blarge-light-things-right%3A%3Blarge-heavy-things-left%3A%3Blarge-heavy-things-right%3A%3Bjtt-incorrectly-executed%3A%3Barat-left%3A%3Barat-right%3A%3Btug-executed%3A%3Btug-a-incorrectly-executed%3A%3Btug-a-tools-required%3A%3Btug-imagined%3A%3Bgo-nogo-block-count%3A%3Bgo-nogo-total-errors%3A%3Bgo-nogo-wrong-errors%3A%3Bgo-nogo-recognized-errors%3A%3Bgo-nogo-correct-answer-time%3A%3Bgo-nogo-recognized-error-time%3A%3Bgo-nogo-incorrectly-executed%3A%3Bgo-nogo-variant-hand%3A%3Bgo-nogo-variant-reaction-time-median%3A%3Bgo-nogo-variant-reaction-time-pct-rank%3A%3Bgo-nogo-variant-errors%3A%3Bgo-nogo-variant-errors-pct-rank%3A%3Bgo-nogo-variant-omissions%3A%3Bgo-nogo-variant-omissions-pct-rank%3A%3Bdual-task-hand%3A%3Bdual-task-reaction-time-audio-median%3A%3Bdual-task-reaction-time-audio-pct-rank%3A%3Bdual-task-reaction-time-visual-median%3A%3Bdual-task-reaction-time-visual-pct-rank%3A%3Bdual-task-omissions-audio%3A%3Bdual-task-omissions-audio-pct-rank%3A%3Bdual-task-omissions-visual%3A%3Bdual-task-omissions-visual-pct-rank%3A%3Bdual-task-errors-total%3A%3Bdual-task-errors-total-pct-rank%3A%3Bdual-task-omissions-total%3A%3Bdual-task-omissions-total-pct-rank%3A%3Bkas-pantomime-bukko-facial%3A%3Bkas-pantomime-arm-hand%3A%3Bkas-imitation-bukko-facial%3A%3Bkas-imitation-arm-hand%3A%3Bkopss-orientation%3A%3Bkopss-speech%3A%3Bkopss-praxie%3A%3Bkopss-visual-spatial-performance%3A%3Bkopss-calculating%3A%3Bkopss-executive-performance%3A%3Bkopss-memory%3A%3Bkopss-affect%3A%3Bkopss-behavior-observation%3A%3Bacl-k-loud-reading%3A%3Bacl-k-color-form-test%3A%3Bacl-k-supermarket-task%3A%3Bacl-k-communication-ability%3A%3Bbdi-ii-score%3A%3Bmadrs-score%3A%3Blogical-memory-variant%3A%3Blogical-memory-immediate-recall%3A%3Blogical-memory-immediate-recall-scaled%3A%3Blogical-memory-delayed-recall%3A%3Blogical-memory-delayed-recall-scaled%3A%3Bdemtect-wordlist%3A%3Bdemtect-convert-numbers%3A%3Bdemtect-supermarket-task%3A%3Bdemtect-numbers-reverse%3A%3Bdemtect-wordlist-recall%3A%3Bvosp-cube-analysis-score%3A%3Bvosp-cube-analysis-pct-rank%3A%3Btime-tmt-a%3A%3Btmt-a-incorrectly-executed%3A%3Btime-tmt-b%3A%3Btmt-b-incorrectly-executed%3A%3Bmrs-score%3A%3Beuroqol-code%3A%3Beuroqol-vas%3A%3Bisced-value%3A%3Bpsqi-sleep-quality%3A%3Bpsqi-sleep-latency%3A%3Bpsqi-sleep-duration%3A%3Bpsqi-sleep-efficiency%3A%3Bpsqi-sleep-disturbance%3A%3Bpsqi-meds%3A%3Bpsqi-day-dysfunction%3A%3Badditional-mrt-url%3A%3Badditional-mrt-resting-state%3A%3Badditional-mrt-tapping-task%3A%3Badditional-mrt-anatomical-representation%3A%3Badditional-mrt-dti%3A%3Badditional-eeg-url%3A%3Badditional-blood-sampling-url%3A%3Badditional-gait-lab-url%3A%3Badditional-remarks%3A&hash-value=3b5b5ee23de8b2d1877df53bae4d13f30da3ff2f2f5bed4d499161a7a8605db3&signature-data="""
3131

3232
form_data_version = minimal_form_data.split("&")[0].split("=")[1]
3333

templates/success.html.jinja2

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -352,15 +352,14 @@
352352

353353
<div class="row"><h4 class="mb-3">Weitere Diagnostik</h4></div>
354354

355-
{{ render_number("Link zu MRT-Dateien", "additional-mrt-url") }}
355+
{{ render_string_key("Link zu MRT-Dateien", "additional-mrt-url") }}
356356
{{ render_string("Resting-State", checkbox_message(record["additional-mrt-resting-state"])) }}
357357
{{ render_string("Tapping-Task", checkbox_message(record["additional-mrt-tapping-task"])) }}
358358
{{ render_string("Anatomische Darstellung", checkbox_message(record["additional-mrt-anatomical-representation"])) }}
359359
{{ render_string("DTI", checkbox_message(record["additional-mrt-dti"])) }}
360-
361-
{{ render_number("Link zu EEG Dateien", "additional-eeg-url") }}
362-
363-
{{ render_number("Link zu Blutproben Dateien", "additional-blood-sampling-url") }}
360+
{{ render_string_key("Link zu EEG Dateien", "additional-eeg-url") }}
361+
{{ render_string_key("Link zu Blutproben Dateien", "additional-blood-sampling-url") }}
362+
{{ render_string_key("Link zu Ganglabor Dateien", "additional-gait-lab-url") }}
364363

365364
</div>
366365

0 commit comments

Comments
 (0)