By analyzing a verbatim protocol of an expert's explanation we can derive constraints on the conceptual framework used by human experts for causal reasoning in medicine. We use these constraints, along with textbook descriptions of physiological mechanisms and the computational requirements of successful performance, to propose a model of qualitative causal reasoning. One important design decision in the model is the selection of the "envisionment" version of causal reasoning rather than a version based on "causal links." The envisionment process performs a qualitative simulation, starting with a description of the structure of a mechanism and predicting its behavior. The qualitative causal reasoning algorithm is a step toward second-generation medical diagnosis programs that understand how the mechanisms of the body work. The protocol analysis method is a knowledge acquisition technique for determining the conceptual framework of new types of knowledge in an expert system, prior to acquiring large amounts of domain-specific knowledge. The qualitative causal reasoning algorithm has been implemented and tested on medical and non-medical examples. It will be the core of RENAL, a new expert system for diagnosis in nephrology, that we are now developing.