Dispense ยา — Barcode / QR / Manual

เภสัชรับใบสั่งจาก OPD, สแกน barcode → ตัด stock อัตโนมัติ, พิมพ์ label, ส่งคนไข้

5 นาที·อัปเดต 2026-05-24

ภาพรวม flow

  1. หมอเขียน Rx + Sign visit
  2. ใบสั่งวิ่งเข้าคิวห้องยา
  3. เภสัชเปิดใบสั่ง → ตรวจ stock + interaction อีกครั้ง
  4. สแกน barcode ยา (หรือ manual เลือก)
  5. ระบบตัด stock + บันทึก lot ที่จ่าย
  6. พิมพ์ label + ใบรับยา → ส่งคนไข้

เปิดคิวห้องยา

Pharmacy → คิวรอจ่าย (/dashboard/pharmacy)

แสดงใบสั่งที่ Sign แล้วและยังไม่ dispensed — เรียงตามเวลาสั่ง

แต่ละแถวเห็น:

  • เลข HN + ชื่อคนไข้
  • เลขใบสั่ง (Rx-NO)
  • จำนวนรายการยา
  • เวลา (กี่นาทีที่รอ)
  • Priority (ถ้าผู้สูงอายุ/เด็ก/ฉุกเฉิน)

เปิดใบสั่ง

กดที่แถว → หน้าใบสั่ง:

  • รายการยาแต่ละตัว + dose / frequency / duration / qty
  • Diagnosis ที่หมอใส่ (ช่วยตัดสินใจ)
  • Allergy ของคนไข้
  • ยา active ที่กำลังกินจาก visit ก่อน

Dispense ทีละตัว

แต่ละรายการมีสถานะ:

  • ยังไม่จ่าย
  • 🟢 จ่ายแล้ว
  • 🔴 ปฏิเสธ (เภสัชเห็นว่าไม่ควรจ่าย — บันทึกเหตุผล)

Mode 1: Barcode scan (เร็วที่สุด)

  1. กดที่ field Scan barcode
  2. ใช้เครื่องสแกน yong barcode บนกล่องยา
  3. ระบบ:

- Match กับ drug catalog → confirm รายการ - แสดง lot + expiry ที่จ่าย (FIFO: lot เก่าก่อน) - กดยืนยัน → ตัด stock 1 หน่วย (หรือตาม qty ที่ Rx ระบุ)

  1. ทำซ้ำกับยาตัวถัดไป

Mode 2: Manual

ถ้าไม่มี barcode (เช่น cream, syrup, ยาแบ่ง):

  1. กด เลือก lot
  2. ระบบโชว์ lot ที่มีของ drug นั้น
  3. เลือก lot → ระบุจำนวน (default = qty ตาม Rx) → ยืนยัน

Mode 3: ปฏิเสธ

ถ้ายาตัวไหนไม่ควรจ่าย (allergy ที่หมอลืม, stock หมด, interaction รุนแรง):

  1. กด ปฏิเสธ
  2. ระบุเหตุผล (dropdown: out-of-stock, allergy-mismatch, dose-too-high, ฯลฯ)
  3. ระบบ:

- บันทึก audit - แจ้งหมอผ่าน notification (LINE/in-app) - คนไข้ไม่ได้รับยาตัวนั้น (ตัวอื่นยังจ่ายปกติ)

ปิดใบสั่ง

หลังจ่ายครบทุกตัว:

  1. กด เสร็จสิ้น
  2. ระบบ:

- มาร์คใบสั่งเป็น DISPENSED - ส่งใบสั่งไป Cashier (ถ้ายังไม่จ่ายเงิน) หรือเข้า history - คนไข้ได้ใบรับยา + ยา

พิมพ์ Label

ปุ่ม 🖨️ พิมพ์ Label บนแต่ละรายการ — พิมพ์ thermal label แปะถุงยา ระบุ:

  • ชื่อคนไข้ + HN
  • ชื่อยา (generic + brand)
  • ขนาด + วิธีใช้ (ภาษาไทย — auto-translate จาก dose+frequency)
  • คำเตือน (allergen, controlled drug)
  • วันหมดอายุของ lot
  • QR code → คนไข้สแกนเห็นข้อมูลยาเต็ม

ต้องมีเครื่องพิมพ์ thermal (Argox, TSC, Zebra) เชื่อม USB หรือ Bluetooth

ตัวอย่างปัญหาที่พบ

Scan barcode แล้วระบบไม่เจอ — ยาตัวนั้นยังไม่ import เข้า catalog. ไปเพิ่มก่อน

Stock หมดกลางคัน — ใบสั่งจะ disable ปุ่ม dispense. รับยาใหม่เข้า stock ก่อน (Stock → Receive)

Lot ที่ระบบเลือกไม่ตรงกับที่จะหยิบ — กด "เปลี่ยน lot" → เลือก manual. ระบบ default FIFO

เคยจ่ายผิด — กด Reverse Dispense ใน history (สิทธิ์ MANAGER). คืน stock + บันทึก audit

บทความที่เกี่ยวข้อง