code: def process_form(self, instance, field, form,
                       empty_marker=None, emptyReturnsMarker=False):
          
          values = {}
  
          # Process settings from the reference definition first
          ref_def = form.get("ReferenceDefinition")
          ref_def_uid = ref_def and ref_def[0]
          if ref_def_uid:
              ref_def_obj = api.get_object_by_uid(ref_def_uid)
              ref_results = ref_def_obj.getReferenceResults()
              # store reference results by UID to avoid duplicates
              rr_by_uid = dict(map(lambda r: (r.get("uid"), r), ref_results))
              values.update(rr_by_uid)
  
          # selected services
          service_uids = form.get("uids", [])
  
          for uid in service_uids:
              result = self._get_spec_value(form, uid, "result")
              if not result:
                  # User has to set a value for result subfield at least
                  continue
  
              # If neither min nor max have been set, assume we only accept a
              # discrete result (like if % of error was 0).
              s_min = self._get_spec_value(form, uid, "min", result)
              s_max = self._get_spec_value(form, uid, "max", result)
  
              service = api.get_object_by_uid(uid)
              values[uid] = {
                  "keyword": service.getKeyword(),
                  "uid": uid,
                  "result": result,
                  "min": s_min,
                  "max": s_max
              }
  
          return values.values(), {}
docs: Return a list of dictionaries fit for ReferenceResultsField
          consumption. Only services which have float()able entries in result,min
          and max field will be included. If any of min, max, or result fields
          are blank, the row value is ignored here.