code: def medlineRecordParser(record):
      
      tagDict = collections.OrderedDict()
      tag = 'PMID'
      mostRecentAuthor = None
      for lineNum, line in record:
          tmptag = line[:4].rstrip()
          contents = line[6:-1]
          if tmptag.isalpha() and line[4] == '-':
              tag = tmptag
              if tag == 'AU':
                  mostRecentAuthor = contents
              if tag in authorBasedTags:
                  contents = "{} : {}".format(mostRecentAuthor, contents)
              try:
                  tagDict[tag].append(contents)
              except KeyError:
                  tagDict[tag] = [contents]
          elif line[:6] == '      ':
              tagDict[tag][-1] += '\n' + line[6:-1]
          elif line == '\n':
              break
          else:
              raise BadPubmedRecord("Tag not formed correctly on line {}: '{}'".format(lineNum, line))
      return tagDict
docs: The parser [`MedlineRecord`](../classes/MedlineRecord.html#metaknowledge.medline.MedlineRecord) use. This takes an entry from [medlineParser()](#metaknowledge.medline.medlineHandlers.medlineParser) and parses it a part of the creation of a `MedlineRecord`.
  
      # Parameters
  
      _record_ : `enumerate object`
  
      > a file wrapped by `enumerate()`
  
      # Returns
  
      `collections.OrderedDict`
  
      > An ordered dictionary of the key-vaue pairs in the entry