docs: def get_position(self, user_id, track=False, confidence=False):
  
          '''
              a method to retrieve the latest position of a user
  
          :param user_id: string with id of user
          :param track: [optional] boolean to add user to self.positions
          :param confidence: [optional] boolean to include the data model confidence scores
          :return: dictionaries with position details
  
          NOTE:   if user does not exist, then location and time are null values
  
          { 
              'time': 0.0, 
              'location': 'location.id', 
              'id': 'user_id', 
              bayes: {}, # if confidence = True 
              svm: None, # if confidence = True 
              rf: {} # if confidence = True 
          }
          '''
  
          title = '%s.get_position' % self.__class__.__name__
      
      # validate inputs
          input_fields = {
              'user_id': user_id
          }
          for key, value in input_fields.items():
              object_title = '%s(%s=%s)' % (title, key, str(value))
              self.fields.validate(value, '.%s' % key, object_title)
              
      # construct empty response
          position_details = {
              'location': '',
              'time': 0.0,
              'id': user_id
          }
  
      # construct empty position history
          position_history = []
          
      # compose request
          import requests
          url = self.endpoint + '/location'
          params = {
              'group': self.group_name,
              'user': user_id,
              'n': 1
          }
          response = requests.get(url, params=params)
  
      # ingest response
          response_details = response.json()
          from labpack.records.time import labDT
          for key in response_details['users'].keys():
              if key == user_id:
                  for entry in response_details['users'][key]:
                      if 'time' in entry.keys() and 'location' in entry.keys():
                          time_string = entry['time'] 
                          time_string = time_string.replace(' +0000 UTC', 'Z')
                          time_string = time_string.replace(' ', 'T')
                          time_dt = labDT.fromISO(time_string).epoch()
                          if confidence:
                              for key, value in entry.items():
                                  position_details[key] = value
                          position_details['time'] = time_dt
                          position_details['location'] = entry['location']
                          break
  
          if track:
              stored_position = {
                  'location': position_details['location'],
                  'time': position_details['time']
              }
              self.positions[user_id] = stored_position
  
          return position_details