
การบริหารคลังยาและเวชภัณฑ์ที่ดีไม่ใช่แค่เรื่องของการนับสต็อก — แต่เป็นเรื่องของความปลอดภัยของผู้ป่วย ความถูกต้องของการจ่ายยา การหมุนเวียนการใช้ยา และการควบคุมต้นทุนให้มีประสิทธิภาพ
โปรแกรมคลินิก kksEHR มีระบบ Inventory ที่ออกแบบเฉพาะสำหรับสถานพยาบาล รองรับทั้งคลินิกขนาดเล็กไปจนถึงระบบหลายสาขาที่มีคลังส่วนกลาง บทความนี้อธิบายทุกส่วนของระบบอย่างละเอียด เพื่อให้ผู้บริหาร เภสัชกร และทีมงานเข้าใจและนำไปใช้งานได้อย่างมีประสิทธิภาพ
สารบัญ
- คุณสมบัติหลักของระบบ
- การออกแบบโครงสร้างคลังยา
- การดำเนินการในระบบคลัง
- การติดตามล็อตและหลักการ FEFO
- การรับยา/เวชภัณฑ์เข้าคลัง
- การจ่ายและส่งออกยา/เวชภัณฑ์<
- การปรับปรุงจำนวนคลัง
- รายงานและการวิเคราะห์
- ระบบบาร์โค้ดและสแกนเนอร์
คุณสมบัติหลักของระบบ
ระบบคลังยา/เวชภัณฑ์ใน kksEHR ออกแบบให้ครอบคลุมทุกกระบวนการที่สถานพยาบาลต้องการ ดังนี้ ดังนี้
ส่วนกลาง และสาขา
คลังส่วนกลาง + สาขา แต่ละแห่งมีตำแหน่งชั้นวางของตัวเอง
ติดตามล็อตครบถ้วน
กำหนดวันผลิต วันหมดอายุ(Expiry date) Best before date หรือ Serial Number สำหรับแต่ละล็อต
FEFO อัตโนมัติ
ระบบเลือกล็อตที่ถูกต้องให้อัตโนมัติ — ยาใกล้หมดอายุออกก่อนเสมอ(First Expired First Out) หรือกำหนดแบบ Best Before Date, Manufacturer Date, หรือ S/N
แปลงหน่วย(Conversion)
รับเข้าเป็นกระปุก แต่จ่ายออกเป็นเม็ด — ระบบคำนวณการแปลงหน่วยให้
สแกนบาร์โค้ดด้วยมือถือ
แอป Android ของ kksEHR สแกนยาเพื่อดูตำแหน่ง หรือสแกนชั้นวางเพื่อดูรายการยา
รายงาน
รายงาน PDF และ Spreadsheet ครอบคลุมทุกการเคลื่อนไหว วันหมดอายุ และยอดคงเหลือ
แจ้งเตือนอัตโนมัติ
แจ้งเตือนเมื่อสต็อกต่ำกว่าเกณฑ์ที่กำหนด หรือยาใกล้ถึงวันหมดอายุ
ควบคุมสิทธิ์การเข้าถึง
กำหนดสิทธิ์ตามบทบาท เช่น เฉพาะ Stock Manager เท่านั้นที่ปรับจำนวนคลังได้
การออกแบบโครงสร้างคลังยา
ก่อนเริ่มรับยาเข้าระบบ ควรวางแผนโครงสร้างคลังให้เหมาะสม การออกแบบที่ดีช่วยลดข้อผิดพลาดในการจ่ายยา และทำให้การหมุนเวียนสต็อกเป็นไปอย่างมีระเบียบ
ปัจจัยที่ต้องพิจารณาในการจัดวาง
ยาที่ใช้บ่อย — จัดวางในตำแหน่งที่เข้าถึงได้ง่าย เพื่อประหยัดเวลาในการหยิบจ่าย ยาควบคุมหรืออันตราย — ต้องการพื้นที่จัดเก็บแบบล็อคกุญแจและจำกัดการเข้าถึง ยาที่ต้องแช่เย็น (Cold chain) — จัดสรรตำแหน่งในตู้เย็นหรือห้องควบคุมอุณหภูมิ ยาที่ต้องป้องกันแสง — เก็บในภาชนะทึบแสงหรือพื้นที่มืด ยาที่ต้องควบคุมความชื้น — แยกจากชั้นวางทั่วไป
โครงสร้างคลังส่วนกลาง + สาขา
kksEHR รองรับโมเดลคลังส่วนกลาง (เช่น สำนักงานใหญ่) เชื่อมต่อกับสาขาต่างๆ แต่ละสาขาสามารถสร้างตำแหน่งชั้นวางได้หลายระดับ รวมถึงสร้างแบบ Sub-location ได้ เช่น HQ/DrugA-EXP, HQ/DrugB-Cold-Exp
แผนผัง: คลังส่วนกลางเชื่อมต่อกับสาขาต่าง ๆ สามารถโอนยา/เวชภัณฑ์ระหว่างกันได้ทุกทิศทาง แสดงตามรูปข้างล่างนี้

