Compreensão da lista Errang

Estou testando uma expressão com duas desigualdades para a condição de compreensão da lista. Existe uma maneira de ter atribuições aqui e não duplicar essa expressão? (O código a seguir não funciona, mas eu gostaria que funcionasse)

diagnose (Especialidade, Sintomas dos pacientes) ->

{[CertainDisease||
    {CertainDisease,KnownSymptoms}<-Expertise,
    C=length(PatientSymptoms)-length(PatientSymptoms--KnownSymptoms),
    C>=2,
    C<=5      
 ]}.

questionAnswers(2)

yourAnswerToTheQuestion