Un truc comme ca devrait te faire approcher du résultat, je ne pense pas qu'un patient est beacoup plus de 20 consultations...

def list() {
def minTab = params.int('offset') ?: 0
...