ตั้งชื่อชั้นวางให้สื่อถึงล็อตและประเภทยา
ในส่วนกลางจะมีการออกแบบเป็นชั้นวางต่างๆ ตามรูปแบบของยา/เวชภัณฑ์ โดยให้ชั้นวางในชั้นเดียวกัน เป็นยาประเภทเดียวกัน เช่นชั้นวางแรกของ ยา-A 500mg ชั้นสองของยา-B ขนาด 325mg ตัวอย่าง ยา-A มีล็อตต่างๆ ประกอบด้วย Lot-10, Lot-11, Lot-12 โดยที่ Lot-10 วันหมดอายุใกล้ที่สุด ส่วน Lot-12(วันหมดอายุไกลสุด) อยู่ด้านในสุด เป็นลักษณะหมุนเวียนไป และ kksEHR สามารถคำนวณการเลือกล็อตให้อัตโนมัติ โดยจะให้ Lot-10 เป็นตัวเลือกแรก ตัวอย่างชั้นวาง: Lot-10 (หมดอายุเร็วที่สุด) อยู่ด้านหน้า ระบบจะเลือก Lot-10 เป็นตัวเลือกแรกในการจ่ายยา

ตัวอย่าง รายการตำแหน่ง หรือชั้นวางของส่วนกลาง

ตัวอย่าง รายการตำแหน่ง/ชั้นวางของคลังสาขา

