docs: 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