def compile_fetch(self, raw, doi_id):
        """
        Loop over Raw and add selected items to Fetch with proper formatting
        :param dict raw: JSON data from doi.org
        :param str doi_id:
        :return dict:
        """
        fetch_dict = OrderedDict()
        order = {'author': 'author', 'type': 'type', 'identifier': '', 'title': 'title', 'journal': 'container-title',
                'pubYear': '', 'volume': 'volume', 'publisher': 'publisher', 'page':'page', 'issue': 'issue'}

        for k, v in order.items():
            try:
                if k == 'identifier':
                    fetch_dict[k] = [{"type": "doi", "id": doi_id, "url": "http://dx.doi.org/" + doi_id}]
                elif k == 'author':
                    fetch_dict[k] = self.compile_authors(raw[v])
                elif k == 'pubYear':
                    fetch_dict[k] = self.compile_date(raw['issued']['date-parts'])
                else:
                    fetch_dict[k] = raw[v]
            except KeyError as e:
                # If we try to add a key that doesn't exist in the raw dict, then just keep going.
                logger_doi_resolver.warn("compile_fetch: KeyError: key not in raw: {}, {}".format(v, e))
        return fetch_dict
Loop over Raw and add selected items to Fetch with proper formatting
        :param dict raw: JSON data from doi.org
        :param str doi_id:
        :return dict: