A multipurpose hemofiltration system and method are disclosed for the removal of fluid and / or soluble waste from the blood of a patient. The system continuously monitors the flow rates of drained fluid, blood, and infusate. When necessary, the pumping rates of the infusate, drained fluid and blood are adjusted to remove a preselected amount of fluid from the blood in a preselected time period. A supervisory controller can monitor patient parameters, such as heart rate and blood pressure, and adjust the pumping rates accordingly. The supervisory controller uses fuzzy logic to make expert decisions, based upon a set of supervisory rules, to control each pumping rate to achieve a desired flow rate and to respond to fault conditions. An adaptive controller corrects temporal variations in the flow rate based upon an adaptive law and a control law.