การดำเนินการในระบบคลัง
ระบบคลังใน kksEHR ประกอบด้วยการดำเนินการหลัก 9 ประเภท ครอบคลุมทุกวงจรของยา/เวชภัณฑ์
| การดำเนินการ | ทิศทาง | คำอธิบาย |
|---|---|---|
| Receipt (รับเข้า) | เข้า | รับยา/เวชภัณฑ์เข้าคลัง พร้อมกำหนดล็อต วันหมดอายุ และตำแหน่งชั้นวาง |
| Transfer (ย้าย) | ภายใน | ย้ายยาระหว่างตำแหน่งในคลังเดียวกัน หรือโอนระหว่างสาขา |
| Delivery (จ่ายออก) | ออก | จ่าหน่ายออก หรือส่งออกไปยังสาขา |
| Return (คืน) | เข้า | รับคืนยา/เวชภัณฑ์ที่ชำรุดหรือต้องการตรวจสอบ |
| Scrap (ทำลาย) | ออก | กำจัดยาที่เสื่อมสภาพหรือหมดอายุ ตรวจสอบรายชื่อยาได้จากรายงานวันหมดอายุ |
| Adjust (ปรับปรุง) | แก้ไข | ปรับจำนวนคลังให้ตรงกับความเป็นจริง เฉพาะ Stock Manager เท่านั้น |
| Conversion (แปลงหน่วย) | แปลง | แปลงยาจากหน่วยใหญ่ เช่นแปลงหน่วยกระปุก/กล่อง เป็นหน่วยย่อย(เม็ด/ซอง) |
| แจ้งเตือนอัตโนมัติ | ภายใน | แจ้งเตือนเมื่อสต็อกต่ำกว่าเกณฑ์ที่กำหนด หรือยาใกล้ถึงวันหมดอายุด้วยอีเมลล์ |
| Report (รายงาน) | - | เข้าถึงรายงานต่างๆ ทั้งส่วยกลางและสาขา — การเคลื่อนไหว ยอดคงเหลือ วันหมดอายุ ตามสิทธิ์ผู้ใช้ |
การติดตามล็อตและหลักการ FEFO
การติดตามล็อตคือรากฐานของระบบจัดการยาที่ปลอดภัย ทุกครั้งที่รับยาเข้าระบบ สามารถกำหนดข้อมูลล็อตได้ดังนี้
- วันผลิต (Manufacture date)
- วันหมดอายุ (Expiry date) — ใช้สำหรับการเลือกล็อตแบบ FEFO ซึ่งใช้ในการทำการเติมล็อตยาอัตโนมัติ
- ดีที่สุดก่อนวันที่ (Best-before date)
- Serial Number — สำหรับเวชภัณฑ์ที่ต้องติดตามรายชิ้น
สำหรับยา/เวชภัณฑ์ที่ไม่จำเป็นต้องติดตามล็อต (เช่น วัสดุสิ้นเปลืองความเสี่ยงต่ำ) สามารถกำหนดให้เป็น แบบไม่มีล็อต ได้เช่นกัน
ทำไม FEFO ถึงสำคัญ?
หากไม่มีระบบบังคับ FEFO เจ้าหน้าที่อาจหยิบยาล็อตใหม่ออกก่อน ทำให้ล็อตเก่าค้างจนหมดอายุ — นำไปสู่ความสูญเสียทางการเงิน(ยาที่ไม่มีการหมุนเวียนจะหมดอายุและต้องทำลาย) ซึ่งในระบบ kksEHR มีการคำนวณเลือกล็อตที่ใกล้มาก่อนอัตโนมัติ
ตัวอย่างแสดงตามรูปข้างล่าง เมื่อจ่ายยาให้ผู้ป่วย ระบบจะเลือกล็อตที่มีวันหมดอายุใกล้ที่สุดและเติมจำนวนให้อัตโนมัติ เจ้าหน้าที่เพียงตรวจสอบและยืนยัน

