docs: def _json_to_evaluation(data):
      """
      Only keep the data for online evaluations.
      Two scenarios for multiple instructors:
      1) all of the co-instructors may be evaluated online as a group,
         sharing the eval URL.
      2) each co-instructor may be evaluated individually,
         with separate eval URLs.
      """
      if data is None:
          return None
  
      evaluations = []
      collection_items = data.get('collection').get('items')
      for item in collection_items:
          item_meta = item.get('meta')
          type = _get_item_type(item_meta)
          if type == "evaluation":
              delivery_data = item.get('data')
  
              evaluation = Evaluation()
              evaluation.domain = get_domain(item.get('href'))
              evaluation.eval_status = \
                  get_value_by_name(delivery_data, 'status')
              evaluation.eval_open_date = get_open_date(delivery_data)
              evaluation.eval_close_date = get_close_date(delivery_data)
              evaluation.report_available_date = get_report_available_date(
                  delivery_data)
              evaluation.eval_url = get_eval_url(item.get('links'))
              evaluation.report_url = get_report_url(item.get('links'))
              section, instructors, completion =\
                  _get_child_items(_get_child_ids(item_meta),
                                   collection_items)
              evaluation.section_sln = get_section_sln(section)
              evaluation.instructor_ids = instructors
              evaluation.is_completed = get_is_complete(completion)
              evaluation.response_rate = get_response_rate(delivery_data)
              evaluation.delivery_method = get_value_by_name(
                  delivery_data, 'deliveryMethod')
              evaluations.append(evaluation)
  
      return evaluations