Ejemplo n.º 1
0
 def mri_mass(self, mass_id):
     check = False
     data_list = ask.default_data_list(self.col_list)
     while not check:
         if self.mammo_breast == "bilateral":
             mass_location = ask.ask_option("Location of mass " + str(
                                            mass_id), RadioTables.breast)
         else:
             mass_location = self.mammo_breast
         check_t1_t2 = ask.ask_y_n('Are both T1 and T2 image analysis'
                                   'available for this mass?')
         type_of_imaging = ['T1', 'T2']
         if not check_t1_t2:
             type_of_imaging = ask.ask_list('Observation of this mass is a'
                                            'result of which type of'
                                            'imaging? ',
                                            RadioTables.mri_image_type)
         data_list = self.mri_mass_detail(type_of_imaging, mass_id)
         if type_of_imaging in {'T1', 'T2'}:
             data_list = [('{0}_{1}'.format(type_of_imaging, data)) for
                          data in data_list]
         mass_name = "Lesion " + str(mass_id)
         data_list = [self.file_number, mass_location, mass_name]+data_list
         check = sql.review_input(self.file_number, columns=self.col_list,
                                  data=data_list)
         data_list = [data_list] + [self.user_name, sql.last_update()]
         data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 2
0
 def mammo_mass(self, mass_id):
     print(self.table, mass_id)
     check = False
     data_list = ask.default_data_list(self.col_list)
     while not check:
         mass_location = self.mammo_breast
         if self.mammo_breast == "bilateral":
             mass_location = ask.ask_option("Location of mass "
                                            + str(mass_id),
                                            RadioTables.breast)
         mass_quadrant = ask.ask_list('Quadrant location of lesion',
                                      Radio.lesion_quadrant)
         mammo_mass_shape = ask.ask_option("Shape of mass",
                                           RadioTables.mass_shape)
         mammo_mass_margin = ask.ask_option("Margins of mass",
                                            RadioTables.mass_margin)
         mass_nipple = input("Distance from nipple (cm): ")
         mass_dimension,
         mass_size_unit,
         mass_longest_dimension = self.lesion_size()
         modality = self.table
         data_list = [self.file_number, mass_location, mass_name,
                      mass_quadrant, mammo_mass_shape, mammo_mass_margin,
                      mass_nipple, mass_dimension, mass_longest_dimension,
                      mass_size_unit, modality]
         check = sql.review_input(self.file_number, columns=self.col_list,
                                  data=data_list)
         data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 3
0
 def mammo_mass(self, mass_id):
     data_list = ask.default_data_list(self.col_list)
     mass_location = self.mammo_breast
     if self.mammo_breast == "bilateral":
         mass_location = gf.get_choice(RadioTables.breast)
     mass_quadrant = gf.get_choice(Radio.lesion_quadrant)
     mammo_mass_shape = gf.get_choice(RadioTables.mass_shape)
     mammo_mass_margin = gf.get_choice(RadioTables.mass_margin)
     mass_nipple = gf.get_number(10)
     size_input = gf.get_choice(['3d', '2d'])
     x = gf.get_number_lt(1, 10)
     y = gf.get_number_lt(1, 10)
     z = gf.get_number_lt(1, 10)
     if size_input == '3d':
         mass_dimension = [str(x) + ' x ' + str(y) + ' x ' + str(z)]
         mass_longest_dimension = max([x, y, z])
     elif size_input == '2d':
         mass_dimension = [str(x) + ' x ' + str(y)]
         mass_longest_dimension = max([x, y])
     mass_size_unit = gf.get_choice(RadioTables.mass_units)
     mass_name = "lesion_" + str(mass_id)
     modality = self.table
     data_list = [
         self.file_number, mass_location, mass_name, mass_quadrant,
         mammo_mass_shape, mammo_mass_margin, mass_nipple, mass_dimension,
         mass_longest_dimension, mass_size_unit, modality
     ]
     data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 4
