<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def set_status(self, new_status):
        '''
        Set the status of the report.

        :param new_status: the new status of the report (either PASSED, FAILED or ERROR)
        '''
        if new_status not in Report.allowed_statuses:
            raise Exception('status must be one of: %s' % (', '.join(Report.allowed_statuses)))
        self._data_fields['status'] = new_status.lower()