การสร้างล็อตและการนำล็อตกลับมาใช้ซ้ำ
kksEHR สามารถสร้างหมายเลขล็อตอัตโนมัติเมื่อรับยาเข้า หรือจะป้อนหมายเลขล็อตจากผู้ผลิตโดยตรงก็ได้ รองรับการนำล็อตเดิมกลับมาใช้ซ้ำ (Re-use lot) ซึ่งมีประโยชน์เมื่อได้รับยาจากล็อตเดียวกันหลายรอบ และสามารถแก้ไขข้อมูลล็อตได้ทุกเมื่อหลังสร้างแล้ว
การรับยา/เวชภัณฑ์เข้าคลัง
การรับยาใน kksEHR สามารถเลือกว่าจะเข้าส่วนกลาง หรือตรงไปสาขา และทำได้ 2 วิธีการดังนี้
I. รับเข้าโดยตรง (Direct Receipt) ไปที่ Inventory → Receipt → Create กรอกรายการยา หน่วย ล็อต วันหมดอายุ ราคาต้นทุน และเลือกตำแหน่งชั้นวาง
การรับเข้าใช้เครื่องสแกนบาร์โค้ด
สแกนบาร์โค้ดยาเพื่อเรียกรายการขึ้นมาในฟอร์มรับเข้าได้ทันที รองรับทั้งสแกนเนอร์แบบมี/ไม่มี Carriage return ได้
ตัวอย่าง แสดงการใช้เครื่องอ่านบาร์โค้ด ในการรับ ยา/เวชภัณฑ์
II. รับเข้าจากใบสั่งซื้อ (From Purchase Order) หากใช้โมดูล Purchase สร้าง PO ก่อน เมื่อสินค้ามาถึง หน้าจอรับเข้าจะดึงรายการจาก PO ให้อัตโนมัติ รองรับการรับบางส่วน (Partial receipt) หลังจากได้รายการยาเวชภัณฑ์มาแล้ว ต้องทำการสร้างล็อตหรือใช้ล็อตซำ้ กำหนดปลายทางที่จะวาง
ทั้ง 2 วิธีการยังสามารถกำหนดราคาต้นทุนของแต่ละล็อตได้ ยาหรือเวชภัณฑ์ที่ไม่มีล็อตจะกำหนดต้นทุนแต่ละล็อตไม่ได้ แต่ใช้ต้นทุนเฉลี่ยแทน
การแปลงหน่วยตอนรับเข้า (Unit Conversion)
สถานการณ์ที่พบบ่อย: เช่นรับ Paracetamol 500mg เข้า 1 กระปุก จำนวน 1,000 เม็ด แต่ต้องการหน่วยจำหน่ายออกทีละเม็ด ระบบรองรับการแปลงหน่วยดังนี้
- สร้างรายการยา 2 รายการ: Paracetamol (กระปุก) และ Paracetamol (เม็ด) (สร้าง 2 sku)
- ตอนรับเข้า กำหนดอัตราแปลง: 1 กระปุก = 1,000 เม็ด
- ระบบบันทึกรับเข้า 1 กระปุก และสร้างสต็อก 1,000 เม็ดสำหรับการจ่ายออก
ตัวอย่าง การแปลงหน่วยตอนรับเข้า: 1 กระปุก (1,000 เม็ด) แปลงเป็นสต็อกยาทีละเม็ดอัตโนมัติ

การจ่ายและส่งออกยา/เวชภัณฑ์
การดำเนินการ Delivery ครอบคลุมการเคลื่อนออกทุกรูปแบบ ทั้งการจ่ายยาให้คลินิกโดยตรง(การจ่ายยาให้ผู้ป่วยจะเป็นส่วนที่แพทย์หรือเจ้าหน้าที่ดำเนินการในอีก module ที่เป็น Encounter ของโปรแกรม kksEHR) และการส่งยาไปยังสาขา
เมื่อสร้างรายการ Delivery ระบบจะแสดงล็อตที่มีให้เลือก และไฮไลต์ล็อตที่ควรใช้ก่อน (ตามหลัก FEFO) โดยอัตโนมัติ เจ้าหน้าที่ยืนยันล็อตและจำนวนเท่านั้น ดูตัวอย่างได้ใน วิดีโอนี้
การโอนยาไปสาขา
ใช้ Delivery เลือกสาขาปลายทาง ยาจะปรากฏชั้นวางรับเข้าของสาขานั้น และสาขาสามารถโอนยาคืนส่วนกลางหรือระหว่างสาขาได้เช่นกัน
การปรับปรุงจำนวนคลัง
การตรวจนับสต็อกเป็นประจำเป็นสิ่งจำเป็น และได้ทราบสภาพยาเวชภัณฑ์ปัจจุบัน เมื่อพบว่าจำนวนในระบบไม่ตรงกับความเป็นจริง ฟังก์ชัน Adjust ช่วยให้แก้ไขได้อย่างถูกต้อง
กรณีถ้าพบว่ายาเวชภัณฑ์เสื่อมสภาพ สามารภทำการลายทิ้งด้วยการใช้ Inventory Scrap
การปรับปรุงจำนวนถูกจำกัดเฉพาะผู้ใช้ที่มีสิทธิ์ Stock Manager เพื่อให้มั่นใจว่าการเปลี่ยนแปลงทุกครั้งมีการบันทึกผู้รับผิดชอบ
ตัวอย่าง หน้าจอ Adjust: ค้นหายาตามชื่อ ดูจำนวนปัจจุบัน และกรอกจำนวนที่ถูกต้องตามการตรวจนับจริง

