a method to retrieve member profile details

        :param member_id: integer with member id from member profile
        :return: dictionary with member profile details inside [json] key

        profile_details = self.objects.profile.schema

def get_member_profile(self, member_id):

        ''' a method to retrieve member profile details

        :param member_id: integer with member id from member profile
        :return: dictionary with member profile details inside [json] key

        profile_details = self.objects.profile.schema
        '''

    # https://www.meetup.com/meetup_api/docs/members/:member_id/#get

        title = '%s.get_member_profile' % self.__class__.__name__

    # validate inputs
        input_fields = {
            'member_id': member_id
        }
        for key, value in input_fields.items():
            if value:
                object_title = '%s(%s=%s)' % (title, key, str(value))
                self.fields.validate(value, '.%s' % key, object_title)

    # construct member id
        if not member_id:
            raise IndexError('%s requires member id argument.' % title)

    # compose request fields
        url = '%s/members/%s' % (self.endpoint, str(member_id))
        params = {
            'fields': 'gender,birthday,last_event,messaging_pref,next_event,other_services,privacy,self,stats'
        }

    # send requests
        profile_details = self._get_request(url, params=params)

    # construct method output
        if profile_details['json']:
            profile_details['json'] = self._reconstruct_member(profile_details['json'])

        return profile_details