code: def getDefaultUncertainty(self, result=None):
          
  
          if result is None:
              result = self.getResult()
  
          uncertainties = self.getUncertainties()
          if uncertainties:
              try:
                  res = float(result)
              except (TypeError, ValueError):
                  # if analysis result is not a number, then we assume in range
                  return None
  
              for d in uncertainties:
                  _min = float(d['intercept_min'])
                  _max = float(d['intercept_max'])
                  if _min <= res and res <= _max:
                      if str(d['errorvalue']).strip().endswith('%'):
                          try:
                              percvalue = float(d['errorvalue'].replace('%', ''))
                          except ValueError:
                              return None
                          uncertainty = res / 100 * percvalue
                      else:
                          uncertainty = float(d['errorvalue'])
  
                      return uncertainty
          return None
docs: Return the uncertainty value, if the result falls within
          specified ranges for the service from which this analysis was derived.