The capability of the human brain to solve hard problems is one of the main manifestations of intelligent behaviour. Experts in a domain are better than novices in performing problem solving tasks. This is due to their greater experience in solving problems that provides them with better problem solving strategies. Such strategies are knowledge about how to use the knowledge they have in their domain, i.e. metaknowledge. In Artificial Intelligence it is possible to represent such metaknowledge by means of declarative control strategies. Diagnostic reasoning heavily involves metaknowledge to focus attention on the most plausible hypotheses in a given situation and to control the inference process. In this presentation I will develop these concepts in the context of a medical expert system and I will also point out the key role that uncertainty plays in the problem solving strategies.