Пример #1
0
    def is_valid(self):
        self.errors = {'count': 0}

        if self.discussion_could_not_happen:
            return True

        # check date/time (this has to be valid whether it is a draft or not)
        validate_date_time_field('bereaved_time_of_conversation', self.errors,
                                 self.year_of_conversation, self.month_of_conversation,
                                 self.day_of_conversation, self.time_of_conversation, require_not_blank=self.is_final,
                                 error_message=messages.ErrorFieldRequiredMessage("date and time of discussion"))

        # other validation is only relevant for complete posts
        if self.is_final is False:
            return True

        # check bereaved name
        if not self.use_existing_bereaved:
            validate_is_not_blank('bereaved_participant_name', self.errors, self.alternate_representative.full_name,
                                  error_message=messages.ErrorFieldRequiredMessage('participant name'))

        # check outcome details
        validate_is_not_blank('bereaved_discussion_details', self.errors, self.discussion_details,
                              error_message=messages.ErrorFieldRequiredMessage('discussion details'))

        # check outcome decision
        validate_is_not_blank('bereaved_discussion_outcome', self.errors, self.discussion_outcome,
                              error_message=messages.ErrorSelectionRequiredMessage('discussion outcome'))

        if self.discussion_outcome == self.BEREAVED_OUTCOME_CONCERNS:
            validate_is_not_blank('bereaved_outcome_concerned_outcome', self.errors, self.discussion_concerned_outcome,
                                  error_message=messages.ErrorSelectionRequiredMessage('final outcome'))

        return self.errors['count'] == 0
Пример #2
0
    def is_valid(self):
        self.errors = {'count': 0}

        # if discussion could not happen then always valid
        if self.discussion_could_not_happen == enums.yes_no.YES:
            return True

        # validate date
        validate_date_time_field('time_of_conversation', self.errors,
                                 self.year_of_conversation, self.month_of_conversation, self.day_of_conversation,
                                 self.time_of_conversation,
                                 messages.ErrorFieldRequiredMessage("date and time of conversation"),
                                 require_not_blank=self.is_final)

        # final submission only
        if self.is_final:
            if self.discussion_participant_type == enums.people.OTHER:
                # validate name
                if self.qap_discussion_name == '':
                    self.errors['count'] += 1
                    self.errors['participant'] = messages.ErrorFieldRequiredMessage('QAP name')

            # validate details
            if self.discussion_details == '':
                self.errors['count'] += 1
                self.errors['details'] = messages.ErrorFieldRequiredMessage('discussion details')

            # validate outcomes
            self.__validate_outcomes()

        return self.errors['count'] == 0
Пример #3
0
    def is_valid(self):
        self.errors = {'count': 0}
        if self.is_final:
            if self.me_thoughts.strip() == '':
                self.errors['count'] += 1
                self.errors['me_thoughts'] = messages.ErrorFieldRequiredMessage('notes')

            if self.circumstances_of_death == '' or self.circumstances_of_death is None:
                self.errors['count'] += 1
                self.errors['circumstances_of_death'] = messages.ErrorSelectionRequiredMessage('circumstance of death')

            if self.possible_cod_1a.strip() == '':
                self.errors['count'] += 1
                self.errors['possible_cod'] = messages.ErrorFieldRequiredMessage('1a')

            if self.overall_outcome == '' or self.overall_outcome is None:
                self.errors['count'] += 1
                self.errors['overall_outcome'] = messages.ErrorSelectionRequiredMessage('overall outcome')

            if self.overall_outcome == enums.outcomes.CORONER and \
                    (self.coroner_outcome == '' or self.coroner_outcome is None):
                self.errors['count'] += 1
                self.errors['coroner_outcome'] = messages.ErrorSelectionRequiredMessage('coroner outcome')

            if self.governance_review == '' or self.governance_review is None:
                self.errors['count'] += 1
                self.errors['governance_review'] = messages.ErrorSelectionRequiredMessage('clinical governance review')
            elif self.governance_review == 'Yes' and self.governance_review_text.strip() == '':
                self.errors['count'] += 1
                self.errors['governance_review'] = messages.ErrorFieldRequiredMessage('governance review notes')

        return self.errors['count'] == 0
Пример #4
0
 def is_valid(self):
     self.errors = {'count': 0}
     if self.is_final and self.medical_history_details.strip() == '':
         self.errors['count'] += 1
         self.errors['medical_history_details'] = messages.ErrorFieldRequiredMessage('medical history details')
         return False
     else:
         return True
Пример #5
0
 def is_valid(self):
     self.errors = {'count': 0}
     if self.is_final and self.more_detail.strip() == '':
         self.errors['count'] += 1
         self.errors['more_detail'] = messages.ErrorFieldRequiredMessage('more detail')
         return False
     else:
         return True
Пример #6
0
 def is_valid(self):
     self.errors = {'count': 0}
     if self.is_final and self.meo_summary_notes.strip() == '':
         self.errors['count'] += 1
         self.errors['meo_summary_notes'] = messages.ErrorFieldRequiredMessage('summary notes')
         return False
     else:
         return True
Пример #7
0
    def check_valid_final(self):
        if validate_date(self.admission_year, self.admission_month,
                         self.admission_day) is False and self.admission_date_unknown is False:
            self.errors['count'] += 1
            self.errors['date_of_last_admission'] = messages.INVALID_DATE

        if self.admission_time == '' and self.admission_time_unknown is False:
            self.errors['count'] += 1
            self.errors['time_of_last_admission'] = messages.ErrorFieldRequiredMessage('time of last admission')

        if self.coroner_referral == '':
            self.errors['count'] += 1
            self.errors['latest_admission_immediate_referral'] = messages.ErrorSelectionRequiredMessage(
                'immediate referral')

        if self.route_of_admission == '':
            self.errors['count'] += 1
            self.errors['route_of_admission'] = messages.ErrorFieldRequiredMessage('admission route')
Пример #8
0
 def __validate_outcomes(self):
     if self.outcome == '':
         self.errors['count'] += 1
         self.errors['outcome'] = messages.ErrorSelectionRequiredMessage('discussion outcome')
     elif self.outcome == enums.outcomes.MCCD:
         if self.outcome_decision == '':
             self.errors['count'] += 1
             self.errors['outcome_decision'] = messages.ErrorSelectionRequiredMessage('mccd outcome')
         elif self.outcome_decision in [enums.outcomes.MCCD_FROM_QAP_AND_ME,
                                        enums.outcomes.MCCD_FROM_QAP] and self.cause_of_death.section_1a == '':
             self.errors['count'] += 1
             self.errors['1a'] = messages.ErrorFieldRequiredMessage('revised cause of death')
     elif self.outcome == enums.outcomes.CORONER:
         if self.coroner_decision == '':
             self.errors['count'] += 1
             self.errors['coroner_decision'] = messages.ErrorSelectionRequiredMessage('coroner outcome')