docs: def get_app_status(system_key):
      """
      Get Undergraduate application status
      @return ApplicationStatus object
      @InvalidSystemKey if system_key is not valid
      """
      if invalid_system_key(system_key):
          raise InvalidSystemKey(
              "Invalid system key in get_app_status({})".format(system_key))
  
      url = get_appstatus_url(system_key)
      response = DAO.getURL(url, {})
      response_data = str(response.data)
      if response.status != 200:
          raise DataFailureException(url, response.status, response_data)
  
      if len(response.data) == 0:
          is_cached = (type(response) == restclients_core.models.MockHttp)
          raise Exception(
              "{} Unexpected Response Data: {}, from cache: {}".format(
                  url, response_data, str(is_cached)))
  
      status = parse_statuses(response_data)
      return status