TRT Dosage Calculator - assumptions and limitations
What this calculator does, what it does not do, and the arithmetic behind every output. Each assumption below documents its source and limitations. Read this before using any number with a real medication.
Assumptions
Per-injection mg = weekly target / doses per week
The mg-per-injection split is dimensional - what you put in the syringe is what reaches the IM tissue. The calculator does not apply pharmacokinetic, half-life, or ester-specific adjustments to the per-injection mass itself; ester-driven peak/trough behaviour is surfaced separately on the 'Estimated drug levels' chart and the ester-cadence cadence-hint warning.
Ester selector with cadence hint
Cypionate, enanthate, and other ester labels do not alter the per-injection mg/mL math (which is purely arithmetic), but the calculator does surface a soft info note when the chosen cadence is longer than the ester's typical half-life supports. Half-lives: cypionate ~8 d (Behre 1990; Depo-Testosterone USPI), enanthate ~4.5 d (Snyder 1980), propionate ~0.8 d (Nieschlag 1976), undecanoate ~21 d (Aveed USPI), mixed esters ~4 d (Sustanon SmPC). The cadence hint is informational only.
Schedule math assumes consistent intervals
doses_per_week = 7 / interval_days assumes the chosen cadence is followed exactly across the week. Real adherence has missed/late doses, and ester-specific peak/trough swing is surfaced separately on the 'Estimated drug levels' chart rather than baked into the per-injection mg/mL output.
U-100 syringe units (definitional)
U-100 insulin syringes are defined by USP <1601> and ISO 8537:2016 as 100 units = 1 mL (so 1 unit = 0.01 mL). The conversion units_per_injection = mL_per_injection * 100 is dimensional, not modelled. Confirm against your specific syringe markings.
Vial usage rounds down (conservative policy)
Doses per vial floors to whole doses; days of supply counts full doses only. Floor is the tightest bound that does not overstate supply - the partial-dose remainder is surfaced separately as 'Leftover' so nothing is hidden. This is a documented rounding policy, not a model.
Formulas used
Each output is derived from one of the formulas below. They run client-side, so what you see in the calculator is what the math actually does.
1. Doses per week
doses_per_week = 7 / interval_days2. Mg per injection
mg_per_injection = weekly_mg / doses_per_week3. mL per injection
mL_per_injection = mg_per_injection / concentration_mg_per_mL4. Weekly mL
weekly_mL = weekly_mg / concentration_mg_per_mL5. U-100 syringe units (estimate)
units_per_injection = mL_per_injection * 1006. Vial volume (mL)
vial_volume_mL = vialSize (when unit = mL) OR vialSize / concentration_mg_per_mL (when unit = mg)7. Doses per vial
doses_per_vial = floor(vial_volume_mL / mL_per_injection)8. Days of supply
days_of_supply = doses_per_vial * interval_days