Because of the requirements of our medical domain, we have developed a causal model of cardiovascular hemodynamics that includes enough intermediate nodes to represent the mechanisms in sufficient detail to account for the actions of therapies. The causal nature of several different kinds of mechanisms in the model have been represented as probabilities and to uniformly account for potential circularities in the causal structure, we have introduced the notion of probabilistic causality. The requirements for a differential diagnosis in this domain led to the introduction of diagnostic nodes to capture the idea of significant differences between hypotheses. Finally, we have developed a heuristic method for generating differential diagnosis hypotheses based on causal paths from primary causes to the findings and the heuristic of building the hypothesis finding by finding. The mechanism has been tested on more than 40 patient cases and provides good hypotheses in less than a minute using the model which has about 150 internal nodes and about 300 terminal nodes.