在專案開發的尾端,由於我轉換了原本一開始的計畫,不使用原計畫的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.小功能帶來大改進:一個看似簡單的功能,卻能顯著改善使用體驗,這讓我對以使用者為中心的設計有更深的體會。