iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0

前言

昨天優化了藥品標籤與資訊顯示,讓查詢結果更直覺。但實際用藥時,除了知道用途與功效,更重要的其實是副作用
很多人買藥的時候只注意「能治什麼」,卻忽略了「可能帶來的風險」。
因此,今天我們要讓系統在查詢藥品時,也能自動提示常見副作用,並用 ⚠️ 警示字樣 加強提醒。

實作過程

功能設計理念

  • 在藥品資料庫裡新增一個side_effects欄位。
  • 當使用者查詢藥品時,除了顯示用途,也同步顯示副作用。
  • 如果有副作用,就加上 「⚠️ 副作用警示」,讓結果更顯眼。
  • 如果沒有副作用資料,則顯示「目前資料庫未提供」。

修改資料庫

補充一些藥品的副作用資訊

UPDATE medicines
SET side_effects = '長期大劑量可能造成肝功能異常,偶有皮疹或過敏'
WHERE name = '普拿疼';
​
UPDATE medicines
SET side_effects = '可能引起胃痛、胃潰瘍或腎臟負擔'
WHERE name = '布洛芬';

Python 查詢程式

接著修改查詢程式,讓它同時顯示藥品用途與副作用:

import sqlite3
​
def get_medicine_info(name):
    conn = sqlite3.connect("medicine.db")
    cursor = conn.cursor()
​
    cursor.execute("SELECT name, usage, side_effects FROM medicines WHERE name LIKE ?", (f"%{name}%",))
    result = cursor.fetchone()
​
    if result:
        med_name, usage, side_effects = result
        print(f"藥品名稱:{med_name}")
        print(f"用途:{usage}")
        if side_effects:
            print(f"⚠️ 副作用警示:{side_effects}")
        else:
            print("副作用:目前資料庫未提供")
    else:
        print("查無此藥品資料")
​
    conn.close()
​
# 測試
get_medicine_info("普拿疼")
get_medicine_info("布洛芬")

測試結果

執行程式,查詢 普拿疼:

藥品名稱:普拿疼
用途:退燒、止痛
⚠️ 副作用警示:長期大劑量可能造成肝功能異常,偶有皮疹或過敏

查詢 布洛芬:

藥品名稱:布洛芬
用途:止痛、消炎、退燒
⚠️ 副作用警示:可能引起胃痛、胃潰瘍或腎臟負擔

如果查詢一個沒有副作用資料的藥品,則會顯示:

副作用:目前資料庫未提供

心得

今天讓查詢結果更完整,使用者不只看到用途,還能馬上知道副作用。這能幫助大家更安全地使用藥品,避免只看功效、忽略風險!


上一篇
Day 22:新增症狀警示系統
下一篇
Day 24:藥品交互作用提醒
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言