This is a ready-to-use calculation worksheet for the two numbers that govern every endotoxin release test on a product: the endotoxin limit and the maximum valid dilution. It is completed once per product and strength, verified by a second person, approved, and then locked into the test method so analysts read the values rather than recompute them. Arithmetic error at this step is the most common release error in this area, which is why the verification block is not optional. Replace every <<FILL: ...>> placeholder. Three worked specimens follow. This is educational reference content, not regulatory advice; confirm the values against the current compendial chapter and your own filing.
Header
| Field | Entry |
|---|---|
| Worksheet number | <<FILL: FORM-ID>> |
| Product name and code | <<FILL>> |
| Strength / presentation | <<FILL>> |
| Route of administration | <<FILL: IV / IM / SC / intrathecal / other>> |
| Compendial basis | <<FILL: USP <85> / USP <86> / Ph. Eur. 2.6.14 (Method G for recombinant Factor C; chapter 2.6.32 is being suppressed from 1 January 2027)>> |
| Test method document | <<FILL: method ID and version>> |
| Supersedes | <<FILL: prior worksheet version or "New">> |
| Reason for issue or re-issue | <<FILL: new product / dose change / strength change / lysate sensitivity change>> |
The rules (read before filling)
- Endotoxin limit = K / M.
- K is the threshold pyrogenic dose per kilogram of body weight per hour. Use 5 EU/kg for parenteral routes (intravenous, intramuscular, subcutaneous) and 0.2 EU/kg for intrathecal products. The intrathecal value is 25 times tighter; using 5 EU/kg for an intrathecal product is a recurring and serious error.
- M is the maximum recommended human dose per kilogram of body weight per hour, expressed on the same basis as K.
- Body weight is 70 kg unless the product is intended for a defined smaller population, in which case use the weight for that population and record the justification. Body weight only enters the arithmetic when the maximum dose is expressed as a total dose rather than per kg. If the dose is already stated per kg, M is that number and body weight cancels out.
- Fixed compendial limits override the K/M derivation where they apply. Large-volume parenterals administered by volume carry a limit of 0.5 EU/mL. Water for Injection carries 0.25 EU/mL. Where a monograph states a limit for the product, that limit governs.
- MVD = (endotoxin limit x product concentration) / lambda. Two equivalent forms:
- Endotoxin limit in EU per mg, product concentration in mg per mL, lambda in EU per mL.
- Endotoxin limit already expressed in EU per mL, divided by lambda, which is the same calculation with concentration set to the undiluted product.
- Round MVD down, never up, and then choose a practicable routine dilution at or below it. Testing above MVD means a result at the limit could not have been detected, so a negative result carries no information.
- lambda is method-specific and lot-specific. A change of lysate sensitivity changes MVD and requires this worksheet to be re-issued.
- Out of scope: combination products with a device fluid path, where the endotoxin limit is expressed per device and per mL of rinse or extract under USP <161> rather than derived from K and M. Handle those on a separate sheet. See bioburden and bacterial endotoxin testing.
Step 1: Inputs
| Input | Symbol | Entry | Source |
|---|---|---|---|
| Threshold pyrogenic dose | K | <<FILL: 5 EU/kg or 0.2 EU/kg>> | Route of administration |
| Route justification for K | <<FILL>> | <<FILL: label / protocol / filing section>> | |
| Maximum human dose, as labelled | <<FILL: e.g. 10 mg/kg per hour, or 12 mg total per administration>> | <<FILL: SmPC / prescribing information / IB>> | |
| Dose basis | <<FILL: per kg / total dose / by volume>> | ||
| Body weight used | <<FILL: 70 kg, or defined population weight>> | <<FILL: justification if not 70 kg>> | |
| Maximum dose per kg per hour | M | <<FILL: mg/kg>> | Calculated in Step 2 if total dose |
| Product concentration | C | <<FILL: mg/mL>> | <<FILL: specification>> |
| Lysate sensitivity | lambda | <<FILL: EU/mL>> | <<FILL: lysate lot certificate>> |
| Fixed compendial limit applicable? | <<FILL: none / LVP 0.5 EU/mL / WFI 0.25 EU/mL / monograph value>> |
Step 2: Convert the dose to M (only if the label states a total dose)
Where the maximum dose is a total dose rather than a per-kg dose:
M = total dose / body weight = <<FILL: total dose>> / <<FILL: body weight>> = <<FILL: mg/kg>>
Where the label already states the dose per kg, enter that value directly as M and write “per kg dose, no conversion required” here.
Step 3: Endotoxin limit
Endotoxin limit per mg = K / M = <<FILL: K>> / <<FILL: M>> = <<FILL: EU/mg>>
Endotoxin limit per mL = (endotoxin limit per mg) x C = <<FILL: EU/mg>> x <<FILL: mg/mL>> = <<FILL: EU/mL>>
Where a fixed compendial limit applies instead, record it here and state the basis: <<FILL: e.g. 0.5 EU/mL, large-volume parenteral>>.
Cross-check (perform this every time). Total endotoxin permitted per maximum dose = K x body weight = <<FILL>> EU. Divide by the volume administered at the maximum dose: <<FILL>> EU / <<FILL>> mL = <<FILL>> EU/mL. This must agree with the endotoxin limit per mL above. A disagreement means a unit or a dose basis is wrong.
Step 4: Maximum valid dilution
MVD = (endotoxin limit x product concentration) / lambda
MVD = (<<FILL: EU/mg>> x <<FILL: mg/mL>>) / <<FILL: lambda EU/mL>> = <<FILL: unrounded>>
MVD rounded down = <<FILL: whole number>>
Routine test dilution selected = <<FILL>> (must be at or below MVD, and must be the dilution at which method suitability was demonstrated)
Headroom between routine dilution and MVD = <<FILL>> (this is the room available to resolve interference by further dilution)
Step 5: Locked outputs
These values are transcribed into the test method and are not recalculated at the bench.
| Locked value | Entry |
|---|---|
| Endotoxin limit (EU/mL) | <<FILL>> |
| Endotoxin limit (EU/mg, if applicable) | <<FILL>> |
| lambda and lysate lot basis | <<FILL>> |
| MVD | <<FILL>> |
| Routine test dilution | <<FILL>> |
| Method suitability report reference | <<FILL>> |
| Test method updated (document and version) | <<FILL>> |
| Re-issue triggers | Dose change, strength change, route change, population change, lambda change, monograph change |
Verification and approval
Arithmetic here reaches a release decision without passing through an instrument that would catch an error. An independent second person recalculates every line from the inputs rather than checking the transcription.
| Role | Name | Signature | Date |
|---|---|---|---|
| Calculated by | <<FILL>> | ||
| Verified by (independent recalculation from source inputs) | <<FILL>> | ||
| Method owner review | <<FILL>> | ||
| QA approval | <<FILL>> |
Verifier statement: I recalculated K, M, the endotoxin limit, and the MVD from the source documents named in Step 1, confirmed the cross-check in Step 3 agrees, and confirmed the routine dilution is at or below MVD.
Filled specimen
Three worked cases. Company, product, and numbers are illustrative; replace them with your own.
Specimen A: small-volume injectable dosed per kilogram
A monoclonal antibody drug product for intravenous infusion. Label maximum dose 10 mg/kg per hour. Product concentration 25 mg/mL. Kinetic chromogenic assay with lambda 0.005 EU/mL.
| Step | Working |
|---|---|
| K | 5 EU/kg (intravenous route) |
| Dose basis | Per kg, so M = 10 mg/kg per hour, no body weight conversion needed |
| Endotoxin limit per mg | 5 EU/kg / 10 mg/kg = 0.5 EU/mg |
| Endotoxin limit per mL | 0.5 EU/mg x 25 mg/mL = 12.5 EU/mL |
| Cross-check | At 70 kg the maximum dose is 700 mg per hour, which is 700 / 25 = 28 mL. Permitted endotoxin = 5 x 70 = 350 EU. 350 EU / 28 mL = 12.5 EU/mL. Agrees. |
| MVD | (0.5 EU/mg x 25 mg/mL) / 0.005 EU/mL = 12.5 / 0.005 = 2500 |
| Routine dilution | 1:100, well inside MVD, with large headroom for interference resolution |
The headroom here is generous. A product with a 12.5 EU/mL limit and a sensitive photometric reagent can be diluted a long way before the assay loses the ability to see the limit, which is why photometric methods rarely run into interference that dilution cannot fix on this kind of product.
Specimen B: large-volume parenteral
Sodium chloride injection 0.9 percent, 1000 mL infusion bag, administered by volume rather than by weight-based dose. Gel-clot lysate with lambda 0.125 EU/mL.
| Step | Working |
|---|---|
| K / M derivation | Not used. The product is a large-volume parenteral administered by volume, so the fixed compendial limit applies. |
| Endotoxin limit | 0.5 EU/mL (large-volume parenteral) |
| Product concentration | The limit is already expressed per mL of the product as supplied, so concentration is taken as the undiluted product |
| MVD | 0.5 EU/mL / 0.125 EU/mL = 4 |
| Routine dilution | 1:2, leaving one further doubling of headroom before MVD |
Two points this case teaches. First, the MVD is small, so there is almost no room to dilute out interference; if the matrix interferes, dilution will not rescue it and a different reagent or method is needed. Second, if the same product were tested with a less sensitive gel-clot lysate at lambda 0.25 EU/mL, MVD would fall to 2, and at lambda 0.5 EU/mL it would fall to 1, meaning the product could only be tested neat. Lysate sensitivity is not a laboratory convenience on a product like this; it decides whether the test can be run at all.
For comparison, Water for Injection carries a limit of 0.25 EU/mL. With the same 0.125 EU/mL lysate, MVD = 0.25 / 0.125 = 2.
Specimen C: intrathecal product
An antisense oligonucleotide administered intrathecally at a fixed maximum dose of 12 mg per administration. Product concentration 2.4 mg/mL, so the maximum dose is a 5 mL volume. Gel-clot lysate with lambda 0.03 EU/mL. Adult population, so 70 kg applies.
| Step | Working |
|---|---|
| K | 0.2 EU/kg (intrathecal route, not 5) |
| Dose basis | Total dose of 12 mg, so conversion to M is required |
| M | 12 mg / 70 kg = 0.1714 mg/kg |
| Endotoxin limit per mg | 0.2 EU/kg / 0.1714 mg/kg = 1.167 EU/mg |
| Endotoxin limit per mL | 1.167 EU/mg x 2.4 mg/mL = 2.8 EU/mL |
| Cross-check | Permitted endotoxin per dose = 0.2 x 70 = 14 EU. Volume at maximum dose = 12 / 2.4 = 5 mL. 14 EU / 5 mL = 2.8 EU/mL. Agrees. |
| MVD | (1.167 EU/mg x 2.4 mg/mL) / 0.03 EU/mL = 2.8 / 0.03 = 93.3, rounded down to 93 |
| Routine dilution | 1:40, inside MVD |
Two errors this specimen is designed to catch. If K had been taken as 5 EU/kg instead of 0.2, the limit would have come out at 70 EU/mL, twenty-five times too permissive, and the product could have been released with an endotoxin load well above what an intrathecal route tolerates. And the MVD of 93.3 must be rounded down to 93; rounding up to 94 would put the routine dilution outside the range where the limit is detectable.
If the same product were intended solely for a defined paediatric population, both M and the body weight would be re-derived for that population and the limit recalculated, with the population and its weight basis recorded in Step 1. Do not carry an adult calculation into a paediatric indication.
Common inspection findings this worksheet prevents
- The wrong K used for the route, most often 5 EU/kg applied to an intrathecal product.
- Body weight applied to a dose that was already expressed per kilogram, halving or doubling the limit.
- MVD rounded up rather than down, so the routine dilution sits above the maximum valid dilution.
- Testing performed at a dilution beyond MVD and a negative result reported as a pass.
- The endotoxin limit and MVD recalculated by each analyst at the bench, with no single approved and verified source value.
- The limit not re-derived after a dose, strength, or population change, so the method still carries the value for a superseded label.
- A lysate lot with a different labelled sensitivity put into use without recalculating MVD.
- No independent verification of the arithmetic behind a number that gates batch release.
How to adapt this worksheet
- Complete one worksheet per product and strength, and re-issue it whenever any input in Step 1 changes.
- Take K from the route, not from habit, and record where the route and the maximum dose came from so a reviewer can trace them to the label or the protocol.
- Perform the Step 3 cross-check every time. It is the cheapest available test of whether the dose basis and units are right.
- Set the routine dilution from the method suitability work, not from the MVD alone; MVD is a ceiling, not a target.
- Transcribe the locked outputs into the test method and reference this worksheet number there, so the bench procedure and this calculation cannot drift apart.
- Require independent recalculation, not a transcription check, before approval.
- Confirm the fixed limits and the K values against the current compendial chapter and your own filing before issue.