LIAC HWL Radioprotection Simulation
Patient Level Analysis
INPUT DATA
OUTPUT DATA
Output Results
30,
2 => 12,
0.22 => 1.3,
1.2 => 7
];
$tvl = $tvl_map[$p5] ?? 0;
$tvl2 = $tvl_map[$p6] ?? 0;
if (!empty($p1) && !empty($p2)) {
$elevazione = ($tvl > 0) ? ($p3 / $tvl) : 0;
$elevazione2 = ($tvl2 > 0) ? ($p4 / $tvl2) : 0;
$b1_result = pow(10, -$elevazione);
$b2_result = pow(10, -$elevazione2);
$b_result = $b1_result * $b2_result;
$d2_result = $p1 * $p1;
$sr1m_result = 2.64;
$mwd_result = 20 * $d2_result / ($b_result * $sr1m_result * $p2);
$_SESSION['mwdresume2'] = $mwd_result;
} else {
$mwd_result = isset($_SESSION['mwdresume2']) ? (float)$_SESSION['mwdresume2'] : 0;
}
?>
MWD: [Gy/week]
MWD: [Gy/week]
Upstairs Analysis
INPUT DATA
OUTPUT DATA
Output Results
0) {
$uelevazione = $u3 / $utvl;
$ub_result = 1 / pow(10, $uelevazione);
$ud2_result = $u1 * $u1;
$usr1m_result = 0.07;
$umwd_result = 20 * $ud2_result / ($ub_result * $usr1m_result * $u2);
$_SESSION['mwdresume1'] = $umwd_result;
} else {
$umwd_result = isset($_SESSION['mwdresume1']) ? (float)$_SESSION['mwdresume1'] : 0;
}
?>
MWD: [Gy/week]
MWD: [Gy/week]
Downstairs Analysis (calculation performed with 70cm beam absorber)
INPUT DATA
OUTPUT DATA
MWD final report for each level
$mwdresumeup, 'Patient' => $mwdresumepp, 'Downstairs' => $mwdresumedw ]; // prendo solo i livelli > 0 per il minimo $positiveLevels = array_filter($levels, fn($v) => $v > 0); if (!empty($positiveLevels)) { $minimo = min($positiveLevels); $critico = array_search($minimo, $levels, true); // nome del livello $textresultheader = 'Basing on the previous calculation, the critic level is' . $critico . ' Level with a workload of: ' . round($minimo, 2) . ' [Gy/week]'; } else { $textresultheader = 'No valid data available to determine the critic level.'; } ?>