def row(self):
        """
        Box Score Dataset(Row)
        :return: {
            'retro_game_id': Retrosheet Game id
            'home_team_id': Home Team Id
            'away_team_id': Away Team Id
            'home_lineup_[1-9]_id': Starting Member Player Id(Home)
            'home_lineup_[1-9]_name': Starting Member Player Box Name(Home)
            'home_lineup_[1-9]_pos': Starting Member Player Position(Home)
            'home_batter': Home Batters(JSON)
            'home_batter': Home Pitchers(JSON)
            'away_lineup_[1-9]_id': Starting Member Player Id(Away)
            'away_lineup_[1-9]_name': Starting Member Player Box Name(Away)
            'away_lineup_[1-9]_pos': Starting Member Player Position(Away)
            'away_batter': Away Batters(JSON)
            'away_batter': Away Pitchers(JSON)
        }
        """
        row = OrderedDict()
        row['retro_game_id'] = self.retro_game_id
        row['home_team_id'] = self.home_team_id
        row['away_team_id'] = self.away_team_id
        for b in self.home_batting:
            if not b['starting']:
                continue
            row['home_lineup_{bo}_id'.format(**b)] = b.get('id')
            row['home_lineup_{bo}_name'.format(**b)] = b.get('box_name')
            row['home_lineup_{bo}_pos'.format(**b)] = b.get('pos')
        row['home_batter'] = json.dumps(self.home_batting)
        row['home_pitcher'] = json.dumps(self.home_pitching)
        for b in self.away_batting:
            if not b['starting']:
                continue
            row['away_lineup_{bo}_id'.format(**b)] = b.get('id')
            row['away_lineup_{bo}_name'.format(**b)] = b.get('box_name')
            row['away_lineup_{bo}_pos'.format(**b)] = b.get('pos')
        row['away_batter'] = json.dumps(self.away_batting)
        row['away_pitcher'] = json.dumps(self.away_pitching)
        return row