Fix various issues with pharmacokinetics, improved parameters, distinction between adult/child

This commit is contained in:
2026-01-17 20:27:00 +00:00
parent b911fa1e16
commit 6983ce3853
13 changed files with 1505 additions and 115 deletions

View File

@@ -17,6 +17,7 @@ interface ProcessedDose {
timeMinutes: number;
ldx: number;
damph: number;
isFed?: boolean; // Optional: indicates if dose was taken with food
}
export const calculateCombinedProfile = (
@@ -50,7 +51,8 @@ export const calculateCombinedProfile = (
allDoses.push({
timeMinutes: timeToMinutes(dose.time) + dayOffsetMinutes,
ldx: ldxNum,
damph: 0 // d-amph is calculated from LDX conversion, not administered directly
damph: 0, // d-amph is calculated from LDX conversion, not administered directly
isFed: dose.isFed // Pass through per-dose food effect flag
});
}
});
@@ -66,7 +68,8 @@ export const calculateCombinedProfile = (
allDoses.push({
timeMinutes: timeToMinutes(dose.time) + dayOffsetMinutes,
ldx: ldxNum,
damph: 0 // d-amph is calculated from LDX conversion, not administered directly
damph: 0, // d-amph is calculated from LDX conversion, not administered directly
isFed: dose.isFed // Pass through per-dose food effect flag
});
}
});
@@ -81,11 +84,12 @@ export const calculateCombinedProfile = (
const timeSinceDoseHours = t - dose.timeMinutes / 60;
if (timeSinceDoseHours >= 0) {
// Calculate LDX contribution
// Calculate LDX contribution with per-dose food effect
const ldxConcentrations = calculateSingleDoseConcentration(
String(dose.ldx),
timeSinceDoseHours,
pkParams
pkParams,
dose.isFed // Pass per-dose food flag
);
totalLdx += ldxConcentrations.ldx;
totalDamph += ldxConcentrations.damph;