iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
生成式 AI

AI 藥師助手:打造人人都看得懂的藥品查詢系統系列 第 27

Day 27 新增字典:提供中英同時搜尋服務

  • 分享至 

  • xImage
  •  

前言

在專案開發的尾端,由於我轉換了原本一開始的計畫,不使用原計畫的open ai api,轉變為使用美國食藥署的FDA api,我突然想到一個問題:同一個藥品可能同時擁有英文學名與中文常用名稱。例如「Acetaminophen」就是我們熟知的「普拿疼」或「對乙醯氨基酚」。然而,使用者在查詢時,往往只會輸入其中一種名稱,如果系統沒有對應,就可能造成搜尋不到結果的情況。

基於這樣的需求,我在專案中加入了一個新的功能:中英雙向字典搜尋。無論使用者輸入的是中文藥名還是英文藥名,系統都能找到對應的藥品資料。這樣不僅提升了使用體驗,也更符合真實的醫療情境,因為藥師、醫師、藥袋上標示,甚至病人之間的溝通方式都可能不同。

實作過程

# 建立一個字典,放在程式開頭或需要的地方
medicine_dict = {
    "阿斯匹靈": "Aspirin",
    "帕羅西汀": "Paroxetine",
    "樂復得": "Escitalopram",
    "立普妥": "Atorvastatin",
    "可適特": "Rosuvastatin",
    "奎寧": "Hydroxychloroquine",
    "滅殺絕": "Methotrexate",
    "胰島素": "Insulin",
    "達美康": "Gliclazide",
    "捷諾維": "Sitagliptin",
    "安可妥": "Dapagliflozin",
    "代文": "Valsartan",
    "康可": "Bisoprolol",
    "寧心樂": "Carvedilol",
    "安達樂": "Spironolactone",
    "毛地黃": "Digoxin",
    "硝化甘油": "Nitroglycerin",
}

當使用者輸入查詢時,系統會先判斷輸入是否存在於字典中,如果有,就自動轉換成主要的搜尋鍵值,並從資料庫撈出完整藥品資訊。這樣一來,不管是輸入「普拿疼」還是「Acetaminophen」,最後都能獲得相同的藥品說明。

心得

這次的實作讓我體會到資料結構的重要性。雖然只是簡單的字典,但卻大幅提升了系統的可用性。開發過程中,我學到:

1.不要忽略使用者的多樣性:不同的人習慣使用不同的藥名,如果系統太僵硬,會讓人覺得不夠聰明。

2.字典查詢的效率:Python 的字典結構讓搜尋變得非常快速,這比用 for 迴圈比對字串要有效率許多。

3.小功能帶來大改進:一個看似簡單的功能,卻能顯著改善使用體驗,這讓我對以使用者為中心的設計有更深的體會。


上一篇
Day 26:打造使用者介面(簡單 GUI)
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言