CRM-13234 call getfields less times & pass in variables that might affect it (profile_id & potentially later other ones)