def search_month_for_words_crude(year, month, keywords, connection, exc=[]): reportlist = reportstatgen.take_monthly_data_crude(connection, year, month) result = [] for item in reportlist: if diag_match_crude(keywords, item[1] + item[2], exclusion=exc): result.append(item) return result
def search_month_for_words_acid_pos(year, month, connection, exc=[]): reportlist = reportstatgen.take_monthly_data_crude(connection, year, month) result = [] for item in reportlist: if "病理號" in item[2]: descolumn = item[2].split("病理號")[0] else: descolumn = item[2] if diag_match_acid(item[1] + descolumn) == AFSPOS: result.append((item[0], item[1], descolumn, item[3])) return result
def search_month_for_words_re(year, month, expression, connection, exc=[]): reportlist = reportstatgen.take_monthly_data_crude(connection, year, month) result = [] for item in reportlist: if "病理號" in item[2]: descolumn = item[2].split("病理號")[0] else: descolumn = item[2] match = diag_match_re(expression, item[1] + descolumn) if match: result.append((item[0], match.group(0), item[1], descolumn)) return result
def breastclassify_month(year, month, connection, exc=[]): reportlistin = reportstatgen.take_monthly_data_crude( connection, year, month) reportlistout = reportstatgen.take_monthly_data_crude_p( connection, year, month) reportlistsouth = reportstatgen.take_monthly_data_crude_n( connection, year, month) reportlist = reportlistin + reportlistout + reportlistsouth result = [] for item in reportlist: container = { reportreader.AGE_COLUMN: [], reportreader.DIAG_COLUMN: [], reportreader.DESC_COLUMN: [], reportreader.REF_COLOMN: [], reportreader.PATHOLOGYNO: [] } container[reportreader.PATHOLOGYNO] = item[0] container[reportreader.DIAG_COLUMN] = item[1].split("|") container[reportreader.DESC_COLUMN] = item[2].split("|") breastresult = breastanalysis.breast_classify(container) if breastresult == None: continue elif breastresult[0] == breastmacro.BREAST: ihcresult = breastanalysis.find_erprher(container) output = {} output[reportreader.PATHOLOGYNO] = container[ reportreader.PATHOLOGYNO] output[breastmacro.BREASTCLASS] = breastresult[1] output[reportreader.DIAGNOSIS] = breastresult[2] output[breastmacro.ER] = ihcresult[breastmacro.ER] output[breastmacro.PR] = ihcresult[breastmacro.PR] output[breastmacro.HERTWO] = ihcresult[breastmacro.HERTWO] output[breastmacro.AR] = ihcresult[breastmacro.AR] result.append(output) elif breastresult[2] == breastmacro.METAC: #ihcresult = breastanalysis.find_erprher(container) origin = " ".join(container[reportreader.DESC_COLUMN]) print(origin) match = re.search("[Ii]mmu.*\.", origin) ihctext = None if match: ihctext = match.group(0).split(")") print(ihctext) ihcresult = breastanalysis.find_erprher_meta(ihctext) print(ihcresult) output = {} output[reportreader.PATHOLOGYNO] = container[ reportreader.PATHOLOGYNO] output[breastmacro.BREASTCLASS] = breastresult[1] output[reportreader.DIAGNOSIS] = breastmacro.METAC output[breastmacro.ER] = ihcresult[breastmacro.ER] output[breastmacro.PR] = ihcresult[breastmacro.PR] output[breastmacro.HERTWO] = ihcresult[breastmacro.HERTWO] output[breastmacro.AR] = ihcresult[breastmacro.AR] output[reportreader.DIAG_COLUMN] = container[ reportreader.DIAG_COLUMN] output[reportreader.DESC_COLUMN] = container[ reportreader.DESC_COLUMN] if "axilla" in ",".join(container[reportreader.DIAG_COLUMN]): output[META_CATEGORY] = META_AXILLARY else: output[META_CATEGORY] = META_DISTANT if ihctext: output["ihctext"] = ihctext else: output["ihctext"] = "None" #print(output) result.append(output) return result