Não seria melhor se eu criasse uma anotação que validasse caso o id do médico seja nulo a especialidade ser obrigatória do que retornar um erro ao escolher o médico?
O meu ponto aqui é que acho melhor já fazer as validações condicionais no DTO. Isso é comumente feito no DTO? No curso o professor validou usando outra função "escolherMedico".