|
import os |
|
import pandas as pd |
|
import gradio as gr |
|
|
|
|
|
|
|
|
|
|
|
def MatchLOINC(name): |
|
basedir = os.path.dirname(__file__) |
|
pd.set_option("display.max_rows", None) |
|
data = pd.read_csv(f'LoincTableCore.csv') |
|
swith=data.loc[data['COMPONENT'].str.contains(name, case=False, na=False)] |
|
return swith |
|
|
|
def MatchLOINCPanelsandForms(name): |
|
basedir = os.path.dirname(__file__) |
|
data = pd.read_csv(f'PanelsAndForms.csv') |
|
swith=data.loc[data['ParentName'].str.contains(name, case=False, na=False)] |
|
return swith |
|
|
|
def MatchSNOMED(name): |
|
basedir = os.path.dirname(__file__) |
|
data = pd.read_csv(f'sct2_TextDefinition_Full-en_US1000124_20220901.txt',sep='\t') |
|
swith=data.loc[data['term'].str.contains(name, case=False, na=False)] |
|
return swith |
|
|
|
def MatchOMS(name): |
|
basedir = os.path.dirname(__file__) |
|
data = pd.read_csv(f'SnomedOMS.csv') |
|
swith=data.loc[data['SNOMED CT'].str.contains(name, case=False, na=False)] |
|
return swith |
|
|
|
|
|
def MatchICD10(name): |
|
basedir = os.path.dirname(__file__) |
|
data = pd.read_csv(f'ICD10Diagnosis.csv') |
|
swith=data.loc[data['Description'].str.contains(name, case=False, na=False)] |
|
return swith |
|
|
|
|
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
name = gr.Textbox(label="Enter a term or word to match and find LOINC, SNOMED and OMS clinical terminologies.") |
|
|
|
|
|
with gr.Row(): |
|
button1 = gr.Button("LOINC Terminology") |
|
button2 = gr.Button("LOINC Panels and Forms") |
|
button3 = gr.Button("SNOMED Clinical Terminology") |
|
button4 = gr.Button("SNOMED and OMS Clinical Terminology") |
|
button5 = gr.Button("ICD10 Diagnosis Clinical Terminology") |
|
|
|
with gr.Row(): |
|
output1 = gr.DataFrame(label="LOINC Terminology") |
|
with gr.Row(): |
|
output2 = gr.DataFrame(label="LOINC Assessment Panels") |
|
with gr.Row(): |
|
output3 = gr.DataFrame(label="SNOMED Terminology") |
|
with gr.Row(): |
|
output4 = gr.DataFrame(label="SNOMED and OMS Terminology") |
|
with gr.Row(): |
|
output5 = gr.DataFrame(label="ICD10 Diagnosis Clinical Terminology") |
|
|
|
button1.click(fn=MatchLOINC, inputs=name, outputs=output1) |
|
button2.click(fn=MatchLOINCPanelsandForms, inputs=name, outputs=output2) |
|
button3.click(fn=MatchSNOMED, inputs=name, outputs=output3) |
|
button4.click(fn=MatchOMS, inputs=name, outputs=output4) |
|
button5.click(fn=MatchICD10, inputs=name, outputs=output5) |
|
|
|
demo.launch(debug=True) |