refactor calculateDOIDataFile()