Medication Dose Calculator
Calculate weight-based medication doses using mg/kg dosing for common drugs.
Common Medications (Reference)
| Medication | Dose (mg/kg) | Max Dose |
|---|---|---|
| Acetaminophen (Paracetamol) | 15 | 1000mg per dose, 75mg/kg/day |
| Ibuprofen | 10 | 400mg per dose, 40mg/kg/day |
| Amoxicillin | 25 | 500mg per dose |
| Azithromycin | 10 | 500mg per dose |
Disclaimer
This tool is for educational purposes only. Always consult a qualified healthcare professional before administering any medication.
About this tool
The Medication Dose Calculator is a quick reference tool designed to help healthcare professionals, caregivers, and parents calculate weight-based medication doses accurately and safely. Weight-based dosing (measured in mg/kg) is the standard approach for many medications, especially in pediatrics and critical care, where precise calculations prevent both underdosing and overdosing.
To use the calculator, simply enter the patient's weight in kilograms, select the medication from the available list, and the tool will instantly display the recommended dose in milligrams. The tool includes common medications with established dosing guidelines, making it ideal for quick verification in clinical settings, emergency situations, or when preparing medications at home under medical supervision.
This calculator is most beneficial for nurses, doctors, pharmacists, and caregivers working with children or patients requiring weight-based medications. While it provides accurate calculations based on standard dosing protocols, it should always be verified against the latest medication guidelines and the prescriber's orders, and it is not a substitute for professional medical judgment.
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.