รายงานและการวิเคราะห์
kksEHR มีชุดรายงานครบถ้วนสำหรับคลังยา/เวชภัณฑ์ ทั้งหมดสามารถส่งออกเป็น PDF หรือ Spreadsheet และควบคุมสิทธิ์การเข้าถึงได้ตามบทบาทผู้ใช้ เช่น การดูราคาต้นทุน หรือรายงานเฉพาะสาขา
- รายการรับยา/เวชภัณฑ์เข้าส่วนกลางและสาขา
- การส่งยา/เวชภัณฑ์ไปสาขา
- ยอดคงเหลือทุกตำแหน่ง (ส่วนกลางและสาขา)
- การใช้ยา/เวชภัณฑ์ของสาขาและผู้ป่วย
- ประวัติการใช้รายล็อต
- รายการยาที่ใกล้หมดอายุ (ส่วนกลาง/สาขา)
- Inventory Statement ตามช่วงเวลา
- Inventory Movement รายตัวยา
รายงาน Statement vs Movement
- Statement แสดงภาพรวมช่วงเวลาที่เลือก: ยอดยกมา + รับเข้า − ใช้ออก = ยอดคงเหลือ
- Movement เจาะลึกรายการเคลื่อนไหวของยาตัวเดียว แสดงผู้ดำเนินการ วันเวลา และจำนวนทุกรายการ
ตัวอย่าง รายงาน Inventory Movement: แสดงทุกธุรกรรมของยาที่เลือก — ผู้ดำเนินการ เวลา ประเภทการเคลื่อนไหว และจำนวน

ตัวอย่าง รายการรายงานทั้งหมดในระบบ kksEHR — เข้าถึงได้ตามสิทธิ์และบทบาทของผู้ใช้

ระบบบาร์โค้ดและสแกนเนอร์
kksEHR มีระบบบาร์โค้ดในตัว ใช้งานได้ตั้งแต่การรับยา ไปจนถึงการค้นหาตำแหน่งในคลัง
- มาตรฐานบาร์โค้ดที่รองรับ
- EAN-13 — มาตรฐานสากลสำหรับยาและเวชภัณฑ์ทั่วไป
- EAN-8 — สำหรับบรรจุภัณฑ์ขนาดเล็ก
- UPC-A — ใช้กับผลิตภัณฑ์ยาจากอเมริกาเหนือ
- สิ่งที่พิมพ์บาร์โค้ดได้จากระบบ
- รายการยา/เวชภัณฑ์ (Drug/Product barcode)
- หมายเลขล็อต (Lot barcode) สำหรับติดตามระดับล็อต
- ตำแหน่งชั้นวาง (Location barcode) สำหรับนำทางในคลัง
การสแกนบาร์โค้ดด้วยแอป Android
แอปพลิเคชัน kksEHR บน Android รองรับการสแกน 2 ทิศทาง
- สแกนบาร์โค้ดยา → แสดงตำแหน่งชั้นวางที่เก็บยานั้นอยู่ทันที
- สแกนบาร์โค้ดชั้นวาง → แสดงรายการยาทั้งหมดที่อยู่ในตำแหน่งนั้น
ตัวอย่าง แอป Android: สแกนบาร์โค้ดยาแล้วระบบแสดงตำแหน่งคลังที่เก็บอยู่ทันที (ตัวอย่าง: ยา Zara หน่วยเพ็ค 10 เม็ด)

สรุปโดยรวม
ระบบจัดการคลังยา/เวชภัณฑ์ ด้วย kksEHR ครอบคลุมทุกกระบวนการจัดการคลังยาที่สถานพยาบาลต้องการ ตั้งแต่การรับยาเข้า, ติดตามล็อตด้วยหลัก FEFO, แปลงหน่วย, โอนยาระหว่างสาขา ไปจนถึงการออกรายงานและแจ้งเตือนอัตโนมัติ — ช่วยลดความผิดพลาดในการจ่ายยา ควบคุมต้นทุน และเพิ่มความปลอดภัยให้ผู้ป่วยได้อย่างมีประสิทธิภาพ