コード例 #1
0
ファイル: surgery_block.py プロジェクト: dakelkar/pccm_all
 def path_stage(self):
     module_name = self.module_list[3]
     check = False
     while not check:
         category = "pT"
         options = ["is", "0", "1", "2", "3", "4", "Other"]
         pt = ask.ask_option(category, options)
         category = "pN"
         options = ["0", "1", "2", "3", "4", "Other"]
         pn = ask.ask_option(category, options)
         category = ("M")
         options = ["0", "1", "Other"]
         m = ask.ask_option(category, options)
         path_stage, clinical_stage = BlockDescription.stage(pt, pn, m)
         last_update = datetime.now().strftime("%Y-%b-%d %H:%M")
         data_list = [
             pt, pn, m, path_stage, clinical_stage, self.user_name,
             last_update
         ]
         columns_list = names(module_name)
         check = sql.review_input(self.file_number, columns_list, data_list)
     return (tuple(data_list))
コード例 #2
0
 def surgery_block_information_2(self):
     module_name = self.module_list[2]
     data_list = ['NA', ] * 18
     check = False
     while not check:
         ihc_report = BlockDescription.ihc_report(ihc_type='Tumour_surgery_block')
         surgery_er, surgery_er_percent, surgery_pr, surgery_pr_percent, surgery_her2, surgery_her2_grade, \
         surgery_fish, surgery_ki67 = ihc_report
         surgery_subtype = breast_cancer_subtype('surgery', surgery_er, surgery_pr, surgery_her2,
                                                surgery_her2_grade, surgery_fish)
         node_details = self.node_details()
         sentinel_node_number_removed, sentinel_node_number_positive, axillary_node_number_removed, \
         axillary_node_number_positive, apical_node_number_removed, apical_node_number_positive = node_details
         surgery_perinodal_spread = ask.ask_list('Perinodal Spread',
                                                 ask.create_yes_no_options
                                                 ('Perinodal Spread', not_cancer='requires_follow_up'))
         pathological_pt = input('Pathological T Status (Enter T0/T1/T2 etc as given in report): ')
         pathological_pn = input('Pathological N Status (Enter N0/N1/N2 etc as given in report): ')
         metastasis = ask.ask_y_n('Did the patient have metastasis at diagnosis?')
         nat = sql.get_value(col_name='neoadjuvant_therapy', table=self.table_name, pk=self.fk, cursor=self.cursor,
                             pk_name='fk', error_statement='what is the nact status?')
         if nat != 'nact_no':
             prefix = 'yp'
         else:
             prefix = 'p'
         pathological_stage, clinical_stage = BlockDescription.stage(pathological_pt, pathological_pn, metastasis,
                                                                     prefix)
         data_list = [surgery_er, surgery_er_percent, surgery_pr, surgery_pr_percent, surgery_her2,
                      surgery_her2_grade, surgery_fish, surgery_ki67, surgery_subtype, sentinel_node_number_removed,
                      sentinel_node_number_positive, axillary_node_number_removed, axillary_node_number_positive,
                      apical_node_number_removed, apical_node_number_positive, surgery_perinodal_spread,
                      pathological_pt, pathological_pn, str(metastasis).lower(), pathological_stage, clinical_stage,
                      self.user_name, sql.last_update()]
         columns_list = names(module_name)
         check = sql.review_input(self.file_number, columns_list[:-2], data_list[:-2])
     return data_list