def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.raise_if_both_ago_and_actual_date() if (self.subject_screening.clinic_type in [HIV_CLINIC] and self.cleaned_data.get("receives_care") != YES): raise forms.ValidationError({ "receives_care": ("Patient was screened from an HIV clinic, expected `Yes`."), }) self.applicable_if(YES, field="receives_care", field_applicable="clinic") self.required_if(OTHER, field="clinic", field_required="clinic_other") self.required_if(YES, field="receives_care", field_required="arv_initiated") self.validate_art_initiation_date() self.required_if(YES, field="arv_initiated", field_required="has_vl") self.validate_viral_load() self.required_if(YES, field="arv_initiated", field_required="has_cd4") self.validate_cd4()
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.not_required_if(NEVER, field="last_missed_pill", field_required="missed_pill_reason") self.m2m_other_specify(m2m_field="missed_pill_reason", field_other="other_missed_pill_reason")
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) raise_if_intervention_site_without_icc_registration() self.clean_health_messages_and_advice() self.clean_pharmacy_services() self.clean_managing_clinic_records_and_appointments() self.clean_laboratory_services()
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.validate_care_delivery() self.validate_bp_reading( "sys_blood_pressure", "dia_blood_pressure", )
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.raise_if_both_ago_and_actual_date() self.required_if(DRUGS, field="managed_by", field_required="med_start_ago") if self.cleaned_data.get("med_start_ago") and self.cleaned_data.get( "dx_ago"): if self.estimated_date_from_ago( "med_start_ago") < self.estimated_date_from_ago("dx_ago"): raise forms.ValidationError( {"med_start_ago": "Invalid. Cannot be before diagnosis."})
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) raise_if_intervention_site_without_icc_registration() self.clean_education() self.required_if(NO, field="is_highest_earner", field_required="highest_earner") self.clean_recv_drugs_by_duration("month") self.clean_non_drug_activities_by_duration("month") self.validate_other_specify( field="missed_routine_activities", other_specify_field="missed_routine_activities_other", ) self.required_if( YES, field="lost_income", field_required="lost_income_amount", ) self.applicable_if(YES, field="childcare", field_applicable="childcare_source") self.validate_other_specify( field="childcare_source", other_specify_field="childcare_source_other") self.validate_other_specify(field="transport", other_specify_field="transport_other") self.clean_recv_drugs_by_duration("today") self.clean_non_drug_activities_by_duration("today") self.required_if(YES, field="health_insurance", field_required="health_insurance_cost") self.required_if(YES, field="patient_club", field_required="patient_club_cost")
def clean(self): raise_if_clinical_review_does_not_exist(self.cleaned_data.get("subject_visit")) self.validate_care_delivery() art_init_date = art_initiation_date( subject_identifier=self.subject_identifier, report_datetime=self.report_datetime, ) self.applicable_if_true( not art_init_date, field_applicable="arv_initiated", applicable_msg="Subject was NOT previously reported as on ART.", not_applicable_msg="Subject was previously reported as on ART.", ) self.required_if( YES, field="arv_initiated", field_required="arv_initiation_actual_date" )
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.required_if_true( is_baseline(self.cleaned_data.get("subject_visit")), field_required="weight", inverse=False, ) self.required_if_true( is_baseline(self.cleaned_data.get("subject_visit")), field_required="height", inverse=False, ) self.required_if(YES, field="r1_taken", field_required="sys_blood_pressure_r1") self.required_if(NO, field="r1_taken", field_required="r1_reason_not_taken") self.required_if(YES, field="r1_taken", field_required="dia_blood_pressure_r1") self.validate_bp_reading( "sys_blood_pressure_r1", "dia_blood_pressure_r1", ) if self.cleaned_data.get( "r2_taken") == NOT_REQUIRED and self.htn_initial_review: raise forms.ValidationError({ "r2_taken": "Invalid. Expected YES or NO. Patient is hypertensive." }) self.required_if(NO, field="r2_taken", field_required="r2_reason_not_taken") self.required_if(YES, field="r2_taken", field_required="sys_blood_pressure_r2") self.required_if(YES, field="r2_taken", field_required="dia_blood_pressure_r2") self.validate_bp_reading( "sys_blood_pressure_r2", "dia_blood_pressure_r2", )
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.required_if(YES, field="stroke", field_required="stroke_date") self.required_if(YES, field="heart_attack", field_required="heart_attack_date") self.required_if(YES, field="renal_disease", field_required="renal_disease_date") self.required_if(YES, field="vision", field_required="vision_date") self.required_if(YES, field="numbness", field_required="numbness_date") self.required_if(YES, field="foot_ulcers", field_required="foot_ulcers_date") self.required_if(YES, field="complications", field_required="complications_other")
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) raise_if_intervention_site_without_icc_registration() self.clean_education() self.clean_recv_drugs_by_duration("month") self.clean_recv_drugs_by_duration("today") self.required_if(YES, field="health_insurance", field_required="health_insurance_cost") self.required_if(YES, field="patient_club", field_required="patient_club_cost")
def clean(self): if self.cleaned_data.get("subject_visit"): raise_if_baseline(self.cleaned_data.get("subject_visit")) raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.validate_drawn_date_by_dx_date(HIV, "HIV infection")
def clean(self): if self.cleaned_data.get("subject_visit"): raise_if_baseline(self.cleaned_data.get("subject_visit")) raise_if_clinical_review_does_not_exist(self.cleaned_data.get("subject_visit")) self.validate_drawn_date_by_dx_date(DM, "Diabetes", drawn_date_fld="glucose_date") self.validate_glucose_test()
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit"))
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.required_if_true( icc_registered( report_datetime=self.cleaned_data.get("report_datetime")), field_required="integrated_clinic_appt_date", ) self.date_not_before( "report_datetime", "integrated_clinic_appt_date", convert_to_date=True, ) if not icc_registered( report_datetime=self.cleaned_data.get("report_datetime")): # hiv_clinic_appt_date condition = ( self.clinic_type == HIV_CLINIC or HivInitialReview.objects.filter( subject_visit__appointment__subject_identifier=self. subject_identifier, subject_visit__report_datetime__lte=self.cleaned_data.get( "report_datetime"), ).exists()) self.required_if_true(condition, field_required="hiv_clinic_appt_date") self.date_not_before( "report_datetime", "hiv_clinic_appt_date", convert_to_date=True, ) ncd_condition = (DmInitialReview.objects.filter( subject_visit__appointment__subject_identifier=self. subject_identifier, subject_visit__report_datetime__lte=self.cleaned_data.get( "report_datetime"), ).exists() or HtnInitialReview.objects.filter( subject_visit__appointment__subject_identifier=self. subject_identifier, subject_visit__report_datetime__lte=self.cleaned_data.get( "report_datetime"), ).exists()) self.required_if_true( ncd_condition and self.clinic_type == NCD_CLINIC, field_required="ncd_clinic_appt_date", ) self.date_not_before( "report_datetime", "ncd_clinic_appt_date", convert_to_date=True, ) self.required_if_true( ncd_condition and self.clinic_type == DIABETES_CLINIC, field_required="dm_clinic_appt_date", ) self.date_not_before( "report_datetime", "dm_clinic_appt_date", convert_to_date=True, ) self.required_if_true( ncd_condition and self.clinic_type == HYPERTENSION_CLINIC, field_required="htn_clinic_appt_date", ) self.date_not_before( "report_datetime", "htn_clinic_appt_date", convert_to_date=True, )
def clean(self): raise_if_clinical_review_does_not_exist( self.cleaned_data.get("subject_visit")) self.validate_care_delivery() self.validate_glucose_test()