code: def parse(self):
          
  
          # convert the xlsx file to csv first
          delimiter = "|"
          csv_file = self.xlsx_to_csv(self.getInputFile(), delimiter=delimiter)
          reader = csv.DictReader(csv_file, delimiter=delimiter)
  
          for n, row in enumerate(reader):
              resid = row.get("SampleID", None)
              serial = row.get("SerialNumber", None)
              # Convert empty values as "Invalid"
              value = row.get("Value", None) or "Invalid"
  
              # no resid and no serial
              if not any([resid, serial]):
                  self.err("Result identification not found.", numline=n)
                  continue
  
              rawdict = row
              rawdict["Value"] = value.rstrip(" cps/ml")
              rawdict['DefaultResult'] = 'Value'
  
              # HEALTH-567 correction factor for calculation
              # XXX HEALTH-567 Is this just for nmrl?
              if 'Plasma' in rawdict.get('Matrix', 'Other'):
                  rawdict['CF'] = 1  # report value as-is
              else:
                  rawdict['CF'] = 1.82  # report value * 1.82
  
              key = resid or serial
              testname = row.get("Product", "EasyQDirector")
              self._addRawResult(key, {testname: rawdict}, False)
docs: parse the data