0
 def report(self):
     data_list = ask.default_data_list(self.col_list_all)
     check = False
     while not check:
         reason_report = ask.ask_option(
             "What is the purpose of this report"
             "?", MultiTest.test_reason_imaging)
         report_date = ask.check_date("Date of examination of ABVS: ")
         abvs_acc = input("Accession number of ABVS: ")
         abvs_lesion = ask.ask_option("Location of lesion",
                                      MultiTest.breast_cancer)
         if abvs_lesion in {MultiTest.breast_cancer}:
             abvs_lesion_data = radio_tables.lesion_location(abvs_lesion)
         else:
             abvs_lesion_data = "NA"
         abvs_size = ask.ask_option("Size of lesion",
                                    ["<2 cm", "2-5 cm", ">5 cm", "Other"])
         abvs_dist = ask.ask_option("Distance from Skin (cm)",
                                    ["<0.5 cm", ">0.5 cm", "Other"])
         abvs_pect = input("Distance from Pectoralis Major (cm): ")
         abvs_diagnosis = ask.ask_option("ABVS Diagnosis", Radio.diagnosis)
         data_list = [
             self.file_number, reason_report, report_date, abvs_acc,
             abvs_lesion, abvs_lesion_data, abvs_size, abvs_dist, abvs_pect,
             abvs_diagnosis
         ]
         check = sql.review_input(self.file_number, self.col_list_all[:-2],
                                  data_list)
     data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 5
0
 def usg_mass(self, mass_id):
     print(self.table, mass_id)
     check = False
     data_list = ask.default_data_list(self.col_list)
     while not check:
         mass_location = self.mammo_breast
         if self.mammo_breast == "bilateral":
             mass_location = ask.ask_option("Location of mass "
                                            + str(mass_id),
                                            RadioTables.breast)
         location_clock = ask.check_number_input("What is the clock"
                                                 "position of mass "
                                                 + str(mass_id) + "?",
                                                 'Please enter only numbers'
                                                 ' additional paramters '
                                                 'can be entered '
                                                 'next')
         location_add = input('Additional parameters for clock position')
         location_clock = location_clock + location_add + " o'clock"
         mass_quadrant = 'data_not_available'
         quad = ask.ask_y_n('Is the quadrant location given?')
         if quad:
             mass_quadrant = ask.ask_list('what is the quadrant location',
                                          Radio.lesion_quadrant)
         mass_shape = ask.ask_list("Shape of mass " + str(mass_id),
                                   RadioTables.mass_shape)
         mass_name = "lesion_" + str(mass_id)
         mass_dimension,
         mass_size_unit,
         mass_longest_dimension = self.lesion_size()
         mass_margin = ask.ask_option("Margin of mass " + str(mass_id),
                                      RadioTables.mass_margin_usg)
         mass_echo = ask.ask_option("Echo pattern of mass " + str(mass_id),
                                    RadioTables.mass_echo)
         mass_id = "Mass " + str(mass_id)
         modality = self.table
         data_list = [self.file_number, mass_name, mass_location,
                      location_clock, mass_quadrant, mass_shape,
                      mass_margin, mass_echo, mass_dimension,
                      mass_longest_dimension, mass_size_unit, modality]
         check = sql.review_input(self.file_number, columns=self.col_list,
                                  data=data_list)
         data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 6
0
 def mri_mass_detail(self, image_type, mass_id):
     print(self.table, mass_id)
     data_list = ask.default_data_list(self.col_list)
     check = False
     while not check:
         non_mass = ask.ask_y_n('Is the enhancement non-mass?')
         enhancement_type = 'mass'
         if non_mass:
             enhancement_type = 'non_mass'
         location_clock = input("What is the clock position of mass "
                                + str(mass_id) + "? (Enter NA if clock"
                                "position not available)")
         if location_clock != 'NA':
             location_clock = location_clock + " o'clock"
         mass_quadrant = ask.ask_option('Quadrant location of mass',
                                        Radio.lesion_quadrant)
         mass_shape = ask.ask_option("Shape of mass " + str(mass_id),
                                     RadioTables.mass_shape)
         mass_margin = ask.ask_option("Margin of mass " + str(mass_id),
                                      RadioTables.mass_margin_mri)
         mass_dimension,
         mass_size_unit,
         mass_longest_dimension = self.lesion_size()
         mass_echo = ask.ask_option("Internal enhancement characteristics"
                                    " " + str(mass_id),
                                    RadioTables.mass_iec)
         mass_id = "Mass " + str(mass_id)
         modality = self.table
         data_list = [mass_id, image_type, enhancement_type, location_clock,
                      mass_quadrant, mass_shape,  mass_margin,
                      mass_echo, mass_dimension,
                      str(mass_longest_dimension), mass_size_unit, modality]
         col_list = self.col_list[3:]
         check = sql.review_input(self.file_number, columns=col_list,
                                  data=data_list)
         data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 7
