πŸ› οΈToolsShed

Medication Dose Calculator

Calculate weight-based medication doses using mg/kg dosing for common drugs.

Common Medications (Reference)

MedicationDose (mg/kg)Max Dose
Acetaminophen (Paracetamol)151000mg per dose, 75mg/kg/day
Ibuprofen10400mg per dose, 40mg/kg/day
Amoxicillin25500mg per dose
Azithromycin10500mg per dose

Disclaimer

This tool is for educational purposes only. Always consult a qualified healthcare professional before administering any medication.

Frequently Asked Questions

Code Implementation

def calculate_dose(weight_kg: float, dose_per_kg: float,
                    frequency: int, max_single_dose: float = None,
                    max_daily_dose: float = None) -> dict:
    """
    Calculate weight-based medication dose.
    weight_kg: patient weight in kg
    dose_per_kg: dose in mg per kg
    frequency: number of doses per day
    max_single_dose: optional cap per dose in mg
    max_daily_dose: optional cap per day in mg
    """
    single_dose = weight_kg * dose_per_kg
    if max_single_dose:
        single_dose = min(single_dose, max_single_dose)

    daily_dose = single_dose * frequency
    if max_daily_dose:
        daily_dose = min(daily_dose, max_daily_dose)
        single_dose = daily_dose / frequency  # re-split if daily capped

    return {
        "single_dose_mg": round(single_dose, 2),
        "daily_dose_mg":  round(daily_dose, 2),
        "frequency":      frequency,
        "doses_per_day":  f"Every {24 // frequency} hours",
    }

# Example: amoxicillin 25 mg/kg TID, max 500 mg/dose
r = calculate_dose(
    weight_kg=30,
    dose_per_kg=25,
    frequency=3,
    max_single_dose=500
)
print(f"Single Dose : {r['single_dose_mg']} mg")
print(f"Daily Dose  : {r['daily_dose_mg']} mg")
print(f"Frequency   : {r['frequency']}x/day ({r['doses_per_day']})")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.