diagnostic reasoning