Fix pharmaco. value handling and vaildations

This commit is contained in:
2026-01-08 13:03:29 +00:00
parent 5e6fb273a7
commit 3630ac510f
4 changed files with 27 additions and 6 deletions

View File

@@ -25,9 +25,20 @@ export const calculateSingleDoseConcentration = (
const numDose = parseFloat(dose) || 0;
if (timeSinceDoseHours < 0 || numDose <= 0) return { ldx: 0, damph: 0 };
const ka_ldx = Math.log(2) / (parseFloat(pkParams.ldx.absorptionRate) || 1);
const k_conv = Math.log(2) / (parseFloat(pkParams.ldx.halfLife) || 1);
const ke_damph = Math.log(2) / (parseFloat(pkParams.damph.halfLife) || 1);
const absorptionRate = parseFloat(pkParams.ldx.absorptionRate);
const conversionHalfLife = parseFloat(pkParams.ldx.halfLife);
const damphHalfLife = parseFloat(pkParams.damph.halfLife);
// Validate parameters to avoid division by zero or invalid calculations
if (isNaN(absorptionRate) || absorptionRate <= 0 ||
isNaN(conversionHalfLife) || conversionHalfLife <= 0 ||
isNaN(damphHalfLife) || damphHalfLife <= 0) {
return { ldx: 0, damph: 0 };
}
const ka_ldx = Math.log(2) / absorptionRate;
const k_conv = Math.log(2) / conversionHalfLife;
const ke_damph = Math.log(2) / damphHalfLife;
let ldxConcentration = 0;
if (Math.abs(ka_ldx - k_conv) > 0.0001) {