Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| ktv [2026/06/30 18:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ktv [2026/06/30 18:06] (aktuell) – ↷ Seite von modul2:ktv nach ktv verschoben kidneyboy | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Effektivität der Hämodialyse ====== | ||
| + | |||
| + | < | ||
| + | < | ||
| + | .ktv-wrap{max-width: | ||
| + | .ktv-card{border: | ||
| + | .ktv-card h3{margin:0 0 12px 0; | ||
| + | .ktv-row label{display: | ||
| + | .ktv-row input, | ||
| + | width:100%; padding: | ||
| + | } | ||
| + | .ktv-flex-row {display: flex; gap: 12px;} | ||
| + | .ktv-flex-row .ktv-row {flex: 1;} | ||
| + | .ktv-out{ | ||
| + | font-family: | ||
| + | background:# | ||
| + | font-size: | ||
| + | } | ||
| + | .ktv-badge{display: | ||
| + | .green{background:# | ||
| + | .warn-box { background: #fff3cd; color: #856404; padding: 10px; border-radius: | ||
| + | | ||
| + | @media print { | ||
| + | .btn-export, | ||
| + | .ktv-wrap { border: none; width: 100%; } | ||
| + | .ktv-out { background: #fff !important; color: #000 !important; border: 1px solid #000; } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | <div class=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | <input type=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div id=" | ||
| + | <button class=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | (function(){ | ||
| + | document.getElementById(' | ||
| + | const inputs = document.querySelectorAll(' | ||
| + | | ||
| + | function num(id){ return parseFloat(document.getElementById(id).value) || 0; } | ||
| + | function sel(id){ return document.getElementById(id).value; | ||
| + | |||
| + | function calc(){ | ||
| + | const W = num(" | ||
| + | const dryW = W - edema; | ||
| + | let V = (sex === " | ||
| + | if(sel(" | ||
| + | |||
| + | const Cpre = num(" | ||
| + | const R = Cpost / Cpre; | ||
| + | const sp = -Math.log(R - 0.008 * tH) + (4 - 3.5 * R) * (uf / W); | ||
| + | const e = sp * ( (tH*60) / (tH*60 + 35) ); | ||
| + | const stdDial = (10080 * (1 - Math.exp(-e)) / (tH*60)) / ((1 - Math.exp(-e)) / sp + (10080 / (N * tH * 60)) - 1); | ||
| + | |||
| + | const ufRate = (uf * 1000) / tH / W; | ||
| + | const Uu = num(" | ||
| + | const Kru = (Uu > 0) ? (Uu * Vml) / ( (Pu * 0.9) * 1440 ) : 0; | ||
| + | const stdRenal = (1.25 * Kru / 1000) * 10080 / V; | ||
| + | const total = stdDial + stdRenal; | ||
| + | |||
| + | // --- MODERN: VARIABLE TARGET LOGIK --- | ||
| + | const kruRef = 5.0; | ||
| + | let dynamicTarget = 2.3; | ||
| + | if (Kru > 0) { | ||
| + | // Reduktion des Ziels um bis zu 0.3 Punkte bei guter Kru | ||
| + | dynamicTarget = Math.max(2.0, | ||
| + | } | ||
| + | const isTargetMet = total >= dynamicTarget; | ||
| + | const status = isTargetMet ? {c:" | ||
| + | |||
| + | const Cnext = num(" | ||
| + | let npcr = (Cnext > 0) ? (((Cnext - Cpost) / interv) * V * 0.6 / dryW) + 0.17 : null; | ||
| + | |||
| + | document.getElementById(" | ||
| + | `PATIENT: ${document.getElementById(" | ||
| + | `----------------------------------------------------------------\n` + | ||
| + | `stdKt/V GESAMT: | ||
| + | `INDIV. ZIELWERT: | ||
| + | `DETAIL-ANALYSE: | ||
| + | `stdKt/V dialytisch: ${stdDial.toFixed(3)} (spKt/V: ${sp.toFixed(2)})\n` + | ||
| + | `stdKt/V renal: | ||
| + | `SICHERHEIT & ERNÄHRUNG: | ||
| + | `UF-Rate: | ||
| + | `nPCR (Protein): | ||
| + | `V (Watson): | ||
| + | |||
| + | let warns = ""; | ||
| + | if(!isTargetMet) warns += `<div class=" | ||
| + | if(ufRate > 12) warns += `<div class=" | ||
| + | document.getElementById(" | ||
| + | } | ||
| + | |||
| + | inputs.forEach(el => el.addEventListener(" | ||
| + | calc(); | ||
| + | })(); | ||
| + | </ | ||
| + | </ | ||
| + | ====== Legende ====== | ||
| + | |||
| + | ^ Parameter ^ Bedeutung ^ Klinischer Zielwert ^ | ||
| + | | **spKt/V** | Single-Pool Kt/V. Misst die Harnstoff-Elimination einer Einzelsitzung ohne Rebound. | > 1,2 (bei 3x wöchentl.) | | ||
| + | | **eKt/V** | Equilibrated Kt/V. Berücksichtigt den Harnstoff-Rebound aus dem Gewebe (nach Tattersall/ | ||
| + | | **stdKt/V** | Standardisierter Kt/V (Wochenwert). Erlaubt Vergleichbarkeit bei versch. Frequenzen und ist Voraussetzung, | ||
| + | | **UF-Rate** | Ultrafiltrationsrate in ml pro Stunde pro kg Körpergewicht. | **< 10–13 ml/h/kg** | | ||
| + | | **Kru** | Residuale Nierenfunktion (Harnstoff-Clearance). | Erhalt anstreben | | ||
| + | | **nPCR** | Normalized Protein Catabolic Rate. Marker für die Proteinzufuhr/ | ||
| + | | **V** | Berechnetes Harnstoff-Verteilungsvolumen (entspricht ca. dem Gesamtkörperwasser). | Individuell (anthropometrisch) | | ||
| + | |||
| + | ==== Sicherheitshinweise ==== | ||
| + | * **UF**-Raten > 13 ml/h/kg korrelieren mit erhöhter Mortalität (Myocardial Stunning). | ||
| + | * **nPCR**-Werte < 0,8 g/kg/d deuten auf eine Mangelernährung (PEW) hin. | ||
| + | * **stdKt/ | ||
| + | |||
| + | ==== Literatur ==== | ||
| + | |||
| + | * {{https:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | |||