def parse_data_line(self, sline):
        """
        Parses the data line and builds the dictionary.
        :param sline: a split data line to parse
        :returns: the number of rows to jump and parse the next data line or return the code error -1
        """
        # if there are less values founded than headers, it's an error
        if len(sline) != len(self._columns):
            self.err("One data line has the wrong number of items")
            return -1
        rawdict = {}
        for idx, result in enumerate(sline):
            rawdict[self._columns[idx]] = result.replace(' ', '')

        resid = rawdict['Sample ID'].replace('.', '')
        rawdict['DefaultResult'] = 'Result'
        rawdict['Remarks'] = rawdict['Sample Details']
        del rawdict['Sample Details']
        name = rawdict['Test Name'].replace('.', '')
        del rawdict['Test Name']
        self._addRawResult(resid, {name: rawdict}, False)
        return 0
Parses the data line and builds the dictionary.
        :param sline: a split data line to parse
        :returns: the number of rows to jump and parse the next data line or return the code error -1