From 91e412a57e05c3ca1553910c1f7dcad4a53a657b Mon Sep 17 00:00:00 2001 From: hypax Date: Sat, 11 Oct 2025 18:11:59 +0200 Subject: [PATCH 1/5] Adds print view for eNOTF entries Implements a dedicated print view for eNOTF (electronic Notfallprotokoll) entries. This commit introduces a new print stylesheet (print.css) and a dedicated print view (index.php) to allow users to generate a printer-friendly version of the emergency medical service reports. The print view includes patient data, details about the emergency event, initial findings, and other relevant information. Styles are optimized for A4 paper format. --- assets/css/print.css | 103 ++ assets/css/print.min.css | 1 + assets/css/print.scss | 108 ++ enotf/print/index.php | 1029 ++++++++++++++++++++ enotf/protokoll/anamnese/1.php | 4 +- enotf/protokoll/erstbefund/kreislauf/3.php | 2 +- 6 files changed, 1244 insertions(+), 3 deletions(-) create mode 100644 assets/css/print.css create mode 100644 assets/css/print.min.css create mode 100644 assets/css/print.scss create mode 100644 enotf/print/index.php diff --git a/assets/css/print.css b/assets/css/print.css new file mode 100644 index 00000000..f3288b94 --- /dev/null +++ b/assets/css/print.css @@ -0,0 +1,103 @@ +body { + --bs-body-bg: gray; +} + +.print__paper { + height: 297mm; + width: 210mm; + background-color: #fff; + margin: 0 auto; + padding: 1.27cm; +} + +h6.print__heading { + text-transform: uppercase; + font-size: 8pt; + margin-bottom: 0; +} + +h5.print__heading { + font-size: 8pt; + margin-bottom: 0; +} + +h1.print__heading-main { + font-size: 14pt; + text-transform: uppercase; + font-weight: bold; +} + +.print__divider { + margin-left: calc(var(--bs-gutter-x) * -0.5) !important; + margin-right: calc(var(--bs-gutter-x) * -0.5) !important; +} + +.print__text-small { + font-size: 6pt; +} + +p.print__text-small { + margin-bottom: 0; +} + +input[type=radio] { + appearance: none; + -webkit-appearance: none; + width: 6pt; + height: 6pt; + border: 1px solid #000; + border-radius: 50%; + display: inline-block; + position: relative; + cursor: pointer; + outline: none; + vertical-align: middle; + margin-right: 2px; + cursor: default; +} + +input[type=radio]:checked { + background-color: #000; + border-color: #000; +} + +.print__field-wrapper { + position: relative; + margin-bottom: 4pt; +} +.print__field-wrapper::after { + content: attr(data-field-name); + position: absolute; + right: 3pt; + bottom: 0; + font-size: 5pt; +} +.print__field-wrapper .print__field { + font-size: 11pt; + font-weight: 600; + border: 1px solid #000; + border-top: 0; + padding-left: 0.35rem; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; +} +.print__field-wrapper .print__field:focus { + outline: none; +} +.print__field-wrapper .print__textbox { + font-size: 7pt; + border: 0; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; +} +.print__field-wrapper .print__textbox:focus { + outline: none; +} + +.print__full-height { + height: 100%; +} \ No newline at end of file diff --git a/assets/css/print.min.css b/assets/css/print.min.css new file mode 100644 index 00000000..e6ddcc7b --- /dev/null +++ b/assets/css/print.min.css @@ -0,0 +1 @@ +h5.print__heading,h6.print__heading{font-size:8pt;margin-bottom:0}.print__field-wrapper .print__field,.print__field-wrapper .print__textbox{cursor:default;pointer-events:none;user-select:none;caret-color:transparent}body{--bs-body-bg:gray}.print__paper{height:297mm;width:210mm;background-color:#fff;margin:0 auto;padding:1.27cm}h6.print__heading{text-transform:uppercase}h1.print__heading-main{font-size:14pt;text-transform:uppercase;font-weight:700}.print__divider{margin-left:calc(var(--bs-gutter-x) * -.5)!important;margin-right:calc(var(--bs-gutter-x) * -.5)!important}.print__text-small{font-size:6pt}p.print__text-small{margin-bottom:0}input[type=radio]{appearance:none;-webkit-appearance:none;width:6pt;height:6pt;border:1px solid #000;border-radius:50%;display:inline-block;position:relative;outline:0;vertical-align:middle;margin-right:2px;cursor:default}input[type=radio]:checked{background-color:#000;border-color:#000}.print__field-wrapper{position:relative;margin-bottom:4pt}.print__field-wrapper::after{content:attr(data-field-name);position:absolute;right:3pt;bottom:0;font-size:5pt}.print__field-wrapper .print__field{font-size:11pt;font-weight:600;border:1px solid #000;border-top:0;padding-left:.35rem}.print__field-wrapper .print__field:focus{outline:0}.print__field-wrapper .print__textbox{font-size:7pt;border:0}.print__field-wrapper .print__textbox:focus{outline:0}.print__full-height{height:100%} \ No newline at end of file diff --git a/assets/css/print.scss b/assets/css/print.scss new file mode 100644 index 00000000..75c7bb72 --- /dev/null +++ b/assets/css/print.scss @@ -0,0 +1,108 @@ +body { + --bs-body-bg: gray; +} + +.print__paper { + height: 297mm; + width: 210mm; + background-color: #fff; + margin: 0 auto; + padding: 1.27cm; +} + +h6.print__heading { + text-transform: uppercase; + font-size: 8pt; + margin-bottom: 0; +} + +h5.print__heading { + font-size: 8pt; + margin-bottom: 0; +} + +h1.print__heading-main { + font-size: 14pt; + text-transform: uppercase; + font-weight: bold; +} + +.print__divider { + margin-left: calc(var(--bs-gutter-x) * -0.5) !important; + margin-right: calc(var(--bs-gutter-x) * -0.5) !important; +} + +.print__text-small { + font-size: 6pt; +} + +p.print__text-small { + margin-bottom: 0; +} + +input[type="radio"] { + appearance: none; + -webkit-appearance: none; + width: 6pt; + height: 6pt; + border: 1px solid #000; + border-radius: 50%; + display: inline-block; + position: relative; + cursor: pointer; + outline: none; + vertical-align: middle; + margin-right: 2px; + cursor: default; +} + +input[type="radio"]:checked { + background-color: #000; + border-color: #000; +} + +.print__field-wrapper { + position: relative; + margin-bottom: 4pt; + + &::after { + content: attr(data-field-name); + position: absolute; + right: 3pt; + bottom: 0; + font-size: 5pt; + } + + .print__field { + font-size: 11pt; + font-weight: 600; + border: 1px solid #000; + border-top: 0; + padding-left: 0.35rem; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; + + &:focus { + outline: none; + } + } + + .print__textbox { + font-size: 7pt; + border: 0; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; + + &:focus { + outline: none; + } + } +} + +.print__full-height { + height: 100%; +} diff --git a/enotf/print/index.php b/enotf/print/index.php new file mode 100644 index 00000000..9d23b8c8 --- /dev/null +++ b/enotf/print/index.php @@ -0,0 +1,1029 @@ +prepare($queryget); + $stmt->execute(['enr' => $_GET['enr']]); + + $daten = $stmt->fetch(PDO::FETCH_ASSOC); + + if (count($daten) == 0) { + header("Location: " . BASE_PATH . "enotf/"); + exit(); + } +} else { + header("Location: " . BASE_PATH . "enotf/"); + exit(); +} + +$enr = $daten['enr']; + +$prot_url = "https://" . SYSTEM_URL . "/enotf/protokoll/index.php?enr=" . $enr; + +date_default_timezone_set('Europe/Berlin'); +$currentTime = date('H:i'); +$currentDate = date('d.m.Y'); +?> + + + + + + + + + [#<?= $daten['enr'] ?>] › eNOTF › <?php echo SYSTEM_NAME ?> + + + + + + + + + + + + + + + + + + + + + + " /> + + + + + + + + + \ No newline at end of file diff --git a/enotf/protokoll/anamnese/1.php b/enotf/protokoll/anamnese/1.php index d8f335c4..149de8ed 100644 --- a/enotf/protokoll/anamnese/1.php +++ b/enotf/protokoll/anamnese/1.php @@ -94,13 +94,13 @@ Anamnese -
+
Notfallsituation, Anamnese, SAMPLER(+S), Bemerkungen
- +
diff --git a/enotf/protokoll/erstbefund/kreislauf/3.php b/enotf/protokoll/erstbefund/kreislauf/3.php index 7620cb8a..6d7f4d80 100644 --- a/enotf/protokoll/erstbefund/kreislauf/3.php +++ b/enotf/protokoll/erstbefund/kreislauf/3.php @@ -128,7 +128,7 @@ autocomplete="off"> - +
autocomplete="off"> From 2d170b76d7d86f7cce92da83b5cc20a733b82847 Mon Sep 17 00:00:00 2001 From: hypax Date: Sat, 11 Oct 2025 20:21:53 +0200 Subject: [PATCH 2/5] Adds print view for eNOTF protocols Implements a dedicated print view for eNOTF protocols, enabling users to generate printer-friendly versions of emergency and physician protocols. This includes: - A new topbar to return to the protokoll view - Restructuring the protocol data into a print-optimized layout. - Adding vital parameter graphs to the print view. - Integrating dedicated print stylesheets for enhanced readability. The print view aims to improve protocol accessibility and facilitate offline documentation. --- assets/components/enotf/topbar.php | 5 + assets/css/print.css | 169 ++++ assets/css/print.min.css | 2 +- assets/css/print.scss | 177 ++++ enotf/print/index.php | 1309 +++++++++++++++++++++++++- enotf/protokoll/diagnose/index.php | 70 +- enotf/protokoll/massnahmen/index.php | 2 +- 7 files changed, 1696 insertions(+), 38 deletions(-) diff --git a/assets/components/enotf/topbar.php b/assets/components/enotf/topbar.php index f6b54abb..1d942bc5 100644 --- a/assets/components/enotf/topbar.php +++ b/assets/components/enotf/topbar.php @@ -27,6 +27,11 @@ + +
+ Papieransicht +
+
diff --git a/assets/css/print.css b/assets/css/print.css index f3288b94..7965beef 100644 --- a/assets/css/print.css +++ b/assets/css/print.css @@ -72,6 +72,13 @@ input[type=radio]:checked { bottom: 0; font-size: 5pt; } +.print__field-wrapper::before { + content: attr(data-vp-name); + position: absolute; + left: 3pt; + top: 0; + font-size: 5pt; +} .print__field-wrapper .print__field { font-size: 11pt; font-weight: 600; @@ -86,6 +93,22 @@ input[type=radio]:checked { .print__field-wrapper .print__field:focus { outline: none; } +.print__field-wrapper .print__field-vitals { + font-size: 11pt; + font-weight: 600; + border: 1px solid #000; + border-top: 0; + border-right: 0; + padding-left: 0.35rem; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; + margin-top: 5pt; +} +.print__field-wrapper .print__field-vitals:focus { + outline: none; +} .print__field-wrapper .print__textbox { font-size: 7pt; border: 0; @@ -100,4 +123,150 @@ input[type=radio]:checked { .print__full-height { height: 100%; +} + +.print__vitals-table { + border-collapse: collapse; +} +.print__vitals-table th, +.print__vitals-table td { + border: 1px solid #000; + padding: 3pt !important; +} +.print__vitals-table th { + background-color: #f0f0f0; + font-weight: bold; +} +.print__vitals-table tbody tr:nth-child(even) { + background-color: #f9f9f9; +} +.print__vitals-table tbody tr:hover { + background-color: #f0f0f0; +} + +.topbar-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 1px solid #ddd; + background: white; + color: #333; + text-decoration: none; + margin-left: 5px; + cursor: pointer; + transition: all 0.2s ease; + font-size: 20px; +} + +.topbar-btn:hover { + background: #f0f0f0; + border-color: #bbb; + color: #000; +} + +.topbar-btn:active { + background: #e0e0e0; +} + +body { + transform-origin: top center; + transition: transform 0.2s ease; +} + +@media print { + @page { + size: A4; + margin: 0; + } + * { + -webkit-print-color-adjust: exact !important; + print-color-adjust: exact !important; + color-adjust: exact !important; + } + + body { + margin: 0; + padding: 0; + background: white !important; + transform: none !important; + } + + .print__paper { + page-break-after: always; + page-break-inside: avoid; + margin: 0; + padding: 1.27cm; + width: 210mm; + height: 297mm; + box-sizing: border-box; + transform: none !important; + } + + .print__paper:last-child { + page-break-after: auto; + } + + .row { + page-break-inside: avoid; + display: flex !important; + flex-wrap: wrap !important; + } + + .col, +[class*=col-] { + flex-shrink: 0; + } + + canvas { + max-width: 100% !important; + height: auto !important; + display: block !important; + } + + .col:has(#vitalChart) { + border-left: 1px solid #000 !important; + border-bottom: 1px solid #000 !important; + } + + .border { + border-color: #000 !important; + } + + input[type=radio] { + -webkit-appearance: none; + appearance: none; + width: 6pt; + height: 6pt; + border: 1px solid #000 !important; + border-radius: 50%; + background: white; + } + + input[type=radio]:checked { + background-color: #000 !important; + } + + input[type=text], +textarea, +select { + border-color: #000 !important; + background: white !important; + color: black !important; + } + + * { + color: black !important; + } + + .print__heading, +.print__heading-main, +.print__text-small { + color: black !important; + } + + #topbar { + display: none !important; + } } \ No newline at end of file diff --git a/assets/css/print.min.css b/assets/css/print.min.css index e6ddcc7b..4384f18f 100644 --- a/assets/css/print.min.css +++ b/assets/css/print.min.css @@ -1 +1 @@ -h5.print__heading,h6.print__heading{font-size:8pt;margin-bottom:0}.print__field-wrapper .print__field,.print__field-wrapper .print__textbox{cursor:default;pointer-events:none;user-select:none;caret-color:transparent}body{--bs-body-bg:gray}.print__paper{height:297mm;width:210mm;background-color:#fff;margin:0 auto;padding:1.27cm}h6.print__heading{text-transform:uppercase}h1.print__heading-main{font-size:14pt;text-transform:uppercase;font-weight:700}.print__divider{margin-left:calc(var(--bs-gutter-x) * -.5)!important;margin-right:calc(var(--bs-gutter-x) * -.5)!important}.print__text-small{font-size:6pt}p.print__text-small{margin-bottom:0}input[type=radio]{appearance:none;-webkit-appearance:none;width:6pt;height:6pt;border:1px solid #000;border-radius:50%;display:inline-block;position:relative;outline:0;vertical-align:middle;margin-right:2px;cursor:default}input[type=radio]:checked{background-color:#000;border-color:#000}.print__field-wrapper{position:relative;margin-bottom:4pt}.print__field-wrapper::after{content:attr(data-field-name);position:absolute;right:3pt;bottom:0;font-size:5pt}.print__field-wrapper .print__field{font-size:11pt;font-weight:600;border:1px solid #000;border-top:0;padding-left:.35rem}.print__field-wrapper .print__field:focus{outline:0}.print__field-wrapper .print__textbox{font-size:7pt;border:0}.print__field-wrapper .print__textbox:focus{outline:0}.print__full-height{height:100%} \ No newline at end of file +h5.print__heading,h6.print__heading{font-size:8pt;margin-bottom:0}.print__paper{height:297mm;width:210mm;background-color:#fff;margin:0 auto;padding:1.27cm}h6.print__heading{text-transform:uppercase}h1.print__heading-main{font-size:14pt;text-transform:uppercase;font-weight:700}.print__divider{margin-left:calc(var(--bs-gutter-x) * -.5)!important;margin-right:calc(var(--bs-gutter-x) * -.5)!important}.print__text-small{font-size:6pt}p.print__text-small{margin-bottom:0}input[type=radio]{appearance:none;-webkit-appearance:none;width:6pt;height:6pt;border:1px solid #000;border-radius:50%;display:inline-block;position:relative;outline:0;vertical-align:middle;margin-right:2px;cursor:default}input[type=radio]:checked{background-color:#000;border-color:#000}.print__field-wrapper{position:relative;margin-bottom:4pt}.print__field-wrapper::after{content:attr(data-field-name);position:absolute;right:3pt;bottom:0;font-size:5pt}.print__field-wrapper::before{content:attr(data-vp-name);position:absolute;left:3pt;top:0;font-size:5pt}.print__field-wrapper .print__field,.print__field-wrapper .print__field-vitals{font-size:11pt;font-weight:600;padding-left:.35rem;pointer-events:none;caret-color:transparent}.print__field-wrapper .print__field{border:1px solid #000;border-top:0;cursor:default;user-select:none}.print__field-wrapper .print__field:focus{outline:0}.print__field-wrapper .print__field-vitals{border:1px solid #000;border-top:0;border-right:0;cursor:default;user-select:none;margin-top:5pt}.print__field-wrapper .print__field-vitals:focus{outline:0}.print__field-wrapper .print__textbox{font-size:7pt;border:0;cursor:default;pointer-events:none;user-select:none;caret-color:transparent}.print__field-wrapper .print__textbox:focus{outline:0}.print__full-height{height:100%}.print__vitals-table{border-collapse:collapse}.print__vitals-table td,.print__vitals-table th{border:1px solid #000;padding:3pt!important}.print__vitals-table th{background-color:#f0f0f0;font-weight:700}.print__vitals-table tbody tr:nth-child(even){background-color:#f9f9f9}.print__vitals-table tbody tr:hover{background-color:#f0f0f0}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ddd;background:#fff;color:#333;text-decoration:none;margin-left:5px;cursor:pointer;transition:all .2s ease;font-size:20px}.topbar-btn:hover{background:#f0f0f0;border-color:#bbb;color:#000}.topbar-btn:active{background:#e0e0e0}body{--bs-body-bg:gray;transform-origin:top center;transition:transform .2s ease}@media print{.print__paper,.row{page-break-inside:avoid}.print__paper,body{margin:0;transform:none!important}@page{size:A4;margin:0}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body{padding:0;background:#fff!important}.print__paper{page-break-after:always;padding:1.27cm;width:210mm;height:297mm;box-sizing:border-box}.print__paper:last-child{page-break-after:auto}.row{display:flex!important;flex-wrap:wrap!important}.col,[class*=col-]{flex-shrink:0}canvas{max-width:100%!important;height:auto!important;display:block!important}.col:has(#vitalChart){border-left:1px solid #000!important;border-bottom:1px solid #000!important}.border{border-color:#000!important}input[type=radio]{-webkit-appearance:none;appearance:none;width:6pt;height:6pt;border:1px solid #000!important;border-radius:50%;background:#fff}input[type=radio]:checked{background-color:#000!important}input[type=text],select,textarea{border-color:#000!important;background:#fff!important;color:#000!important}*,.print__heading,.print__heading-main,.print__text-small{color:#000!important}#topbar{display:none!important}} \ No newline at end of file diff --git a/assets/css/print.scss b/assets/css/print.scss index 75c7bb72..6afd7faa 100644 --- a/assets/css/print.scss +++ b/assets/css/print.scss @@ -73,6 +73,14 @@ input[type="radio"]:checked { font-size: 5pt; } + &::before { + content: attr(data-vp-name); + position: absolute; + left: 3pt; + top: 0; + font-size: 5pt; + } + .print__field { font-size: 11pt; font-weight: 600; @@ -89,6 +97,24 @@ input[type="radio"]:checked { } } + .print__field-vitals { + font-size: 11pt; + font-weight: 600; + border: 1px solid #000; + border-top: 0; + border-right: 0; + padding-left: 0.35rem; + cursor: default; + pointer-events: none; + user-select: none; + caret-color: transparent; + margin-top: 5pt; + + &:focus { + outline: none; + } + } + .print__textbox { font-size: 7pt; border: 0; @@ -106,3 +132,154 @@ input[type="radio"]:checked { .print__full-height { height: 100%; } + +.print__vitals-table { + border-collapse: collapse; + + th, + td { + border: 1px solid #000; + padding: 3pt !important; + } + + th { + background-color: #f0f0f0; + font-weight: bold; + } + + tbody tr:nth-child(even) { + background-color: #f9f9f9; + } + + tbody tr:hover { + background-color: #f0f0f0; + } +} + +.topbar-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 1px solid #ddd; + background: white; + color: #333; + text-decoration: none; + margin-left: 5px; + cursor: pointer; + transition: all 0.2s ease; + font-size: 20px; +} + +.topbar-btn:hover { + background: #f0f0f0; + border-color: #bbb; + color: #000; +} + +.topbar-btn:active { + background: #e0e0e0; +} + +body { + transform-origin: top center; + transition: transform 0.2s ease; +} + +@media print { + @page { + size: A4; + margin: 0; + } + + * { + -webkit-print-color-adjust: exact !important; + print-color-adjust: exact !important; + color-adjust: exact !important; + } + + body { + margin: 0; + padding: 0; + background: white !important; + transform: none !important; + } + + .print__paper { + page-break-after: always; + page-break-inside: avoid; + margin: 0; + padding: 1.27cm; + width: 210mm; + height: 297mm; + box-sizing: border-box; + transform: none !important; + } + + .print__paper:last-child { + page-break-after: auto; + } + + .row { + page-break-inside: avoid; + display: flex !important; + flex-wrap: wrap !important; + } + + .col, + [class*="col-"] { + flex-shrink: 0; + } + + canvas { + max-width: 100% !important; + height: auto !important; + display: block !important; + } + + .col:has(#vitalChart) { + border-left: 1px solid #000 !important; + border-bottom: 1px solid #000 !important; + } + + .border { + border-color: #000 !important; + } + + input[type="radio"] { + -webkit-appearance: none; + appearance: none; + width: 6pt; + height: 6pt; + border: 1px solid #000 !important; + border-radius: 50%; + background: white; + } + + input[type="radio"]:checked { + background-color: #000 !important; + } + + input[type="text"], + textarea, + select { + border-color: #000 !important; + background: white !important; + color: black !important; + } + + * { + color: black !important; + } + + .print__heading, + .print__heading-main, + .print__text-small { + color: black !important; + } + + #topbar { + display: none !important; + } +} diff --git a/enotf/print/index.php b/enotf/print/index.php index 9d23b8c8..91f7600b 100644 --- a/enotf/print/index.php +++ b/enotf/print/index.php @@ -10,6 +10,7 @@ require __DIR__ . '/../../assets/config/database.php'; use App\Auth\Permissions; +use App\Helpers\Redirects; $daten = array(); @@ -32,6 +33,7 @@ $enr = $daten['enr']; $prot_url = "https://" . SYSTEM_URL . "/enotf/protokoll/index.php?enr=" . $enr; +$defaultUrl = $prot_url; date_default_timezone_set('Europe/Berlin'); $currentTime = date('H:i'); @@ -54,6 +56,9 @@ + + + @@ -71,6 +76,26 @@ +
+
+ +
+ + + +
+
+
@@ -797,7 +1058,7 @@ ?> - +
+
+
+ + 'keine', + 2 => 'leicht', + 3 => 'mittel', + 4 => 'schwer', + 99 => 'Nicht untersucht' + ]; + $v_muster_k1_labels = [ + 1 => 'offen', + 2 => 'geschlossen' + ]; + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/enotf/protokoll/diagnose/index.php b/enotf/protokoll/diagnose/index.php index b0805acc..3081535e 100644 --- a/enotf/protokoll/diagnose/index.php +++ b/enotf/protokoll/diagnose/index.php @@ -132,59 +132,59 @@ 99 => 'Keine Erkrankung / Verletzung feststellbar', // Trauma - Schädel-Hirn (101-104) - 101 => 'Trauma Schädel-Hirn (leicht)', - 102 => 'Trauma Schädel-Hirn (mittel)', - 103 => 'Trauma Schädel-Hirn (schwer)', - 104 => 'Trauma Schädel-Hirn (tödlich)', + 101 => 'Trauma Schädel-Hirn leicht', + 102 => 'Trauma Schädel-Hirn mittel', + 103 => 'Trauma Schädel-Hirn schwer', + 104 => 'Trauma Schädel-Hirn tödlich', // Trauma - Gesicht (111-114) - 111 => 'Trauma Gesicht (leicht)', - 112 => 'Trauma Gesicht (mittel)', - 113 => 'Trauma Gesicht (schwer)', - 114 => 'Trauma Gesicht (tödlich)', + 111 => 'Trauma Gesicht leicht', + 112 => 'Trauma Gesicht mittel', + 113 => 'Trauma Gesicht schwer', + 114 => 'Trauma Gesicht tödlich', // Trauma - HWS (121-124) - 121 => 'Trauma HWS (leicht)', - 122 => 'Trauma HWS (mittel)', - 123 => 'Trauma HWS (schwer)', - 124 => 'Trauma HWS (tödlich)', + 121 => 'Trauma HWS leicht', + 122 => 'Trauma HWS mittel', + 123 => 'Trauma HWS schwer', + 124 => 'Trauma HWS tödlich', // Trauma - Thorax (131-134) - 131 => 'Trauma Thorax (leicht)', - 132 => 'Trauma Thorax (mittel)', - 133 => 'Trauma Thorax (schwer)', - 134 => 'Trauma Thorax (tödlich)', + 131 => 'Trauma Thorax leicht', + 132 => 'Trauma Thorax mittel', + 133 => 'Trauma Thorax schwer', + 134 => 'Trauma Thorax tödlich', // Trauma - Abdomen (141-144) - 141 => 'Trauma Abdomen (leicht)', - 142 => 'Trauma Abdomen (mittel)', - 143 => 'Trauma Abdomen (schwer)', - 144 => 'Trauma Abdomen (tödlich)', + 141 => 'Trauma Abdomen leicht', + 142 => 'Trauma Abdomen mittel', + 143 => 'Trauma Abdomen schwer', + 144 => 'Trauma Abdomen tödlich', // Trauma - BWS / LWS (151-153) - 151 => 'Trauma BWS / LWS (leicht)', - 152 => 'Trauma BWS / LWS (mittel)', - 153 => 'Trauma BWS / LWS (schwer)', + 151 => 'Trauma BWS / LWS leicht', + 152 => 'Trauma BWS / LWS mittel', + 153 => 'Trauma BWS / LWS schwer', // Trauma - Becken (161-163) - 161 => 'Trauma Becken (leicht)', - 162 => 'Trauma Becken (mittel)', - 163 => 'Trauma Becken (schwer)', + 161 => 'Trauma Becken leicht', + 162 => 'Trauma Becken mittel', + 163 => 'Trauma Becken schwer', // Trauma - obere Extremitäten (171-173) - 171 => 'Trauma obere Extremitäten (leicht)', - 172 => 'Trauma obere Extremitäten (mittel)', - 173 => 'Trauma obere Extremitäten (schwer)', + 171 => 'Trauma obere Extremitäten leicht', + 172 => 'Trauma obere Extremitäten mittel', + 173 => 'Trauma obere Extremitäten schwer', // Trauma - untere Extremitäten (181-183) - 181 => 'Trauma untere Extremitäten (leicht)', - 182 => 'Trauma untere Extremitäten (mittel)', - 183 => 'Trauma untere Extremitäten (schwer)', + 181 => 'Trauma untere Extremitäten leicht', + 182 => 'Trauma untere Extremitäten mittel', + 183 => 'Trauma untere Extremitäten schwer', // Trauma - Weichteile (191-193) - 191 => 'Trauma Weichteile (leicht)', - 192 => 'Trauma Weichteile (mittel)', - 193 => 'Trauma Weichteile (schwer)', + 191 => 'Trauma Weichteile leicht', + 192 => 'Trauma Weichteile mittel', + 193 => 'Trauma Weichteile schwer', // Trauma - spezielle (201-209) 201 => 'Verbrennung / Verbrühung', diff --git a/enotf/protokoll/massnahmen/index.php b/enotf/protokoll/massnahmen/index.php index 26c64b06..c3088e82 100644 --- a/enotf/protokoll/massnahmen/index.php +++ b/enotf/protokoll/massnahmen/index.php @@ -330,7 +330,7 @@ function displayAllMedikamente($medikamenteJson) return ''; } - if ($medikamenteJson === '0') { + if ($medikamenteJson === '0' || $medikamenteJson == '1') { return 'Keine Medikamente'; } From 53833a6a442341fcb9b684ae9fc66180fe309061 Mon Sep 17 00:00:00 2001 From: hypax Date: Sat, 11 Oct 2025 20:28:44 +0200 Subject: [PATCH 3/5] Fixes date format and hides print button in iframe Ensures the date and time are correctly formatted on the print view. Hides the print button when the print view is embedded in an iframe to prevent conflicts with the parent page's printing functionality. --- enotf/print/index.php | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/enotf/print/index.php b/enotf/print/index.php index 91f7600b..f420c463 100644 --- a/enotf/print/index.php +++ b/enotf/print/index.php @@ -206,7 +206,7 @@
From ac151d79f984f1924fed919fbafc17b3d06612de Mon Sep 17 00:00:00 2001 From: hypax Date: Sat, 11 Oct 2025 20:35:35 +0200 Subject: [PATCH 5/5] Adds driver and co-driver fields to print view Implements the display of driver and co-driver information in the print view. Conditionally renders fields based on the value of 'prot_by', allowing to differentiate between different data sources for driver and co-driver names. --- enotf/print/index.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/enotf/print/index.php b/enotf/print/index.php index f420c463..e7ba57c4 100644 --- a/enotf/print/index.php +++ b/enotf/print/index.php @@ -239,6 +239,31 @@
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +