algorithmic diagnosis