0
 def report(self):
     data_list = ask.default_data_list(self.col_list_all[1:])
     check_mammo = gf.get_choice(MultiTest.test_reason)
     reason_report = check_mammo
     mammo = gf.get_bool()
     if mammo:
         tomo = gf.get_bool()
         if tomo:
             tomography_y_n = "Yes"
         else:
             tomography_y_n = "No"
         report_date = gf.gen_date('2019-03-13')
         mammo_place = gf.get_choice(["PCCM", "Outside"])
         if mammo_place == "Outside":
             mammography_place = names.get_full_name()
         else:
             mammography_place = mammo_place
         mammography_indication = gf.get_choice(Radiology.mammo_indication)
         mammography_breast = gf.get_choice(MultiTest.breast_cancer)
         mammo_mass = gf.get_bool()
         mass_all = []
         mass_data = ['no_mass_detected']
         mass_all.append(mass_data)
         mammography_massnumber = "No mass detected"
         mammography_masslocation = "No mass detected"
         mammography_massshape = "No mass detected"
         mammography_massmargin = "No mass detected"
         mammography_massnipple_cm = "No mass detected"
         mammography_masssize = "No mass detected"
         mammography_masssize_unit = "No mass detected"
         mass_longest_dimension = 'na'
         if mammo_mass:
             mass_breast = gf.get_choice(MultiTest.breast_cancer)
             mass = radio_tables.MassCalcification(self.table, mass_breast,
                                                   self.file_number,
                                                   self.user_name)
             mammography_massnumber, mass_dat = mass.multiple_mass()
             [
                 mammography_masslocation, mass_name, mass_quadrant,
                 mammography_massshape, mammography_massmargin,
                 mammography_massnipple_cm, mammography_masssize,
                 mass_longest_dimension, mammography_masssize_unit, modality
             ] = mass_dat[1:]
         mammography_calcificationnumber = "No Calcification detected"
         mammography_calcificationlocation = "No Calcification detected"
         mammography_calcificationtype = "No Calcification detected"
         mammography_calcification_comments = "No Calcification detected"
         calc = gf.get_bool()
         if calc:
             mammography_calcification = radio_tables.cal_table(
                 self.file_number, mammography_breast)
             (mammography_calcificationnumber,
              mammography_calcificationlocation,
              mammography_calcificationtype,
              mammography_calcification_comments
              ) = mammography_calcification
         mammography_skin_involvement = gf.get_choice(
             Radiology.skin_involvement)
         mammography_node_description = 'nodes_not_described'
         mammography_node_size = 'nodes_not_described'
         mammography_node_size_unit = 'nodes_not_described'
         node_description = gf.get_bool()
         if node_description:
             mammography_node_description = gf.get_choice(
                 Radiology.node_description)
             mammography_node_size = gf.get_number_lt(3, 10)
             mammography_node_size_unit = 'cm'
         mammo_birad = gf.get_bool()
         if mammo_birad:
             mammography_birad = radio_tables.birads()
         else:
             mammography_birad = "BI-RAD not assigned in report"
         mammography_impression = gf.get_choice(Radiology.impression)
         data_list = [
             reason_report, report_date, mammography_place,
             mammography_indication, mammography_breast,
             mammography_massnumber, mammography_masslocation,
             mammography_massshape, mammography_massmargin,
             mammography_massnipple_cm, mammography_masssize[0],
             mammography_masssize_unit, mammography_calcificationnumber,
             mammography_calcificationlocation,
             mammography_calcificationtype,
             mammography_calcification_comments,
             mammography_skin_involvement, mammography_node_description,
             mammography_node_size, mammography_node_size_unit,
             mammography_birad, mammography_impression, tomography_y_n
         ]
         data_list = [str(dat) for dat in data_list]
     data_list = [self.file_number] + data_list + [
         self.user_name, sql.last_update()
     ]
     return data_list
