def tumour_biopsy_data(self): module_name = "tumour_biopsy_data" columns_list = names(module_name) df_cols = columns_list[:-2] data_list_df = pd.DataFrame(columns=df_cols) try: ihc_biopsy = sql.get_value(col_name='IHC_report_PCCM_yes_no', table=self.table, file_number=self.file_number, cursor=self.cursor) except sqlite3.Error: ihc_biopsy = ask.ask_y_n_na("Is the IHC report available?", yes_ans="IHC_report_PCCM_yes", no_ans="IHC_report_PCCM_no", na_ans="IHC Not Done") check = False while not check: try: breast_biopsy = sql.get_value(col_name='Breast_Biopsy', table=self.table, file_number=self.file_number, cursor=self.cursor) except sqlite3.Error: breast_biopsy = ask.ask_option('Breast that biopsy has been done for', ['Right Breast', 'Left Breast', 'Unilateral', "Bilateral"]) breasts = BlockDescription.breast_list(breast_biopsy) for breast in breasts: check_breast = False while not check_breast: print('Please input all data for ' + breast + ' block only') tumour_er, tumour_er_percent, tumour_pr, tumour_pr_percent, tumour_her2, tumour_her2_grade, \ tumour_fish, tumour_ki67 = (ihc_biopsy, )* 8 if ihc_biopsy == 'IHC_report_PCCM_yes': ihc_data = BlockDescription.ihc_report() tumour_er, tumour_er_percent, tumour_pr, tumour_pr_percent, tumour_her2, tumour_her2_grade, \ tumour_fish, tumour_ki67 = ihc_data fnac = ask.ask_y_n_na(question=("Lymph Node biopsy FNAC for " + breast), yes_ans="Lymph_Node_biopsy_FNAC_yes", no_ans="Lymph_Node_biopsy_FNAC_no", na_ans="Data not in report") fnac_location, fnac_diagnosis = (fnac,) * 2 if fnac == "Lymph_Node_biopsy_FNAC_yes": fnac_location = input("Please enter lymph node biopsy location: ") fnac_diagnosis = ask.ask_option("Lymph Node biopsy diagnosis", ["Lymph_Node_biopsy_malignant", "Lymph_Node_biopsy_non_malignant", "Data not in report"]) df_data = [tumour_er, tumour_er_percent, tumour_pr, tumour_pr_percent, tumour_her2, tumour_her2_grade, tumour_fish, tumour_ki67, fnac, fnac_location, fnac_diagnosis] print('Data entered for ' + breast + 'is as follows:\n') check_breast = sql.review_input(self.file_number, df_cols, df_data) data_list_df.loc[breast] = df_data data_list = BlockDescription.rb_lb_data(data_list_df, df_cols) check = sql.review_input(self.file_number, columns_list, data_list) last_update = datetime.now().strftime("%Y-%b-%d %H:%M") data_list = data_list+[last_update]+[self.user_name] return data_list
def biopsy_report_info(self, file_number='test'): module_name = "biopsy_report_info" df_cols = names('biopsy_report_info_df') data_list_df = pd.DataFrame(columns=df_cols) check = False while not check: biopsy_report_pccm = ask.ask_y_n_na("Is the biopsy report available?", yes_ans="Biopsy_report_PCCM_yes", no_ans="Biopsy_report_PCCM_no", na_ans="Biopsy Not Done") ihc_report_pccm = ask.ask_y_n_na("Is the IHC report available?", yes_ans="IHC_report_PCCM_yes", no_ans="IHC_report_PCCM_no", na_ans="IHC Not Done") breast_biopsy = biopsy_report_pccm data_list = [biopsy_report_pccm] * 11 data_list_df.loc[biopsy_report_pccm] = data_list if biopsy_report_pccm == 'Biopsy_report_PCCM_yes': data_list_df, breast_biopsy = BiopsyData.biopsy_details(self, df_cols) data_all = BlockDescription.rb_lb_data(data_list_df, df_cols) data_list = [biopsy_report_pccm, ihc_report_pccm, breast_biopsy]+data_all columns_list = names(module_name) check = sql.review_input(file_number, columns_list, data_list) return data_list