wensjheng commited on
Commit
3548e77
·
verified ·
1 Parent(s): b6cb32e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -130,12 +130,12 @@ ________________________________________
130
  return f"【API 錯誤 {resp.status_code}】{resp.text[:300]}"
131
 
132
  # === 紀錄到 Google Sheet ===
133
- def log_to_sheet(level, p1, p2, p3, p4, p5, p6, p7, raw, total):
134
  now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
135
- SHEET.append_row([now, level, p1, p2, p3, p4, p5, p6, p7, total, raw])
136
 
137
  # === 整合流程 ===
138
- def collect_and_score(level, p1, p2, p3, p4, p5, p6, p7):
139
  combined = f"""1. 年齡/性別/主訴: {p1}
140
  2. 個人病史: {p2}
141
  3. 家族史: {p3}
@@ -147,22 +147,24 @@ def collect_and_score(level, p1, p2, p3, p4, p5, p6, p7):
147
  raw = call_gemini(combined)
148
  total = parse_scores(raw)
149
  md = render_score_card(total, raw)
150
- log_to_sheet(level, p1, p2, p3, p4, p5, p6, p7, raw, total)
151
- return level, p1, p2, p3, p4, p5, p6, p7, md
152
 
153
  def do_clear():
154
- return "實習醫學生", "", "", "", "", "", "", "", "(已清空)"
155
 
156
  # === Gradio 介面 ===
157
  with gr.Blocks(title="One-Minute Summary 評分") as demo:
158
  gr.HTML(INTRO_TEXT)
159
 
160
  level = gr.Dropdown(
161
- choices=["主治醫師", "住院醫師", "不分科住院醫師", "實習醫學生"],
162
- value="實習醫學生",
163
  label="請選擇職級"
164
  )
165
 
 
 
166
  p1 = gr.Textbox(label="1. 年齡、性別、Chief Complaint (10分)", lines=2)
167
  p2 = gr.Textbox(label="2. 個人病史 (10分)", lines=2)
168
  p3 = gr.Textbox(label="3. 家族史 (10分)", lines=2)
@@ -179,13 +181,13 @@ with gr.Blocks(title="One-Minute Summary 評分") as demo:
179
 
180
  submit_btn.click(
181
  collect_and_score,
182
- [level, p1, p2, p3, p4, p5, p6, p7],
183
- [level, p1, p2, p3, p4, p5, p6, p7, result]
184
  )
185
 
186
  clear_btn.click(
187
  do_clear,
188
- outputs=[level, p1, p2, p3, p4, p5, p6, p7, result]
189
  )
190
 
191
  demo.launch()
 
130
  return f"【API 錯誤 {resp.status_code}】{resp.text[:300]}"
131
 
132
  # === 紀錄到 Google Sheet ===
133
+ def log_to_sheet(level, name, p1, p2, p3, p4, p5, p6, p7, raw, total):
134
  now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
135
+ SHEET.append_row([now, level, name, p1, p2, p3, p4, p5, p6, p7, total, raw])
136
 
137
  # === 整合流程 ===
138
+ def collect_and_score(level, name, p1, p2, p3, p4, p5, p6, p7):
139
  combined = f"""1. 年齡/性別/主訴: {p1}
140
  2. 個人病史: {p2}
141
  3. 家族史: {p3}
 
147
  raw = call_gemini(combined)
148
  total = parse_scores(raw)
149
  md = render_score_card(total, raw)
150
+ log_to_sheet(level, name, p1, p2, p3, p4, p5, p6, p7, raw, total)
151
+ return level, name, p1, p2, p3, p4, p5, p6, p7, md
152
 
153
  def do_clear():
154
+ return "Clerk1", "", "", "", "", "", "", "", "", "(已清空)"
155
 
156
  # === Gradio 介面 ===
157
  with gr.Blocks(title="One-Minute Summary 評分") as demo:
158
  gr.HTML(INTRO_TEXT)
159
 
160
  level = gr.Dropdown(
161
+ choices=["主治醫師", "住院醫師", "PGY2", "PGY1", "Clerk2", "Clerk1","其他"],
162
+ value="Clerk1",
163
  label="請選擇職級"
164
  )
165
 
166
+ name = gr.Textbox(label="姓名", lines=1, placeholder="請輸入姓名")
167
+
168
  p1 = gr.Textbox(label="1. 年齡、性別、Chief Complaint (10分)", lines=2)
169
  p2 = gr.Textbox(label="2. 個人病史 (10分)", lines=2)
170
  p3 = gr.Textbox(label="3. 家族史 (10分)", lines=2)
 
181
 
182
  submit_btn.click(
183
  collect_and_score,
184
+ [level, name, p1, p2, p3, p4, p5, p6, p7],
185
+ [level, name, p1, p2, p3, p4, p5, p6, p7, result]
186
  )
187
 
188
  clear_btn.click(
189
  do_clear,
190
+ outputs=[level, name, p1, p2, p3, p4, p5, p6, p7, result]
191
  )
192
 
193
  demo.launch()