Adaptive Cognition for Non-Routine Medical Cases: Complex Conceptual Understanding, Experience Acceleration, and Cognitive Flexibility Training as Complements to Problem-based Learning in Preparing Medical Students to Apply their Knowledge in Novel Situations