Ejemplo n.º 8
0
 def report(self):
     data_list = ask.default_data_list(self.col_list_all)
     check = False
     while not check:
         reason_report = ask.ask_option(
             "What is the purpose of this report?",
             MultiTest.test_reason_imaging)
         report_date = ask.check_date("Date of examination: ")
         mri_place = ask.ask_y_n("Was exam peformed at PCCM?",
                                 yes_ans="PCCM",
                                 no_ans="Outside")
         mri_breast_acc = input("Accession number of MRI: ")
         mri_breast_described = ask.ask_option("Details described for",
                                               MultiTest.breast_cancer)
         fgt_mri = ask.ask_option("Ammount of Fibroglandular Tissue", [
             "a. Almost entirely fat", "b. Scattered fibroglandular tissue",
             "d. Extreme fibroglandular tissue", "Other"
         ])
         bpe_level_mri = ask.ask_option(
             "Background parenchymal enhancement Level",
             ["Minimal", "Mild", "Moderate", "Marked", "Other"])
         bpe_symm_mri = ask.ask_option(
             "Background parenchymal enhancement Symmetry",
             ["Symmetric", "Asymmetric", "Other"])
         focus_mri = input("Details of Focus: ")
         mass_mri = ask.ask_y_n("Are masses detected?")
         if mass_mri:
             mass_mri = "Mass Detected"
             table = "mri_mass"
             mri_mass_number, mass_location, mass_shape, mass_margin, mass_internal = \
                 radio_tables.multiple_mass(table, mri_breast_described)
         else:
             mass_mri = "No Mass Detected"
             mri_mass_number, mass_location, mass_quad, mass_shape, mass_margin, mass_internal = (
                 "NA", ) * 6
         asso_feat = [
             "Nipple Retraction", "Nipple Invasion", "Skin Retraction",
             "Skin Thickening", "Axillary adenopathy",
             "Pectoralis muscle invasion", "Chest wall invasion",
             "Architectural Distortion"
         ]
         asso_feat_data = []
         for index in (asso_feat):
             print("Associated feature: " + index)
             print("Detailed description can be added by choosing 'Other'")
             var = ask.ask_option(index, MultiTest.breast_cancer)
             asso_feat_data.append(var)
         asso_feat_9 = ask.ask_option(
             "Associated Feature: Skin Invasion",
             ["Direct invasion", "Inflammatory cancer", "Other"])
         asso_feat_1, asso_feat_2, asso_feat_3, asso_feat_4, asso_feat_5, asso_feat_6, asso_feat_7, \
         asso_feat_8 = asso_feat_data
         fat_lesions = ask.ask_option("Fat Containing Lesions", [
             "Lymph nodes: Normal", "Lymph nodes: Abnormal", "Fat necrosis",
             "Hamartoma", "Postoperative seroma", "hematoma with fat"
         ])
         mri_breast_kinetics_initial = ask.ask_option(
             "Kinetic curve assessment Signal intensity "
             "(SI)/time curve description (Initial Phase)",
             ["Slow", "Medium", "Fast", "Other"])
         mri_breast_kinetics_delayed = ask.ask_option(
             "Kinetic curve assessment Signal intensity "
             "(SI)/time curve description (Delayed Phase)",
             ["Persistent", "Plateau", "Washout", "Other"])
         mri_breast_non_enhance = ask.ask_option("Non-enhancing findings", [
             "Ductal precontrast high signal on T1W", "Cyst",
             "Postoperative collections (hematoma/seroma)",
             "Post-therapy skin thickening and trabecular "
             "thickening", "Signal void from foreign bodies, "
             "clips, etc.", "Other"
         ])
         mri_breast_implant = input("Implant related findings: ")
         mri_breast_lesion = ask.ask_option("Location of lesion",
                                            MultiTest.breast_cancer)
         if mri_breast_lesion in {MultiTest.breast_cancer}:
             mri_breast_lesion_location = radio_tables.lesion_location(
                 mri_breast_lesion)
             mri_breast_lesion_depth = input("Lesion depth: ")
         else:
             mri_breast_lesion_location, mri_breast_lesion_depth = (
                 "NA", ) * 2
         mri_breast_size = ask.ask_option(
             "Size of lesion", ["<2 cm", "2-5 cm", ">5 cm", "Other"])
         mri_breast_dist = ask.ask_option("Distance from Skin (cm)",
                                          ["<0.5 cm", ">0.5 cm", "Other"])
         mri_breast_pect = input("Distance from Pectoralis Major (cm): ")
         mri_breast_birad = ask.ask_y_n(
             "Does the report include a BI-RAD assessment/Diagnosis?")
         if mri_breast_birad:
             mri_breast_birad = radio_tables.birads()
         else:
             mri_breast_birad = "No BI-RAD Category given in report"
         data_list = [
             self.file_number, reason_report, report_date, mri_place,
             mri_breast_acc, mri_breast_described, fgt_mri, bpe_level_mri,
             bpe_symm_mri, focus_mri, mass_mri, mri_mass_number,
             mass_location, mass_shape, mass_margin, mass_internal,
             asso_feat_1, asso_feat_2, asso_feat_3, asso_feat_4,
             asso_feat_5, asso_feat_6, asso_feat_7, asso_feat_8,
             asso_feat_9, fat_lesions, mri_breast_kinetics_initial,
             mri_breast_kinetics_delayed, mri_breast_non_enhance,
             mri_breast_implant, mri_breast_lesion,
             mri_breast_lesion_location, mri_breast_lesion_depth,
             mri_breast_size, mri_breast_dist, mri_breast_pect,
             mri_breast_birad
         ]
         check = sql.review_input(self.file_number, self.col_list_all[:-2],
                                  data_list)
     data_list = data_list + [self.user_name, sql.last_update()]
     return data_list
