Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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