diagnosis by software