Ejemplo n.º 9
0
    def report(self):
        data_list = ask.default_data_list(self.col_list_all)
        check_mammo = ask.ask_option("What is the purpose of this report?",
                                     MultiTest.test_reason_imaging)
        reason_report = check_mammo
        check = False
        while not check:
            mammo = ask.ask_y_n("Are mammography results available for this "
                                "patient?")
            if mammo:
                tomo = ask.ask_y_n("Have 3D Tomography images also been "
                                   "acquired?")
                if tomo:
                    tomography_y_n = "Yes"
                    print("Please include 3d-Tomo observations in Mammography "
                          "results")
                else:
                    tomography_y_n = "No"
                report_date = ask.check_date("Date of mammography: ")
                mammo_place = ask.ask_y_n("Was exam peformed at PCCM?",
                                          yes_ans="PCCM",
                                          no_ans="Outside")
                if mammo_place == "Outside":
                    mammography_place = input("Please input Radiologist name "
                                              "and place (Name; Place): ")
                else:
                    mammography_place = mammo_place
                mammography_indication = input("Indication for mammography: ")
                mammography_breast = ask.ask_option("Details described for",
                                                    MultiTest.breast_cancer)
                # masscalc = radio_tables.MassCalcification(self.table,
                #   mass_breast,
                #   self.file_number,
                #   self.user_name)
                mammo_mass = ask.ask_y_n("Is there any mass/lesion detected? ")
                mass_all = []
                mass_data = ['no_mass_detected']
                mass_all.append(mass_data)
                [
                    mammography_massnumber, mammography_masslocation,
                    mammography_massshape, mammography_massmargin,
                    mammography_massnipple_cm, mammography_masssize,
                    mammography_masssize_unit
                ] = ("No mass detected", ) * 7
                if mammo_mass:
                    mass_breast = ask.ask_option(
                        'What is the location of the'
                        ' lesions?', MultiTest.breast_cancer)

                    masscalc = radio_tables.MassCalcification(
                        self.table, mass_breast, self.file_number,
                        self.user_name)
                    # mass_data = mass.multiple_mass()
                    mass_data = masscalc.multiple_mass()
                    mammography_massnumber, mammography_masslocation,
                    mammography_massshape, mammography_massmargin,
                    mammography_massnipple_cm, mammography_masssize,
                    mammography_masssize_unit = mass_data[:-2]
                mammography_calcificationnumber,
                mammography_calcificationlocation,
                mammography_calcificationtype,
                mammography_calcification_comments = ("No Calcification"
                                                      " detected", ) * 4
                calc = ask.ask_y_n("Is Calcification present?")
                if calc:
                    mammography_calcificationnumber,
                    mammography_calcificationlocation,
                    mammography_calcificationtype,
                    mammography_calcification_comments = radio_tables.cal_table(
                        self.file_number, mammography_breast)
                mammography_skin_involvement = input("Please input description"
                                                     " of skin involvement if "
                                                     "present: ")
                mammography_node_description, mammography_node_size,
                mammography_node_size_unit = ('nodes_not_described', ) * 3
                node_description = ask.ask_y_n('Does the report include '
                                               'description of nodes?')
                if node_description:
                    mammography_node_description = input('Please enter '
                                                         'description of nodes'
                                                         ': )')
                    mammography_node_size,
                    longest_dimension = ask.check_size_input()
                    mammography_node_size_unit = 'NA'
                    if mammography_node_size != 'NA':
                        mammography_node_size_unit = ask.ask_list(
                            'Unit of node size: ', MultiTest.size_unit)
                mammo_birad = ask.ask_y_n('Does the report include a BI-RAD'
                                          'assessment/diagnosis?')
                if mammo_birad:
                    mammography_birad = radio_tables.birads()
                else:
                    mammography_birad = "BI-RAD not assigned in report"
                mammography_impression = input('Input Impression(if available'
                                               '): "')
                data_list = [
                    reason_report, report_date, mammography_place,
                    mammography_indication, mammography_breast,
                    mammography_massnumber, mammography_masslocation,
                    mammography_massshape, mammography_massmargin,
                    mammography_massnipple_cm, mammography_masssize,
                    mammography_masssize_unit, mammography_calcificationnumber,
                    mammography_calcificationlocation,
                    mammography_calcificationtype,
                    mammography_calcification_comments,
                    mammography_skin_involvement, mammography_node_description,
                    mammography_node_size, mammography_node_size_unit,
                    mammography_birad, mammography_impression, tomography_y_n,
                    self.user_name, sql.last_update
                ]
                data_list = [self.file_number] + data_list
            else:
                data_list = [self.file_number] + data_list
            check = sql.review_input(self.file_number, self.col_list_all[:-2],
                                     data_list)
        data_list = data_list + [self.user_name, sql.last_update()]
        return data_list
Ejemplo n.º 10
0
    def report(self):
        data_list = ask.default_data_list(self.col_list_all)
        check = False
        while not check:
            reason_report = ask.ask_option(
                "What is the purpose of this repor"
                "t?", MultiTest.test_reason_imaging)
            report_date = ask.check_date("Date of examination of ultrsound: ")
            mammo_place = ask.ask_y_n("Was exam peformed at PCCM?",
                                      yes_ans="PCCM",
                                      no_ans="Outside")
            if mammo_place == "Outside":
                sonomammo_place = input("Please input Radiologist name and"
                                        " place (Name; Place): ")
            else:
                sonomammo_place = mammo_place
            sonomammo_breast = ask.ask_option("Details described for",
                                              MultiTest.breast_cancer)
            mass_sonomammo = ask.ask_y_n("Is there any mass detected")
            breast = sonomammo_breast
            masscalc = radio_tables.MassCalcification(self.table, breast,
                                                      self.file_number,
                                                      self.user_name)
            if mass_sonomammo:
                mass_sonomammo = 'Mass/Lesion Detected'
                table = "sonnomammography_mass"

                mass_number, sonomammo_mass_location,
                sonomammo_mass_location_clock, sonomammo_masss_shape,
                sonomammo_mass_margin, sonomammo_mass_echo,
                sonomammo_mass_size,
                sonomammo_mass_size_unit = masscalc.multiple_mass()
            else:
                mass_sonomammo, mass_number, sonomammo_mass_location,
                sonomammo_mass_location_clock, sonomammo_masss_shape,
                sonomammo_mass_margin, sonomammo_mass_echo,
                sonomammo_mass_size, sonomammo_mass_size_unit = (
                    "No Mass"
                    " Detected", ) * 9
            sonomammo_calc = ask.ask_option("Calcification",
                                            MultiTest.breast_cancer)
            if sonomammo_calc in MultiTest.breast_cancer:
                sonomammo_calc_type = ask.ask_option("Calcification location",
                                                     Radio.calcification)
            else:
                sonomammo_calc_type = "NA"
            sonomammo_vasc = ask.ask_option("Vascularity", Radio.vascularity)
            sono_birad = ask.ask_y_n(
                "Does the report include a BI-RAD assessment/Diagnosis?")
            if sono_birad:
                sonomammo_birad = radio_tables.birads()
            else:
                sonomammo_birad = "NA"
            sonomammo_impression = input("Input Impression(if available): ")
            node_description = ask.ask_y_n(
                'Does the report include description of nodes?')
            if node_description:
                sonomammo_node_description = input(
                    'Please enter description of nodes: ')
                sonomammo_node_size = input(
                    'Size of node if reported without unit (else enter NA): ')
                sonomammo_node_size_unit = input('Unit of node size')
            else:
                sonomammo_node_description, sonomammo_node_size, sonomammo_node_size_unit = (
                    'nodes_not_described', ) * 3
            data_list = [
                self.file_number, reason_report, report_date, sonomammo_place,
                sonomammo_breast, mass_sonomammo, mass_number,
                sonomammo_mass_location, sonomammo_mass_location_clock,
                sonomammo_masss_shape, sonomammo_mass_margin,
                sonomammo_mass_echo, sonomammo_mass_size,
                sonomammo_mass_size_unit, sonomammo_calc, sonomammo_calc_type,
                sonomammo_vasc, sonomammo_birad, sonomammo_node_description,
                sonomammo_node_size, sonomammo_node_size_unit,
                sonomammo_impression
            ]
            check = sql.review_input(self.file_number, self.col_list_all[:-2],
                                     data_list)
        data_list = data_list + [self.user_name, sql.last_update()]
        return data_list