Software Requirements Specification (SRS)
ระบบเภสัชกรรม (Pharmacy Information System)
เวอร์ชัน: 1.0
วันที่: 30 ตุลาคม 2568
จัดทำโดย: ทีมพัฒนาระบบ HIS โรงพยาบาลค่ายธนรัชต์
สารบัญ
- บทนำ
- คำอธิบายโดยรวม
- ความต้องการเฉพาะ
- ความต้องการภายนอก
- คุณลักษณะของระบบ
- ความต้องการที่ไม่ใช่ฟังก์ชัน
- การเชื่อมโยงกับระบบอื่น
1. บทนำ
1.1 วัตถุประสงค์
เอกสารนี้มีวัตถุประสงค์เพื่อกำหนดความต้องการซอฟต์แวร์สำหรับระบบเภสัชกรรม (Pharmacy Information System) ของโรงพยาบาลค่ายธนรัชต์ ซึ่งจะครอบคลุมการจัดการข้อมูลยาและเวชภัณฑ์ การสั่งยา การจ่ายยา การตรวจสอบความปลอดภัยของยา และการพิมพ์เอกสารทางเภสัชกรรมทั้งหมด
1.2 ขอบเขต (Scope)
ระบบเภสัชกรรมจะดำเนินการ:
- ✅ การจัดการข้อมูลพื้นฐานยาและเวชภัณฑ์ - ทะเบียนยา รายละเอียด ราคา รูปภาพ และการเชื่อมโยงรหัสมาตรฐาน
- ✅ การจัดการ Drug Interaction และอันตรกิริยา - ระบบตรวจสอบและเตือนความปลอดภัยของยา
- ✅ การสั่งยาและเวชภัณฑ์ผู้ป่วยนอก (OPD) - การสั่ง การแก้ไข และการจ่ายยาผู้ป่วยนอก
- ✅ การสั่งยาและเวชภัณฑ์ผู้ป่วยใน (IPD) - การสั่งยาแบบต่อเนื่อง รายวัน และยากลับบ้าน
- ✅ การยกเลิกและแก้ไขการสั่งยา - การจัดการการเปลี่ยนแปลงคำสั่งยา
- ✅ การตรวจสอบการสั่งและจ่ายยา - การ Verify และ Dispense โดยเภสัชกร
- ✅ การพิมพ์เอกสาร - ใบสั่งยา ฉลากยา และเอกสารที่เกี่ยวข้อง
- ✅ การเชื่อมโยงกับระบบอื่น - ระบบเวชระเบียน ห้องตรวจ การเงิน และระบบตรวจสอบสิทธิ
1.3 คำจำกัดความ และตัวย่อ
| คำศัพท์ | คำอธิบาย |
|---|---|
| HN | Hospital Number - หมายเลขประจำตัวผู้ป่วย |
| AN | Admission Number - หมายเลขการรับเข้าผู้ป่วยใน |
| OPD | Out Patient Department - แผนกผู้ป่วยนอก |
| IPD | In Patient Department - แผนกผู้ป่วยใน |
| Rx | Prescription - ใบสั่งยา |
| Drug Interaction | อันตรกิริยาระหว่างยา - ปฏิกิริยาที่เกิดขึ้นเมื่อยา 2 ชนิดขึ้นไปใช้ร่วมกัน |
| ADR | Adverse Drug Reaction - อาการไม่พึงประสงค์จากยา |
| Dosage Form | รูปแบบเภสัชภัณฑ์ - เช่น เม็ด แคปซูล น้ำ |
| Generic Name | ชื่อสามัญของยา - ชื่อทางเคมีหรือชื่อทั่วไป |
| Trade Name | ชื่อการค้า - ชื่อที่บริษัทผู้ผลิตตั้งขึ้น |
| Ingredient | ส่วนประกอบสำคัญของยา |
| Template | ชุดยาสำเร็จรูป - กลุ่มยาที่ตั้งค่าไว้ล่วงหน้า |
| RE-MED | Re-medication - การสั่งยาซ้ำ |
| STAT | Immediate/Urgent - ยาเร่งด่วนทันที |
| PRN | Pro Re Nata - ยาเมื่อมีอาการ/ตามความจำเป็น |
| Continue Order | คำสั่งยาต่อเนื่อง - ยาที่ใช้ติดต่อกันหลายวัน |
| One Day Order | คำสั่งยารายวัน - ยาที่สั่งครั้งเดียวต่อวัน |
| Day-Dose | จำนวนวันที่ใช้ยา |
| Profile Sheet | บันทึกการใช้ยาของผู้ป่วย |
| Dispense | การจ่ายยา |
| Verify | การตรวจสอบความถูกต้องของคำสั่งยา |
| G6PD | Glucose-6-Phosphate Dehydrogenase Deficiency - ภาวะพร่องเอนไซม์ G6PD |
| GPO | Government Pharmaceutical Organization - องค์การเภสัชกรรม |
| TMT | Thai Medical Terminology - รหัสยามาตรฐานไทย |
| 24 Digit Code | รหัสยามาตรฐาน 24 หลัก ของสำนักงานหลักประกันสุขภาพแห่งชาติ |
| INV | Inventory Code - รหัสยาของระบบคลัง |
| UC | Universal Coverage - หลักประกันสุขภาพถ้วนหน้า |
| Notify | การแจ้งเตือนข้อควรระวัง |
| Copayment | ค่าใช้จ่ายส่วนตัวของผู้ป่วย |
1.4 เอกสารอ้างอิง
- TOR ระบบเภสัชกรรม (1.2.13) โรงพยาบาลค่ายธนรัชต์
- TOR ฉบับเต็ม (ระบบทั้งหมด 24 ระบบ)
- SRS ระบบเวชระเบียน (1.2.1) - เพื่อการเชื่อมโยงข้อมูลผู้ป่วย
- SRS ระบบซักประวัติ (1.2.2) - เพื่อการบันทึกประวัติการแพ้ยา
- SRS ระบบห้องตรวจแพทย์ (1.2.3) - เพื่อการส่งคำสั่งยา
- SRS ระบบห้องฉุกเฉิน (1.2.4) - เพื่อการสั่งยาฉุกเฉิน
- SRS ระบบนัดหมาย (1.2.6) - เพื่อการคำนวณยาตามวันนัด
- SRS ระบบงานชันสูตร (1.2.7) - เพื่อการดูผล Lab ประกอบการสั่งยา
- SRS ระบบการเงิน (1.2.14) - เพื่อการคำนวณค่าใช้จ่าย
- SRS ระบบตรวจสอบสิทธิ (1.2.15) - เพื่อการกำหนดราคาตามสิทธิ
- SRS ระบบผู้ป่วยใน (1.2.17) - เพื่อการสั่งยาผู้ป่วยใน
- มาตรฐานการบริบาลทางเภสัชกรรมของสภาเภสัชกรรม
- พระราชบัญญัติยา พ.ศ. 2510 และที่แก้ไขเพิ่มเติม
- บัญชียาหลักแห่งชาติ National List of Essential Medicines (NLEM)
- มาตรฐาน Drug Interaction Database
- คู่มือการจัดการยาในโรงพยาบาลของกระทรวงสาธารณสุข
- พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562
1.5 ภาพรวมของเอกสาร
เอกสารนี้แบ่งออกเป็น 7 ส่วนหลัก โดยครอบคลุมตั้งแต่บทนำ คำอธิบายโดยรวมของระบบ ความต้องการเฉพาะของแต่ละฟังก์ชัน ความต้องการภายนอก คุณลักษณะของระบบ ความต้องการที่ไม่ใช่ฟังก์ชัน และการเชื่อมโยงกับระบบอื่น โดยเนื้อหาจะครอบคลุม TOR ระบบเภสัชกรรมทั้ง 6 หัวข้อหลัก ได้แก่ ข้อมูลพื้นฐาน การสั่งยาผู้ป่วยนอก การสั่งยาผู้ป่วยใน การยกเลิก การตรวจสอบ และการพิมพ์เอกสาร
2. คำอธิบายโดยรวม
2.1 มุมมองผลิตภัณฑ์
ระบบเภสัชกรรมเป็นส่วนหนึ่งของระบบสารสนเทศโรงพยาบาล (HIS) ที่ทำหน้าที่เป็นศูนย์กลางการจัดการยาและเวชภัณฑ์ โดยจะเชื่อมโยงกับระบบอื่นๆ ในโรงพยาบาล เช่น ระบบเวชระเบียน ระบบห้องตรวจแพทย์ ระบบห้องฉุกเฉิน ระบบผู้ป่วยใน ระบบการเงิน และระบบตรวจสอบสิทธิ
graph TD
PHARM["💊 ระบบเภสัชกรรม<br/>Pharmacy Information System"]
%% ระบบหลักที่ส่งคำสั่งยา
MR["📋 ระบบเวชระเบียน<br/>(1.2.1)"]
HX["📝 ระบบซักประวัติ<br/>(1.2.2)"]
EXAM["👨⚕️ ระบบห้องตรวจแพทย์<br/>(1.2.3)"]
ER["🚑 ระบบห้องฉุกเฉิน<br/>(1.2.4)"]
IPD["🏥 ระบบผู้ป่วยใน<br/>(1.2.17)"]
%% ระบบสนับสนุน
APPT["📅 ระบบนัดหมาย<br/>(1.2.6)"]
LAB["🔬 ระบบงานชันสูตร<br/>(1.2.7)"]
FIN["💰 ระบบการเงิน<br/>(1.2.14)"]
RIGHT["✅ ระบบตรวจสอบสิทธิ<br/>(1.2.15)"]
%% ระบบภายนอก
DRUG_DB["🗃️ ฐานข้อมูลยามาตรฐาน<br/>(GPO, TMT, 24 Digit)"]
NLEM["📚 บัญชียาหลักแห่งชาติ<br/>(NLEM)"]
%% การเชื่อมโยงหลัก - รับคำสั่งยา
MR -->|"ข้อมูลผู้ป่วย<br/>ประวัติการแพ้ยา"| PHARM
HX -->|"ประวัติการแพ้ยา<br/>อาการและอาการแสดง"| PHARM
EXAM -->|"คำสั่งยา OPD<br/>การวินิจฉัย"| PHARM
ER -->|"คำสั่งยาฉุกเฉิน<br/>STAT Orders"| PHARM
IPD -->|"คำสั่งยา IPD<br/>Continue/One Day"| PHARM
%% การเชื่อมโยงรอง - ข้อมูลสนับสนุน
APPT -->|"วันนัด<br/>สำหรับคำนวณยา"| PHARM
LAB -->|"ผล Lab<br/>สำหรับ Drug Monitoring"| PHARM
RIGHT -->|"สิทธิการรักษา<br/>ราคาตามสิทธิ"| PHARM
%% ส่งข้อมูลออก
PHARM -->|"รายการยาที่จ่าย<br/>ค่าใช้จ่าย"| FIN
PHARM -->|"ข้อมูลการใช้ยา<br/>Profile Sheet"| MR
PHARM -->|"Drug Interaction<br/>ADR Report"| MR
%% ฐานข้อมูลภายนอก
DRUG_DB -.->|"รหัสยามาตรฐาน<br/>ข้อมูลยา"| PHARM
NLEM -.->|"บัญชียาหลัก<br/>ยาในบัญชี/นอกบัญชี"| PHARM
style PHARM fill:#e1f5ff,stroke:#01579b,stroke-width:3px
style MR fill:#fff3e0,stroke:#e65100
style HX fill:#fff3e0,stroke:#e65100
style EXAM fill:#f3e5f5,stroke:#4a148c
style ER fill:#ffebee,stroke:#b71c1c
style IPD fill:#e8f5e9,stroke:#1b5e20
style APPT fill:#fce4ec,stroke:#880e4f
style LAB fill:#e0f2f1,stroke:#004d40
style FIN fill:#fff9c4,stroke:#f57f17
style RIGHT fill:#e8eaf6,stroke:#1a237e
style DRUG_DB fill:#f5f5f5,stroke:#616161
style NLEM fill:#f5f5f5,stroke:#616161
2.2 ฟังก์ชันผลิตภัณฑ์
ระบบมีฟังก์ชันหลัก 6 กลุ่มตาม TOR:
2.2.1 การจัดการข้อมูลพื้นฐาน (Master Data Management)
- การจัดการทะเบียนยาและเวชภัณฑ์ - บันทึกข้อมูลยาครบถ้วน รวมถึงรหัสมาตรฐาน รูปภาพ และส่วนประกอบ
- การจัดการ Drug Interaction - กำหนดและตรวจสอบอันตรกิริยาระหว่างยา
- การกำหนดราคาและสิทธิ - จัดการราคาทุน ราคาขาย และราคาตามสิทธิต่างๆ
- การจัดกลุ่มและหมวดหมู่ยา - แยกยาในบัญชี/นอกบัญชี ยาควบคุมพิเศษ
2.2.2 การสั่งยาและเวชภัณฑ์ผู้ป่วยนอก (OPD Prescription)
- การสั่งยาแบบรายการ - สั่งยาทีละรายการพร้อมระบุวิธีใช้
- การสั่งยาแบบ Template - ใช้ชุดยาสำเร็จรูปที่ตั้งค่าไว้
- การ RE-MED - สั่งยาซ้ำจากครั้งก่อน
- ระบบเตือนความปลอดภัย - ตรวจสอบการแพ้ยา Drug Interaction และข้อห้ามใช้
2.2.3 การสั่งยาและเวชภัณฑ์ผู้ป่วยใน (IPD Prescription)
- การสั่งยาแบบต่อเนื่อง (Continue Order) - ยาที่ใช้ติดต่อกันหลายวัน
- การสั่งยารายวัน (One Day Order) - ยาที่สั่งครั้งเดียวต่อวัน
- การสั่งยา STAT - ยาเร่งด่วนทันที
- การสั่งยากลับบ้าน - ยาสำหรับผู้ป่วยที่จำหน่าย
- Medication Profile - บันทึกการใช้ยาตลอดระยะเวลาพักรักษา
2.2.4 การยกเลิกและแก้ไขการสั่งยา (Order Modification)
- การแก้ไขก่อนจ่ายยา - แก้ไขคำสั่งยาที่ยังไม่ได้จ่าย
- การยกเลิกหลังจ่ายยา - ยกเลิกผ่านกระบวนการยกเลิกใบเสร็จ
- การคืนยา - บันทึกการคืนยาของผู้ป่วยใน
2.2.5 การตรวจสอบและจ่ายยา (Verification & Dispensing)
- การ Verify คำสั่งยา - เภสัชกรตรวจสอบความถูกต้อง
- การจ่ายยา - บันทึกการจ่ายยาพร้อมคำแนะนำ
- การตรวจสอบความปลอดภัย - ตรวจสอบ Drug Interaction และข้อห้ามใช้ทุกครั้ง
2.2.6 การพิมพ์เอกสาร (Document Printing)
- ใบสั่งยา - ภาษาไทยและภาษาอังกฤษ
- ฉลากยา - พร้อมวิธีใช้และคำแนะนำ
- หนังสือรับรอง - สำหรับยานอกบัญชี
2.3 คลาสผู้ใช้และลักษณะ
| ประเภทผู้ใช้ | บทบาท | หน้าที่หลัก | ระดับทักษะ |
|---|---|---|---|
| แพทย์ | ผู้สั่งยา | สั่งยา OPD/IPD, ดู Profile Sheet, ดู Drug Interaction | ปานกลาง |
| ทันตแพทย์ | ผู้สั่งยา | สั่งยา OPD สำหรับผู้ป่วยทันตกรรม | ปานกลาง |
| พยาบาล | ผู้ช่วยสั่งยา | สั่งยาตามมอบหมาย, ดูการใช้ยาของผู้ป่วย | พื้นฐาน |
| เภสัชกร | ผู้ตรวจสอบและจ่ายยา | Verify คำสั่งยา, Dispense, ให้คำปรึกษา, จัดการ Drug Interaction | สูง |
| เจ้าหน้าที่เภสัช | ผู้ปฏิบัติการ | จ่ายยา, พิมพ์ฉลาก, จัดการสต็อก | ปานกลาง |
| เจ้าหน้าที่การเงิน | ผู้รับชำระเงิน | ดูรายการยา, คำนวณค่าใช้จ่าย | พื้นฐาน |
| หัวหน้าเภสัช | ผู้บริหาร | ดูรายงาน, อนุมัติยานอกบัญชี, จัดการนโยบาย | สูง |
| ผู้ดูแลระบบ | ผู้จัดการระบบ | จัดการ Master Data, กำหนด Template, ตั้งค่าราคา | สูงมาก |
2.4 สภาพแวดล้อมการปฏิบัติงาน
2.4.1 สภาพแวดล้อมฮาร์ดแวร์
- เซิร์ฟเวอร์: Windows Server 2019+ หรือ Linux (Ubuntu 20.04+)
- ระบบฐานข้อมูล: SQL Server 2019+ หรือ PostgreSQL 13+
- เวิร์กสเตชัน: Windows 10/11, RAM ≥ 8GB, จอภาพ Full HD
- เครื่องพิมพ์: เครื่องพิมพ์เลเซอร์/อิงค์เจ็ท สำหรับใบสั่งยา
- เครื่องพิมพ์สติกเกอร์: เครื่องพิมพ์ฉลากยา (Label Printer)
- เครื่องอ่าน Barcode: สำหรับสแกนรหัสยา
- ระบบ Network: LAN 1 Gbps, Internet สำหรับ Cloud Backup
2.4.2 สภาพแวดล้อมซอฟต์แวร์
- Operating System: Windows Server 2019+, Ubuntu 20.04+, CentOS 8+
- Web Server: IIS 10+, Apache 2.4+, หรือ Nginx 1.18+
- Application Server: .NET Core 6+, Node.js 16+, หรือ Java 11+
- Database: Microsoft SQL Server 2019+, PostgreSQL 13+, หรือ MySQL 8+
- Web Browser: Chrome 90+, Firefox 88+, Edge 90+ (รองรับ HTML5, CSS3, JavaScript ES6+)
- Reporting Tool: Crystal Reports, JasperReports, หรือ RDLC
- PDF Generator: สำหรับสร้างเอกสาร PDF
2.4.3 สภาพแวดล้อมการใช้งาน
- ระบบทำงาน 24/7 รองรับการใช้งานต่อเนื่อง
- รองรับผู้ใช้งานพร้อมกัน 50-100 คน
- จุดให้บริการหลัก: ห้องยา OPD, ห้องยา IPD, ห้องยาฉุกเฉิน
- การสั่งยาจากจุดต่างๆ: ห้องตรวจ, ห้องฉุกเฉิน, หอผู้ป่วย
- มีระบบ Backup อัตโนมัติทุกวัน
- มีระบบ Failover สำหรับความต่อเนื่องของการให้บริการ
2.5 ข้อจำกัดและข้อกำหนดทั่วไป
2.5.1 ข้อจำกัดด้านกฎหมายและมาตรฐาน
- ต้องปฏิบัติตามพระราชบัญญัติยา พ.ศ. 2510 และที่แก้ไขเพิ่มเติม
- ต้องปฏิบัติตามมาตรฐานการบริบาลทางเภสัชกรรมของสภาเภสัชกรรม
- ต้องปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562
- ต้องมีระบบควบคุมยาเสพติดและยาควบคุมพิเศษตามกฎหมาย
- การสั่งยาต้องเป็นไปตามบัญชียาหลักแห่งชาติ (NLEM)
2.5.2 ข้อจำกัดด้านความปลอดภัย
- ข้อมูลยาและการสั่งยาต้องเข้ารหัสในการเก็บและส่งข้อมูล
- มีระบบ Audit Trail บันทึกทุกการเปลี่ยนแปลงข้อมูล
- มีระบบสิทธิ์การเข้าถึงตามบทบาทหน้าที่ (Role-Based Access Control)
- การแก้ไขข้อมูลสำคัญต้องผ่านการอนุมัติ
- มีระบบ Digital Signature สำหรับการสั่งยา (ถ้าต้องการ)
2.5.3 ข้อจำกัดด้านเทคนิค
- ระบบต้องเชื่อมต่อกับระบบ HIS ที่มีอยู่
- ต้องรองรับการทำงานแบบ Real-time
- ต้องมีระบบ Cache สำหรับข้อมูลที่ใช้บ่อย (Drug Master, Interaction)
- ต้องรองรับการทำงานในสถานการณ์ Network ขัดข้อง (Offline Mode - ถ้าเป็นไปได้)
- ข้อมูล Drug Interaction Database ต้องได้รับการอัพเดตอย่างสม่ำเสมอ
2.6 สมมติฐานและการพึ่งพา
2.6.1 สมมติฐาน (Assumptions)
- โรงพยาบาลมีระบบ HIS พื้นฐานที่ใช้งานอยู่แล้ว
- ผู้ใช้งานได้รับการอบรมการใช้งานระบบแล้ว
- มีเภสัชกรปฏิบัติหน้าที่ตรวจสอบคำสั่งยาตลอด 24 ชั่วโมง
- มีการจัดการสต็อกยาที่เพียงพอสำหรับผู้ป่วย
- มีระบบ Internet และ Network ที่เสถียร
2.6.2 การพึ่งพา (Dependencies)
- ระบบเวชระเบียน (1.2.1) - จำเป็นสำหรับข้อมูลผู้ป่วยและประวัติการแพ้ยา
- ระบบตรวจสอบสิทธิ (1.2.15) - จำเป็นสำหรับการกำหนดราคาตามสิทธิ
- ระบบการเงิน (1.2.14) - จำเป็นสำหรับการคำนวณค่าใช้จ่าย
- ฐานข้อมูลยามาตรฐาน - จำเป็นสำหรับรหัสยาและข้อมูลยา
- Drug Interaction Database - จำเป็นสำหรับการตรวจสอบความปลอดภัย
- เครื่องพิมพ์ - จำเป็นสำหรับการพิมพ์ใบสั่งยาและฉลาก
3. ความต้องการเฉพาะ
3.1 ความต้องการภายนอก
3.1.1 อินเทอร์เฟซผู้ใช้
- ระบบต้องมี Web-based Interface ที่ใช้งานง่ายและรวดเร็ว
- รองรับการใช้งานบนอุปกรณ์ต่างๆ (Desktop, Tablet)
- มีระบบ Search และ Auto-complete สำหรับการค้นหายา
- มี Dashboard แสดงสถานะผู้ป่วยรอรับยาแบบ Real-time
- แสดงรูปภาพยาประกอบการสั่งและการจ่าย
- มีระบบแจ้งเตือน Drug Interaction และการแพ้ยาแบบโดดเด่น (Popup/Alert)
- รองรับการพิมพ์ใบสั่งยาและฉลากยาได้ทันที
- มี Color Coding สำหรับยาที่ต้องระวัง (ยาควบคุมพิเศษ, ยาอันตราย)
3.1.2 อินเทอร์เฟซฮาร์ดแวร์
- เครื่องพิมพ์เลเซอร์/อิงค์เจ็ท: สำหรับพิมพ์ใบสั่งยา ขนาด A4
- เครื่องพิมพ์สติกเกอร์: สำหรับพิมพ์ฉลากยา ขนาด 4x6 cm หรือตามที่กำหนด
- เครื่องอ่าน Barcode: สำหรับสแกนรหัสยา HN และ AN
- Card Reader: สำหรับอ่านบัตรประชาชน (ถ้าเชื่อมกับระบบตรวจสอบสิทธิ)
- Touch Screen: รองรับการใช้งานแบบสัมผัส (Optional)
- Network Printer: รองรับการพิมพ์จากหลายเครื่อง
3.1.3 อินเทอร์เฟซซอฟต์แวร์
การเชื่อมโยงหลัก:
INT-01: ระบบเวชระเบียน (1.2.1)
ข้อมูลที่รับ (Input):
- HN และข้อมูลประชากรผู้ป่วย
- ประวัติการแพ้ยา (Drug Allergy History)
- โรคประจำตัว (Underlying Disease)
- ข้อมูล G6PD, การตั้งครรภ์, การให้นมบุตร
ข้อมูลที่ส่ง (Output):
- รายการยาที่จ่ายให้ผู้ป่วย
- Medication Profile
- ADR Report (Adverse Drug Reaction)
- Drug Interaction Report
INT-02: ระบบซักประวัติ (1.2.2)
ข้อมูลที่รับ (Input):
- ประวัติการแพ้ยาที่ซักใหม่
- อาการและอาการแสดง
- โรคที่วินิจฉัยเบื้องต้น
ข้อมูลที่ส่ง (Output):
- การเตือนยาที่อาจเกิด ADR ตามประวัติ
INT-03: ระบบห้องตรวจแพทย์ (1.2.3) และระบบห้องฉุกเฉิน (1.2.4)
ข้อมูลที่รับ (Input):
- คำสั่งยา (Prescription Orders)
- การวินิจฉัยโรค (ICD-10)
- Priority (STAT/Routine)
- หน่วยตรวจที่สั่ง
ข้อมูลที่ส่ง (Output):
- สถานะการจ่ายยา (Dispensed/Pending)
- ข้อมูลยาที่จ่าย
- Drug Interaction Warning
INT-04: ระบบผู้ป่วยใน (1.2.17)
ข้อมูลที่รับ (Input):
- AN (Admission Number)
- คำสั่งยา IPD (Continue/One Day/STAT)
- วัน-เวลาเริ่มต้น/สิ้นสุด
- Ward/Room ที่พักรักษา
ข้อมูลที่ส่ง (Output):
- Medication Administration Record (MAR)
- Daily Drug Usage Report
- ยากลับบ้าน (Discharge Medication)
INT-05: ระบบนัดหมาย (1.2.6)
ข้อมูลที่รับ (Input):
- วันนัดครั้งถัดไป
- จำนวนวันระหว่างนัด
ข้อมูลที่ส่ง (Output):
- จำนวนยาที่คำนวณตามวันนัด
INT-06: ระบบงานชันสูตร (1.2.7)
ข้อมูลที่รับ (Input):
- ผลตรวจ Lab (เช่น ระดับยาในเลือด, Cr, eGFR)
- ผลตรวจ G6PD
- ผล Pregnancy Test
ข้อมูลที่ส่ง (Output):
- การแจ้งเตือนการปรับขนาดยาตามผล Lab
INT-07: ระบบการเงิน (1.2.14)
ข้อมูลที่รับ (Input):
- สถานะการชำระเงิน (Paid/Unpaid)
- การยกเลิกใบเสร็จ
ข้อมูลที่ส่ง (Output):
- รายการยา พร้อมราคา
- ประเภทการชำระเงิน
- ราคาตามสิทธิ
- ส่วนลด/ค่า Copayment
INT-08: ระบบตรวจสอบสิทธิ (1.2.15)
ข้อมูลที่รับ (Input):
- สิทธิการรักษาของผู้ป่วย
- ราคาตามสิทธิ
- ข้อจำกัดของสิทธิ
ข้อมูลที่ส่ง (Output):
- รายการยาที่ขอใช้สิทธิ
- ยาในบัญชี/นอกบัญชี
3.1.4 อินเทอร์เฟซการสื่อสาร
- RESTful API: สำหรับการเชื่อมต่อระหว่างระบบ
- WebSocket: สำหรับการอัพเดต Real-time (คิวยา, สถานะการจ่าย)
- HL7 v2.x หรือ FHIR: สำหรับการแลกเปลี่ยนข้อมูลทางการแพทย์ (ถ้าต้องการ)
- Database Direct Connection: สำหรับการ Query ข้อมูลจากระบบอื่น
- File Transfer: สำหรับ Backup และ Export ข้อมูล
4. ความต้องการภายนอก
4.1 ความต้องการด้านประสิทธิภาพ (Performance Requirements)
PERF-01: เวลาตอบสนอง
- การค้นหายา: ≤ 1 วินาที
- การแสดงรายการยา: ≤ 2 วินาที
- การตรวจสอบ Drug Interaction: ≤ 3 วินาที
- การบันทึกคำสั่งยา: ≤ 2 วินาที
- การพิมพ์ฉลากยา: ≤ 5 วินาที
PERF-02: จำนวนผู้ใช้พร้อมกัน
- รองรับผู้ใช้งานพร้อมกัน ≥ 100 คน
- รองรับการสั่งยาพร้อมกัน ≥ 50 คำสั่ง/นาที
- รองรับการจ่ายยาพร้อมกัน ≥ 30 รายการ/นาที
PERF-03: ปริมาณข้อมูล
- ฐานข้อมูลยา ≥ 5,000 รายการ
- รองรับ Drug Interaction ≥ 50,000 คู่
- ประวัติการสั่งยา ≥ 5 ปี
- เวลาค้นหาในข้อมูล 5 ปี ≤ 3 วินาที
4.2 ความต้องการด้านความปลอดภัย (Safety Requirements)
SAFE-01: การตรวจสอบความปลอดภัยของยา
- ต้องตรวจสอบการแพ้ยาทุกครั้งก่อนสั่งยา (Mandatory Check)
-
ต้องแสดงเตือน Drug Interaction แบบ 3 ระดับ:
-
Major: แสดง Alert สีแดง ต้อง Confirm
- Moderate: แสดง Warning สีเหลือง แนะนำให้ระวัง
-
Minor: แสดง Info สีเขียว เพื่อทราบ
-
ต้องเตือนข้อห้ามใช้ยาในหญิงตั้งครรภ์และให้นมบุตร
- ต้องเตือนยาที่ห้ามใช้ในเด็ก
- ต้องเตือนยาที่อันตรายกับผู้ป่วย G6PD
- ต้องเตือนยาที่ห้ามใช้ร่วมกับโรคประจำตัว
SAFE-02: การป้องกันข้อผิดพลาด
- ต้องมี Confirmation สำหรับยาที่มี Look-Alike/Sound-Alike
- ต้องตรวจสอบขนาดยาสูงสุด (Max Dose) และเตือนเมื่อเกิน
- ต้องตรวจสอบความซ้ำซ้อนของยาที่มีส่วนประกอบเดียวกัน
- ต้องแสดงเตือนเมื่อสั่งยาควบคุมพิเศษ
SAFE-03: การควบคุมสิทธิ์การใช้งาน
- ยาบางรายการสั่งได้เฉพาะแพทย์เฉพาะทาง
- การแก้ไข/ยกเลิกคำสั่งยาต้องมีสิทธิ์เฉพาะ
- การอนุมัติยานอกบัญชีต้องผ่านหัวหน้าเภสัช
4.3 ความต้องการด้านความมั่นคงปลอดภัย (Security Requirements)
SEC-01: การยืนยันตัวตน
- ต้อง Login ด้วย Username/Password
- รองรับ Single Sign-On (SSO) กับระบบ HIS
- Session Timeout หลังไม่ใช้งาน 15 นาที
SEC-02: การเข้ารหัสข้อมูล
- ข้อมูลยาและประวัติการแพ้ต้องเข้ารหัสในฐานข้อมูล
- การส่งข้อมูลผ่าน Network ต้องใช้ HTTPS/TLS
SEC-03: Audit Trail
- บันทึกทุกการสั่งยา: ผู้สั่ง, วันเวลา, รายการ
- บันทึกทุกการแก้ไข/ยกเลิก: ผู้แก้ไข, เหตุผล, วันเวลา
- บันทึกทุกการจ่ายยา: ผู้จ่าย, ผู้รับ, วันเวลา
- Log File เก็บไว้อย่างน้อย 5 ปี
SEC-04: การควบคุมการเข้าถึง (Access Control)
- Role-Based Access Control (RBAC)
- แต่ละ Role มีสิทธิ์ต่างกัน (Read/Write/Delete/Approve)
- ข้อมูลผู้ป่วยเข้าถึงได้เฉพาะผู้ที่เกี่ยวข้องกับการรักษา
4.4 ความต้องการด้านความพร้อมใช้งาน (Availability Requirements)
AVAIL-01: ความพร้อมใช้งานของระบบ
- Uptime ≥ 99.5% ต่อปี
- Downtime สำหรับ Maintenance ≤ 4 ชั่วโมง/เดือน (นอกเวลาราชการ)
- Recovery Time Objective (RTO) ≤ 4 ชั่วโมง
- Recovery Point Objective (RPO) ≤ 24 ชั่วโมง
AVAIL-02: การสำรองข้อมูล
- Full Backup ทุกสัปดาห์
- Incremental Backup ทุกวัน
- Transaction Log Backup ทุก 1 ชั่วโมง
- เก็บ Backup ≥ 3 ชุด (Daily, Weekly, Monthly)
AVAIL-03: ระบบสำรอง (Redundancy)
- Database Replication สำหรับข้อมูลสำคัญ
- Load Balancing สำหรับ Web Server (ถ้าเป็นไปได้)
- Offline Mode สำหรับกรณี Network ขัดข้อง (Limited Function)
4.5 ความต้องการด้านการบำรุงรักษา (Maintainability Requirements)
MAINT-01: การอัพเดตข้อมูล
- อัพเดตฐานข้อมูลยาได้ง่าย (Import/Export CSV/Excel)
- อัพเดต Drug Interaction Database ได้เป็นระยะ
- เพิ่มรายการยาใหม่ได้โดยไม่หยุดระบบ
MAINT-02: การตรวจสอบและแก้ไข
- มี Error Log สำหรับ Debug
- มี System Health Dashboard สำหรับตรวจสอบสถานะระบบ
- สามารถ Rollback Database ได้ในกรณีเกิดปัญหา
MAINT-03: การอัพเดตระบบ
- สามารถอัพเดต Version ใหม่ได้โดยไม่สูญหายข้อมูล
- มี Migration Script สำหรับ Database Schema Changes
- มี Backward Compatibility อย่างน้อย 1 Version ย้อนหลัง
4.6 ความต้องการด้านการใช้งาน (Usability Requirements)
USE-01: ความง่ายในการใช้งาน
- ผู้ใช้ใหม่สามารถเรียนรู้การใช้งานพื้นฐานได้ภายใน 2 ชั่วโมง
- มี Help/Manual ภาษาไทยในระบบ
- มี Tooltip และ Hint ช่วยเหลือผู้ใช้
- Interface สอดคล้องกับระบบอื่นใน HIS
USE-02: การออกแบบหน้าจอ
- ใช้สีเตือนที่ชัดเจน (แดง=อันตราย, เหลือง=ระวัง, เขียว=ปลอดภัย)
- ขนาดตัวอักษร ≥ 14px สำหรับข้อมูลสำคัญ
- รองรับการใช้งานด้วย Keyboard Shortcuts
- Layout ปรับเปลี่ยนตามขนาดหน้าจอ (Responsive Design)
USE-03: ภาษา
- รองรับภาษาไทยและภาษาอังกฤษ
- สามารถสลับภาษาได้ตามต้องการ
- เอกสารที่พิมพ์ออกมาสามารถเลือกภาษาได้
5. คุณลักษณะของระบบ
5.1 การจัดการข้อมูลพื้นฐาน (Master Data Management)
5.1.1 การจัดการทะเบียนยาและเวชภัณฑ์
คำอธิบาย: ระบบสามารถจัดการข้อมูลยาและเวชภัณฑ์ครบถ้วนตามมาตรฐาน
ข้อกำหนด:
FR-5.1.1: ฐานข้อมูลทะเบียนยาและเวชภัณฑ์
-
ระบบต้องเชื่อมโยงกับฐานข้อมูลยา ประกอบด้วย:
-
รหัสยา (Drug Code)
- ชื่อทั่วไป (Generic Name)
- ชื่อการค้า (Trade Name)
- หมวดกลุ่มยา (Drug Category)
- ข้อมูลเวชภัณฑ์
FR-5.1.2: การหยุดการจำหน่ายยา
- ระบบต้องสามารถหยุดการจำหน่ายยาหรือแจ้งว่ายาหมดในโรงพยาบาล
- สามารถบันทึกข้อความแจ้งเตือนแพทย์ได้
- ไม่สามารถสั่งยาได้จนกว่าเภสัชกรรมจะเปิดการใช้งานใหม่
- แสดงข้อความแจ้งเตือนชัดเจนเมื่อพยายามสั่งยาที่หยุดจำหน่าย
FR-5.1.3: การบันทึกรายละเอียดยา
-
ระบบต้องสามารถบันทึกข้อมูลรายละเอียดของยา ดังนี้:
-
ชื่อยา: ชื่อการค้าและชื่อสามัญ
- ความแรง: ปริมาณสารสำคัญ
- หน่วยนับ: เม็ด แคปซูล ขวด กล่อง
- Dosage Form: เม็ด แคปซูล น้ำเชื่อม ครีม ยาฉีด
- ปริมาตร: ขนาดบรรจุต่อหน่วย
- Drug Category: หมวดหมู่ตามการใช้งาน
- จำนวนบรรจุต่อ UNIT: จำนวนต่อกล่อง/ขวด
- ชื่อภาษาอังกฤษ: สำหรับพิมพ์เอกสารภาษาอังกฤษ
- ราคาจำหน่าย OPD และ IPD: ราคาตามประเภทผู้ป่วย
- ราคาต้นทุน: ราคาซื้อจริง
- ประเภทของยา: ยาในบัญชีหรือนอกบัญชี
- ประเภทยาควบคุมพิเศษ: ยาเสพติด/ยาอันตราย
- กลุ่มการออกฤทธิ์: Pharmacological Class
- กำหนดวิธีใช้ยา: SIG Code และ Free Text
- Therapeutic Use (Thai): ประโยชน์ในการรักษา
- Therapeutic Use (Eng.): Therapeutic indication
- ฉลากช่วย (ไทย/อังกฤษ): คำแนะนำพิเศษ
FR-5.1.4: รหัสยามาตรฐาน
-
ระบบต้องรองรับรหัสยาและเวชภัณฑ์หลายระบบ:
-
รหัสยา GPO: รหัสขององค์การเภสัชกรรม
- รหัสยา INV: รหัสของระบบคลัง
- รหัสยา TMT: รหัสยามาตรฐานไทย
-
รหัสมาตรฐาน 24 หลัก: รหัสของ สปสช.
-
สามารถแปลงระหว่างรหัสต่างๆ ได้อัตโนมัติ
FR-5.1.5: การบันทึกรูปภาพยา
- ระบบต้องสามารถบันทึกรูปภาพของยาทุกรายการ
- รองรับไฟล์ภาพ JPG, PNG ขนาดไม่เกิน 5 MB
- แสดงรูปภาพประกอบเมื่อสั่งยาและจ่ายยา
- ช่วยลดความผิดพลาดในการจ่ายยา
FR-5.1.6: การกำหนดสิทธิการสั่งใช้ยา
-
ระบบต้องสามารถกำหนดสิทธิการสั่งใช้ยาได้ตาม:
-
กลุ่มผู้ใช้งาน: แพทย์ทั่วไป/แพทย์เฉพาะทาง
- ตามผู้ป่วย: ผู้ป่วยนอก/ผู้ป่วยใน
-
ตามสิทธิการรักษา: UC/ประกันสังคม/เบิกได้
-
แสดงเตือนเมื่อผู้ใช้ไม่มีสิทธิสั่งยานั้น
FR-5.1.7: การจัดเก็บ Ingredient (ส่วนประกอบสำคัญ)
- ระบบต้องสามารถจัดเก็บรายละเอียดส่วนประกอบสำคัญ (Active Ingredient)
- เชื่อมโยงยาที่มีส่วนประกอบเดียวกัน
- ใช้สำหรับตรวจสอบความซ้ำซ้อนและ Drug Interaction
FR-5.1.8: คำช่วยค้นหา (Search Keywords)
- ระบบต้องสามารถกำหนดคำช่วยค้นหาได้มากกว่า 1 ชื่อต่อ 1 รหัสยา
- ตัวอย่าง: Dichlotride, Hydrochlorothiazide, HCTZ ชี้ไปยังยาเดียวกัน
- รองรับการค้นหาแบบ Partial Match และ Phonetic
FR-5.1.9: การจัดกลุ่มยา
-
ระบบต้องรองรับการจัดกลุ่มยาเป็น:
-
ยาในบัญชียาหลักแห่งชาติ (NLEM)
- ยานอกบัญชี
- ยาควบคุมพิเศษ
- ยาเสพติด
- ยาอันตราย
FR-5.1.10: การผูกติดรายการค่าใช้จ่าย
- ระบบต้องสามารถผูกติดรายการค่าใช้จ่ายกับรายการยา
- เชื่อมโยงกับระบบการเงินเพื่อคำนวณค่าใช้จ่าย
FR-5.1.11: การระบุสิทธิเพื่อการชำระเงิน
- ระบบต้องรองรับการใส่ข้อมูลสิทธิการชำระเงิน
- กำหนดราคาแตกต่างกันตามสิทธิ
- บางยาอาจไม่อนุญาตให้ใช้กับสิทธิบางประเภท
FR-5.1.12: การกำหนด Notify (ข้อควรระวัง)
-
ระบบต้องสามารถใส่ข้อมูล Notify จำแนกได้ดังนี้:
-
หญิงตั้งครรภ์: Pregnancy Category (A, B, C, D, X)
- หญิงให้นมบุตร: ข้อควรระวังสำหรับการให้นม
- เด็ก: ข้อจำกัดการใช้ในเด็ก
- G6PD: ยาที่ห้ามใช้ในผู้ป่วย G6PD
-
เพศ: ยาเฉพาะเพศ
-
แสดงเตือนอัตโนมัติเมื่อสั่งยาให้กลุ่มเสี่ยง
FR-5.1.13: การกำหนดราคาทุนและราคาจำหน่าย
- ระบบต้องสามารถกำหนดข้อมูลราคาทุนและราคาจำหน่าย
- รองรับราคาหลายระดับ (ราคาทุน, ราคา OPD, ราคา IPD)
- บันทึกประวัติการเปลี่ยนแปลงราคา
FR-5.1.14: การกำหนดราคาตามสิทธิการรักษา
- ระบบต้องสามารถกำหนดราคาขายและประเภทการชำระเงินตามสิทธิการรักษา
- สิทธิต่างกันอาจมีราคาต่างกัน
- รองรับ Copayment สำหรับแต่ละสิทธิ
FR-5.1.15: การกำหนดจำนวนการสั่ง
- ระบบต้องสามารถกำหนดจำนวนการสั่งเริ่มต้นและจำนวนสูงสุด
- เช่น: ยาปฏิชีวนะ Default 7 วัน, Max 14 วัน
- แสดงเตือนเมื่อสั่งเกินจำนวนสูงสุด
FR-5.1.16: การคำนวณจำนวนยาอัตโนมัติ
- ระบบต้องสามารถกำหนดให้คำนวณจำนวนเม็ดยาอัตโนมัติตามวันนัดและวิธีใช้
- ตัวอย่าง: ถ้านัด 30 วัน กินวันละ 2 ครั้ง ครั้งละ 1 เม็ด = 60 เม็ด
- สามารถปรับแต่งได้ตามต้องการ
FR-5.1.17: การกำหนดยาที่ห้ามสั่งกับโรค
- ระบบต้องสามารถกำหนดตัวยาที่ห้ามสั่งจ่ายกับรหัสโรค (ICD10)
- ตัวอย่าง: NSAIDs ห้ามใช้กับ Peptic Ulcer (K25-K28)
- แสดงเตือนเมื่อตรวจพบความขัดแย้ง
5.1.2 การจัดการ Drug Interaction (อันตรกิริยาระหว่างยา)
คำอธิบาย: ระบบสามารถจัดการและตรวจสอบอันตรกิริยาระหว่างยาเพื่อความปลอดภัย
ข้อกำหนด:
FR-5.1.18: การบันทึก Drug Interaction
-
ระบบต้องสามารถบันทึกข้อมูล Drug Interaction ประกอบด้วย:
-
ชื่อยาคู่ที่มีผลต่อกัน: Drug A + Drug B
-
ระดับความรุนแรง:
- Major (รุนแรง - ห้ามใช้ร่วมกัน)
- Moderate (ปานกลาง - ควรระวัง)
- Minor (เล็กน้อย - เพื่อทราบ)
-
คำอธิบายผลที่เกิด: เช่น เพิ่มความเป็นพิษ, ลดฤทธิ์
-
คำแนะนำ: ควรทำอย่างไร เช่น ปรับขนาดยา เว้นเวลา
-
เตือนและแสดงผลเมื่อมีการสั่งใช้ยาคู่นั้นๆ
FR-5.1.19: การตรวจสอบใบสั่งยาย้อนหลัง
- ระบบต้องสามารถกำหนดให้ตรวจสอบใบสั่งยาย้อนหลังที่มีผลต่อการสั่งยาครั้งนี้
- สามารถกำหนดระยะเวลาในการตรวจสอบ (เช่น 30 วัน, 90 วัน)
- ตรวจสอบทั้งยา OPD และ IPD
- แสดงเตือนถ้ายาที่สั่งใหม่มี Interaction กับยาที่กำลังใช้อยู่
FR-5.1.20: การอัพเดต Drug Interaction Database
- ระบบต้องสามารถ Import/Update ฐานข้อมูล Drug Interaction
- รองรับไฟล์ CSV, Excel สำหรับการอัพเดต
- บันทึก Version และวันที่อัพเดต
- แจ้งเตือนเมื่อฐานข้อมูลล้าสมัย (เก่ากว่า 1 ปี)
5.2 การสั่งยาและเวชภัณฑ์ผู้ป่วยนอก (OPD Prescription)
5.2.1 การบันทึกการสั่งยา
คำอธิบาย: ระบบสามารถบันทึกการสั่งยาและเวชภัณฑ์สำหรับผู้ป่วยนอกจากหลายจุดบริการ
ข้อกำหนด:
FR-5.2.1: การสั่งยาแบบรายการ
-
ระบบต้องสามารถบันทึกการสั่งยาและเวชภัณฑ์ให้กับผู้ป่วยโดย:
-
แพทย์
- ทันตแพทย์
- พยาบาล
- เภสัชกร
-
บุคลากรอื่นที่ได้รับมอบหมาย
-
จากหน่วยตรวจต่างๆ และจุดให้บริการต่างๆ
FR-5.2.2: การสั่งยาแบบ Template
- ระบบต้องรองรับการบันทึกสั่งยาโดยสั่งตามชุดยา (Template) ของแพทย์แต่ละท่าน
- แพทย์สามารถสร้าง Template ของตนเองได้
-
Template ประกอบด้วย:
-
ชื่อ Template (เช่น "ชุดยาความดัน", "ชุดยาเบาหวาน")
- รายการยาในชุด
- วิธีใช้มาตรฐาน
-
จำนวนวัน
-
สามารถแก้ไข/เปลี่ยนแปลง/ลบรายการยาได้ตามความต้องการ
FR-5.2.3: การ RE-MED (สั่งยาซ้ำ)
- ระบบต้องสามารถแสดงการสั่งยาและเวชภัณฑ์เดิมของผู้ป่วยนอกได้
- เลือกดูตามวันที่ที่ต้องการ
- สามารถเลือกรายการเพื่อนำมาสั่งจ่ายซ้ำให้ผู้ป่วย (RE MED)
- รายการยาที่เลือกมาสามารถแก้ไข/เปลี่ยนแปลงได้ก่อนยืนยัน
- แสดงเตือนถ้ายาที่สั่งซ้ำหมดอายุหรือถูกหยุดจำหน่าย
FR-5.2.4: การตรวจสอบการแพ้ยา
- ระบบต้องสามารถบันทึกข้อมูลการแพ้ยาให้กับผู้ป่วย
- สามารถแจ้งเตือนเมื่อพบการสั่งจ่ายตัวยาหรือกลุ่มยาที่ผู้ป่วยแพ้
- แสดง Alert แบบ Popup สีแดงชัดเจน
- ต้อง Confirm ก่อนดำเนินการต่อ (กรณีมีเหตุผลพิเศษ)
- บันทึกเหตุผลที่ยังคงสั่งยาแม้ผู้ป่วยแพ้
FR-5.2.5: การพิมพ์สติกเกอร์ฉลากยา
- ระบบต้องสามารถสั่งพิมพ์สติกเกอร์บางรายการหรือทุกรายการได้
-
สามารถเลือกพิมพ์แบบ:
-
ทีละรายการ
- เฉพาะรายการที่เลือก
-
ทั้งหมด
-
ฉลากประกอบด้วย: ชื่อยา, วิธีใช้, จำนวน, ชื่อผู้ป่วย, HN, วันที่
FR-5.2.6: การแสดงข้อมูลยาที่ได้รับ
- ระบบต้องสามารถแสดงข้อมูลรายการยาหรือเวชภัณฑ์ที่ผู้ป่วยได้รับจากจุดต่างๆ
-
แสดงประวัติการได้รับยาจาก:
-
ห้อง OPD
- ห้องฉุกเฉิน
- IPD (กรณี Admit)
-
คลินิกพิเศษ
-
แสดงวันที่, ห้อง, แพทย์ผู้สั่ง, รายการยา
FR-5.2.7: การแสดงรายชื่อผู้ป่วยรอรับยา
- ระบบต้องสามารถแสดงรายชื่อผู้ป่วยที่ถูกส่งมารอรับยา
- แสดงแบบ Real-time Queue
- เรียงตามลำดับเวลาที่ส่งมา หรือตาม Priority (STAT)
- แสดงสถานะ: รอจ่าย, กำลังจ่าย, จ่ายแล้ว
FR-5.2.8: การแก้ไขราคาและประเภทการชำระเงิน
- ระบบต้องสามารถแก้ไขราคายาหรือประเภทการชำระเงินของแต่ละรายการได้
- กำหนดสิทธิการใช้งานให้แก่ผู้ใช้งานที่ได้รับอนุญาต
- บันทึก Audit Trail ทุกครั้งที่มีการแก้ไข
- ระบุเหตุผลในการแก้ไข
FR-5.2.9: ระบบเตือนการแพ้ยา
- ระบบต้องมีการเตือนเมื่อแพทย์สั่งยาที่แพ้
- แสดง Alert ทันทีเมื่อแพทย์ทำการสั่งยานั้นๆ
- แสดงข้อมูล: ชื่อยาที่แพ้, อาการที่เคยเกิด, วันที่บันทึก
FR-5.2.10: ระบบเตือน Drug Interaction
- ระบบต้องมีการเตือนเมื่อแพทย์สั่งยาคู่ที่เกิด Drug Interaction กัน
- แสดงระดับความรุนแรง (Major/Moderate/Minor)
- แสดงคำอธิบายและคำแนะนำ
- สามารถดูรายละเอียดเพิ่มเติมได้
FR-5.2.11: การกำหนดสิทธิ์การสั่งยาเฉพาะทาง
- ระบบต้องสามารถกำหนดกลุ่มแพทย์ที่สามารถสั่งยาได้
- ยาบางรายการสั่งได้เฉพาะแพทย์เฉพาะทาง
- แสดงเตือนเมื่อผู้ใช้ไม่มีสิทธิ์สั่งยา
- ต้องขออนุมัติจากผู้มีสิทธิ์
FR-5.2.12: การเตือนความปลอดภัยตามกลุ่มผู้ป่วย
-
ระบบต้องสามารถแจ้งเตือนการสั่งยาที่อาจเป็นอันตรายต่อ:
-
สตรีมีครรภ์ (Pregnancy): แสดง Pregnancy Category
- สตรีให้นมบุตร: แสดงข้อควรระวัง
- เด็ก: แสดงข้อจำกัดการใช้ในเด็ก
-
ผู้ป่วย G6PD: แสดงเตือนยาที่ห้ามใช้
-
ระบบดึงข้อมูลจากประวัติผู้ป่วยอัตโนมัติ
5.3 การสั่งยาและเวชภัณฑ์ผู้ป่วยใน (IPD Prescription)
5.3.1 การบันทึกการสั่งยาผู้ป่วยใน
คำอธิบาย: ระบบสามารถจัดการการสั่งยาสำหรับผู้ป่วยในแบบครบวงจร
ข้อกำหนด:
FR-5.3.1: ประเภทการสั่งยาผู้ป่วยใน
-
ระบบต้องสามารถบันทึกข้อมูลการสั่งยาผู้ป่วยในโดยระบุประเภทได้:
-
Continue: ยาต่อเนื่อง ใช้ทุกวันจนกว่าจะ Discontinue
- One Day: ยารายวัน สั่งครั้งเดียวต่อวัน
- STAT: ยาเร่งด่วนทันที
- PRN: ยาเมื่อมีอาการ
- ยากลับบ้าน: ยาสำหรับจำหน่าย
FR-5.3.2: การแสดงสรุปการจ่ายยา
-
ระบบต้องสามารถดูได้ทั้ง:
-
สรุปรวมตามหมวดรายจ่าย: แยกตามประเภทยา
- สรุปรวมการจ่ายยาและเวชภัณฑ์: จำนวนรวมต่อวัน
-
รายละเอียดเป็นรายรายการ: เรียงตามวันเวลา
-
สามารถดูได้ทั้งหน้าจอและพิมพ์
FR-5.3.3: การแสดง Medication Profile
- ระบบต้องสามารถแสดงรายละเอียดการจ่ายยาของผู้ป่วยในแต่ละรายตามวันและเวลา
- สามารถ Add Chart เพื่อนำรายการยาจาก Profile มาสั่งซ้ำ
- รายการยาที่เลือกมาสามารถแก้ไข/เปลี่ยนแปลงได้
- แสดงประวัติการใช้ยาตลอดระยะเวลาพักรักษา (Profile Sheet)
FR-5.3.4: การพิมพ์เอกสารผู้ป่วยใน
-
ระบบต้องสามารถพิมพ์:
-
ใบแจ้งรายการยาและเวชภัณฑ์: สำหรับหอผู้ป่วย
- ใบสั่งยาพร้อมฉลาก: สำหรับห้องยา
- Medication Administration Record (MAR): บันทึกการให้ยา
FR-5.3.5: การสั่งยาแบบช่วงเวลา (Day-Dose)
- ระบบต้องรองรับการสั่งยาเป็นช่วงเวลาโดยระบุจำนวน Day-Dose ได้
- ตัวอย่าง: สั่งยา 7 วัน (7 Day-Dose)
- นอกจากนี้รองรับการสั่งยาแบบต่อเนื่อง (Continuous Order)
-
สามารถกำหนด:
-
วันเวลาเริ่มใช้: Start Date/Time
- วันเวลาหยุดใช้: Stop Date/Time (กำหนดล่วงหน้าได้)
FR-5.3.6: การดู Profile Sheet
- ระบบต้องสามารถดูข้อมูลการใช้ยาภายในระหว่างการพักรักษาตัวของผู้ป่วย
- แสดงแบบตาราง Timeline
- เห็นภาพรวมยาทั้งหมดที่ใช้อยู่
- ช่วยตรวจสอบความซ้ำซ้อนและ Drug Interaction
FR-5.3.7: การบันทึกการคืนยา
- ระบบต้องสามารถบันทึกข้อมูลการคืนยาของผู้ป่วยใน
- ระบุเหตุผลการคืน: เปลี่ยนแปลงคำสั่ง, Discontinue, จำหน่าย
- ปรับปรุงสต็อกและค่าใช้จ่ายอัตโนมัติ
- บันทึก Audit Trail
FR-5.3.8: การดูประวัติการใช้ยาผู้ป่วยนอก
- ระบบต้องสามารถดูข้อมูลประวัติการใช้ยาของผู้ป่วยนอก
- เพื่อประกอบการพิจารณาสั่งยาผู้ป่วยใน
- หลีกเลี่ยงการสั่งยาซ้ำซ้อน
FR-5.3.9: การดูผล Lab ประกอบการสั่งยา
- ระบบต้องสามารถดูข้อมูลผล Lab ได้
- เชื่อมโยงกับระบบงานชันสูตร (1.2.7)
-
แสดงผลที่เกี่ยวข้องกับการสั่งยา:
-
Cr, eGFR สำหรับปรับขนาดยา
- ระดับยาในเลือด (Drug Level)
- ผล Culture สำหรับเลือกยาปฏิชีวนะ
5.4 การยกเลิกการสั่งยาและเวชภัณฑ์ (Order Cancellation)
5.4.1 การยกเลิกและแก้ไขคำสั่งยา
คำอธิบาย: ระบบสามารถจัดการการยกเลิกและแก้ไขคำสั่งยาอย่างมีระบบ
ข้อกำหนด:
FR-5.4.1: การแก้ไขก่อนชำระเงิน
- กรณีที่ยังไม่ได้รับชำระเงินค่ายาและเวชภัณฑ์
- ระบบต้องรองรับการแก้ไขรายการยาและเวชภัณฑ์ได้
-
สามารถ:
-
เพิ่มรายการใหม่
- ลบรายการที่สั่งไว้
- แก้ไขจำนวน/วิธีใช้
-
เปลี่ยนยา
-
ไม่ต้องผ่านกระบวนการพิเศษ
FR-5.4.2: การยกเลิกหลังชำระเงิน
- กรณีที่ได้รับชำระเงินและผู้ป่วยมารับยาไปแล้ว
-
ทุกห้องจ่ายยาจะแก้ไข/ยกเลิก/เปลี่ยนแปลงได้ก็ต่อเมื่อ:
-
ผ่านกระบวนการยกเลิกใบเสร็จรับเงิน
-
เชื่อมโยงกับระบบการเงิน (1.2.14)
- มีเหตุผลที่ชัดเจน
- ผู้มีสิทธิ์อนุมัติ
FR-5.4.3: การบันทึก Audit Trail
-
ระบบต้องบันทึกทุกการยกเลิก/แก้ไข:
-
ผู้ทำรายการ
- วันเวลา
- เหตุผล
- รายการเดิม
-
รายการใหม่
-
เก็บข้อมูลไว้อย่างน้อย 5 ปี
FR-5.4.4: การแจ้งเตือนการยกเลิก
-
ระบบต้องแจ้งเตือนไปยังหน่วยงานที่เกี่ยวข้อง:
-
แพทย์ผู้สั่ง
- ห้องยา
- การเงิน
- หอผู้ป่วย (กรณี IPD)
5.5 การตรวจสอบการสั่ง/จ่ายยาและเวชภัณฑ์ (Verification & Dispensing)
5.5.1 การตรวจสอบความปลอดภัย
คำอธิบาย: ระบบสามารถตรวจสอบความปลอดภัยของการสั่งและจ่ายยา
ข้อกำหนด:
FR-5.5.1: การตรวจสอบ Drug Interaction
- ระบบต้องสามารถตรวจสอบและแจ้งเตือน Drug Interaction
- ขณะบันทึกการสั่งยาและจ่ายยา
- ให้ผู้ป่วยแต่ละรายได้
-
แสดงทั้ง:
-
Interaction ระหว่างยาที่สั่งใหม่
- Interaction กับยาที่ใช้อยู่แล้ว
FR-5.5.2: การเตือนกลุ่มเสี่ยง - ระบบต้องสามารถแจ้งเตือนการสั่งยาที่อาจเป็นอันตรายต่อ:
- สตรีมีครรภ์ (Pregnancy): ตรวจสอบอัตโนมัติจากเพศและอายุ
- สตรีให้นมบุตร: ตรวจสอบจากประวัติ
- เด็ก: ตรวจสอบจากอายุ
- ผู้สูงอายุ: ยาที่ควรระวังในผู้สูงอายุ
- ผู้ป่วยไตวาย: ยาที่ต้องปรับขนาด
FR-5.5.3: การจ่ายยาผู้ป่วยใน
- กรณีการจ่ายยาสำหรับผู้ป่วยใน
- ระบบต้องสามารถบันทึกการจ่ายยาได้ทีละรายผู้ป่วย
- แยกตามเวรการจ่าย (เช่น เวรเช้า/บ่าย/ดึก)
- บันทึกผู้จ่ายและเวลาจ่าย
FR-5.5.4: การสอบถามข้อมูลการจ่ายยา
-
การจ่ายยาแต่ละครั้งสามารถสอบถามข้อมูล:
-
แพทย์ผู้สั่ง: ใคร, เมื่อไหร่
- หน่วยตรวจ: ห้องตรวจ/แผนกไหน
- สิทธิการรักษา: ใช้สิทธิอะไร
-
วันที่และเวลาที่สั่งยา: Timeline
-
แสดงประวัติครบถ้วน
FR-5.5.5: การแยกบัญชีเวชภัณฑ์
- ระบบต้องสามารถแยกบัญชีเวชภัณฑ์ออกจากบัญชียา
- เพื่อความถูกต้องในการรายงาน
-
เวชภัณฑ์ เช่น:
-
ผ้าพันแผล
- ถุงมือ
- สายสวนปัสสาวะ
- เข็มฉีดยา
5.6 การพิมพ์เอกสาร (Document Printing)
5.6.1 การพิมพ์เอกสารทางเภสัชกรรม
คำอธิบาย: ระบบสามารถพิมพ์เอกสารต่างๆ ที่เกี่ยวข้องกับงานเภสัชกรรม
ข้อกำหนด:
FR-5.6.1: การพิมพ์ใบสั่งยา
- ระบบต้องสามารถพิมพ์ใบสั่งยาในรูปแบบภาษาไทยและภาษาอังกฤษ
-
ประกอบด้วย:
-
ชื่อโรงพยาบาล
- ข้อมูลผู้ป่วย (HN, ชื่อ, อายุ, สิทธิ)
- วันที่สั่ง
-
รายการยา:
- ชื่อยา
- ความแรง
- จำนวน
- วิธีใช้
-
ชื่อแพทย์ผู้สั่ง
-
ลายเซ็น (ถ้ามี)
-
สามารถกำหนด Template ได้
FR-5.6.2: การพิมพ์ฉลากยา
- ระบบต้องสามารถพิมพ์ฉลากยาพร้อมวิธีใช้ยาหรือคำแนะนำ
- รองรับทั้งภาษาไทยและภาษาอังกฤษ
-
ฉลากประกอบด้วย:
-
ชื่อยา (ภาษาไทย/อังกฤษ)
- ความแรง
- จำนวน
- วิธีใช้: เช่น "รับประทานครั้งละ 1 เม็ด วันละ 2 ครั้ง หลังอาหารเช้า-เย็น"
- คำแนะนำ/ฉลากช่วย: เช่น "ห้ามเคี้ยว", "แช่เย็น", "เขย่าก่อนใช้"
- ชื่อผู้ป่วย, HN
- วันที่จ่าย
-
เลขที่ใบสั่งยา
-
พิมพ์เป็นสติกเกอร์ติดขวด/กล่อง
FR-5.6.3: การพิมพ์หนังสือรับรอง
- ระบบต้องสามารถพิมพ์หนังสือรับรองการขออนุมัติค่ายานอกบัญชียาหลักแห่งชาติ
-
ประกอบด้วย:
-
ข้อมูลผู้ป่วย
- การวินิจฉัยโรค (ICD-10)
- เหตุผลความจำเป็น
- รายการยานอกบัญชี
- ราคา
-
ลายเซ็นแพทย์และหัวหน้าเภสัช
-
ใช้สำหรับเบิกจ่ายตามสิทธิ
FR-5.6.4: การพิมพ์รายงานอื่นๆ
-
ระบบต้องสามารถพิมพ์:
-
ใบนัด: สำหรับนัดมารับยาครั้งต่อไป
- Medication List: รายการยาที่ใช้อยู่ทั้งหมด
- ใบแนะนำการใช้ยา: Patient Information Leaflet
- ใบรับรองแพ้ยา: สำหรับผู้ป่วยที่แพ้ยา
- ใบสรุปการใช้ยา: สำหรับผู้ป่วยจำหน่าย
FR-5.6.5: การเลือกภาษาในการพิมพ์
- ระบบต้องสามารถเลือกภาษาในการพิมพ์เอกสารได้
-
รองรับ:
-
ภาษาไทย
- ภาษาอังกฤษ
-
ทั้งสองภาษา (Bilingual)
-
สามารถตั้งค่า Default ตามความต้องการ
6. ความต้องการที่ไม่ใช่ฟังก์ชัน (Non-Functional Requirements)
6.1 ประสิทธิภาพ (Performance)
NFR-6.1.1: เวลาตอบสนอง (Response Time)
- การค้นหายา: ≤ 1 วินาที สำหรับ 90% ของคำขอ
- การแสดงรายการยาของผู้ป่วย: ≤ 2 วินาที
- การตรวจสอบ Drug Interaction: ≤ 3 วินาที
- การบันทึกคำสั่งยา: ≤ 2 วินาที
- การพิมพ์ฉลากยา: ≤ 5 วินาที (รวมเวลาพิมพ์)
- การโหลดข้อมูล Medication Profile: ≤ 3 วินาที
NFR-6.1.2: ปริมาณข้อมูล (Throughput)
- รองรับการสั่งยาพร้อมกัน ≥ 50 คำสั่ง/นาที
- รองรับการจ่ายยาพร้อมกัน ≥ 30 รายการ/นาที
- รองรับการพิมพ์ฉลากพร้อมกัน ≥ 20 ฉลาก/นาที
- ฐานข้อมูลรองรับยาและเวชภัณฑ์ ≥ 5,000 รายการ
- ฐานข้อมูล Drug Interaction ≥ 50,000 คู่
NFR-6.1.3: ความจุ (Capacity)
- รองรับผู้ใช้งานพร้อมกัน ≥ 100 คน
- รองรับการเก็บประวัติการสั่งยา ≥ 10 ปี
- รองรับผู้ป่วยในระบบ ≥ 1,000,000 ราย
- รองรับการสั่งยาต่อวัน ≥ 5,000 คำสั่ง
NFR-6.1.4: การขยายตัว (Scalability)
- สามารถเพิ่มผู้ใช้งานได้โดยไม่ต้องเปลี่ยนสถาปัตยกรรม
- รองรับการเพิ่ม Server สำหรับ Load Balancing
- ฐานข้อมูลสามารถขยายได้ตามความจำเป็น
6.2 ความน่าเชื่อถือ (Reliability)
NFR-6.2.1: ความพร้อมใช้งาน (Availability)
- Uptime ≥ 99.5% ต่อปี (ไม่เกิน 43.8 ชั่วโมง Downtime/ปี)
- ให้บริการ 24/7/365
- Planned Downtime สำหรับ Maintenance ≤ 4 ชั่วโมง/เดือน
- ต้องแจ้งล่วงหน้า ≥ 7 วันสำหรับ Maintenance
NFR-6.2.2: ความคงทน (Durability)
- ข้อมูลที่บันทึกแล้วต้องไม่สูญหาย
- มีระบบ Transaction Management (ACID Properties)
- Backup อัตโนมัติทุกวัน
- เก็บ Backup ≥ 3 ชุด (Daily, Weekly, Monthly)
NFR-6.2.3: ความทนทานต่อข้อผิดพลาด (Fault Tolerance)
- ระบบต้องไม่ล่มเมื่อมีข้อผิดพลาดเล็กน้อย
- แสดง Error Message ที่เข้าใจได้
- มี Graceful Degradation เมื่อระบบมีปัญหา
- รองรับ Offline Mode สำหรับฟังก์ชันสำคัญ (ถ้าเป็นไปได้)
NFR-6.2.4: การกู้คืน (Recoverability)
- Recovery Time Objective (RTO) ≤ 4 ชั่วโมง
- Recovery Point Objective (RPO) ≤ 24 ชั่วโมง
- มีแผนกู้คืนระบบ (Disaster Recovery Plan)
- ทดสอบการกู้คืนอย่างน้อยปีละ 2 ครั้ง
6.3 ความปลอดภัย (Security)
NFR-6.3.1: การยืนยันตัวตน (Authentication)
- ต้อง Login ด้วย Username และ Password
- รองรับ Single Sign-On (SSO) กับระบบ HIS
- Password ต้องมีความซับซ้อนตามนโยบาย (ยาว ≥ 8 ตัวอักษร, มีตัวพิมพ์ใหญ่/เล็ก/ตัวเลข)
- Session Timeout หลังไม่ใช้งาน 15 นาที
NFR-6.3.2: การควบคุมสิทธิ์ (Authorization)
- ใช้ Role-Based Access Control (RBAC)
- กำหนดสิทธิ์ตามบทบาท: แพทย์, เภสัชกร, พยาบาล, เจ้าหน้าที่
- แต่ละ Role มีสิทธิ์ที่แตกต่างกัน (Read/Write/Delete/Approve)
- ยาบางรายการสั่งได้เฉพาะผู้ที่มีสิทธิ์
NFR-6.3.3: การเข้ารหัส (Encryption)
- ข้อมูลยาและประวัติการแพ้ยาต้องเข้ารหัสในฐานข้อมูล
- การส่งข้อมูลผ่าน Network ต้องใช้ HTTPS/TLS 1.2+
- Password เก็บแบบ Hashed (BCrypt, SHA-256)
- ข้อมูลสำคัญ Encrypt ที่ Rest และ Transit
NFR-6.3.4: Audit Trail
- บันทึกทุกการสั่งยา: ผู้สั่ง, วันเวลา, รายการ, สิทธิที่ใช้
- บันทึกทุกการแก้ไข/ยกเลิก: ผู้แก้, เหตุผล, ก่อน-หลัง
- บันทึกทุกการจ่ายยา: ผู้จ่าย, ผู้รับ, วันเวลา
- บันทึกการเข้าถึงข้อมูลผู้ป่วย: ใคร, เมื่อไหร่, ดูอะไร
- Log File เก็บไว้อย่างน้อย 5 ปี และไม่สามารถแก้ไขได้
NFR-6.3.5: ความเป็นส่วนตัว (Privacy)
- ปฏิบัติตาม พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA)
- ข้อมูลผู้ป่วยเข้าถึงได้เฉพาะผู้ที่เกี่ยวข้องกับการรักษา
- มีระบบ Consent Management
- สามารถลบข้อมูลตามสิทธิ์ของเจ้าของข้อมูล (Right to be Forgotten)
NFR-6.3.6: การป้องกันการโจมตี (Attack Prevention)
- ป้องกัน SQL Injection
- ป้องกัน Cross-Site Scripting (XSS)
- ป้องกัน Cross-Site Request Forgery (CSRF)
- มี Rate Limiting สำหรับ API
- มี Web Application Firewall (WAF)
6.4 ความสามารถในการบำรุงรักษา (Maintainability)
NFR-6.4.1: การอัพเดตข้อมูล
- อัพเดตฐานข้อมูลยาได้ง่าย (Import/Export CSV/Excel)
- อัพเดต Drug Interaction Database โดยไม่หยุดระบบ
- เพิ่มรายการยาใหม่ได้ทันทีโดยไม่ต้อง Restart
- มี Version Control สำหรับ Master Data
NFR-6.4.2: การแก้ไขและตรวจสอบ
- มี Error Log และ System Log ที่ชัดเจน
- มี System Health Dashboard
- มี Alert เมื่อระบบมีปัญหา
- สามารถ Remote Debug ได้ (กรณีจำเป็น)
NFR-6.4.3: การอัพเดตระบบ
- สามารถอัพเดต Version ใหม่โดยไม่สูญหายข้อมูล
- มี Migration Script สำหรับ Database Changes
- มี Rollback Plan กรณีอัพเดตไม่สำเร็จ
- Backward Compatibility อย่างน้อย 1 Version
NFR-6.4.4: โครงสร้างโค้ด (Code Structure)
- เขียนโค้ดตาม Coding Standards
- มี Code Documentation
- มี Unit Tests สำหรับฟังก์ชันสำคัญ
- Code Coverage ≥ 70%
6.5 ความสามารถในการใช้งาน (Usability)
NFR-6.5.1: ความง่ายในการเรียนรู้ (Learnability)
- ผู้ใช้ใหม่สามารถเรียนรู้การใช้งานพื้นฐานได้ภายใน 2 ชั่วโมง
- มี User Manual ภาษาไทย
- มี Video Tutorial สำหรับฟังก์ชันหลัก
- มี Help/Tooltip ในระบบ
NFR-6.5.2: การออกแบบหน้าจอ (UI/UX)
-
ใช้สีเตือนที่ชัดเจน:
-
แดง: อันตราย (Major Interaction, แพ้ยา)
- เหลือง: ระวัง (Moderate Interaction, ข้อควรระวัง)
-
เขียว: ปลอดภัย (ผ่านการตรวจสอบแล้ว)
-
ขนาดตัวอักษร ≥ 14px สำหรับข้อมูลสำคัญ
- รองรับ Keyboard Shortcuts สำหรับฟังก์ชันที่ใช้บ่อย
- Layout ปรับตามขนาดหน้าจอ (Responsive Design)
NFR-6.5.3: ภาษา (Language)
- รองรับภาษาไทยและภาษาอังกฤษ
- สามารถสลับภาษาได้ทันที
- Interface ภาษาไทยเป็นหลัก
- เอกสารพิมพ์ออกมาเลือกภาษาได้
NFR-6.5.4: การเข้าถึง (Accessibility)
- รองรับ Screen Reader สำหรับผู้พิการทางสายตา (ถ้าเป็นไปได้)
- รองรับการขยายตัวอักษร
- ปุ่มและลิงก์มีขนาดเหมาะสมสำหรับการคลิก (≥ 44x44px)
NFR-6.5.5: ความคงเส้นคงวา (Consistency)
- Interface สอดคล้องกับระบบอื่นๆ ใน HIS
- ใช้ Design Pattern เดียวกันทั้งระบบ
- Terminology เป็นมาตรฐานเดียวกัน
6.6 ความสามารถในการเคลื่อนย้าย (Portability)
NFR-6.6.1: ความเป็นอิสระจากแพลตฟอร์ม
- Web-based Application ทำงานได้บนทุก OS
- รองรับ Browser หลัก: Chrome, Firefox, Edge, Safari
- ไม่ต้องติดตั้ง Plugin พิเศษ (ยกเว้น Printer Driver)
NFR-6.6.2: การย้ายข้อมูล (Data Migration)
- สามารถ Export ข้อมูลเป็น CSV, Excel, JSON
- สามารถ Import ข้อมูลจากระบบเดิม
- มี Data Mapping Tool สำหรับแปลงข้อมูล
NFR-6.6.3: การเชื่อมต่อระบบภายนอก
- รองรับ RESTful API
- รองรับ SOAP Web Service
- รองรับ HL7 v2.x หรือ FHIR (ถ้าต้องการ)
- มี API Documentation ที่ชัดเจน
6.7 มาตรฐานและกฎระเบียบ (Standards & Regulations)
NFR-6.7.1: มาตรฐานยา
- ปฏิบัติตามพระราชบัญญัติยา พ.ศ. 2510
- ปฏิบัติตามบัญชียาหลักแห่งชาติ (NLEM)
- ปฏิบัติตามมาตรฐานการบริบาลทางเภสัชกรรม
NFR-6.7.2: มาตรฐานข้อมูล
- รหัสยาตาม TMT (Thai Medical Terminology)
- รหัสยา 24 หลักของ สปสช.
- ICD-10 สำหรับการวินิจฉัยโรค
- LOINC สำหรับผล Lab (ถ้าเชื่อมต่อ)
NFR-6.7.3: มาตรฐานความปลอดภัย
- ปฏิบัติตาม ISO/IEC 27001 (Information Security)
- ปฏิบัติตาม พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562
- ปฏิบัติตามหลักเกณฑ์ของกระทรวงสาธารณสุข
NFR-6.7.4: มาตรฐานการพัฒนา
- ใช้ Software Development Life Cycle (SDLC) ที่เป็นมาตรฐาน
- มี Version Control (Git)
- มี Code Review Process
- มี Testing Plan
6.8 การสนับสนุนและการฝึกอบรม (Support & Training)
NFR-6.8.1: เอกสารประกอบ
- มี User Manual ภาษาไทยฉบับสมบูรณ์
- มี Technical Documentation สำหรับ IT
- มี API Documentation สำหรับ Integration
- มี FAQ และ Troubleshooting Guide
NFR-6.8.2: การฝึกอบรม
- จัดอบรมผู้ใช้งานก่อนเปิดใช้ระบบ
- มีวิทยากรที่มีความรู้และประสบการณ์
- มีเอกสารประกอบการอบรม
- มี Sandbox Environment สำหรับฝึกใช้งาน
NFR-6.8.3: การสนับสนุน (Support)
- มี Help Desk สำหรับตอบคำถาม
- มี Ticket System สำหรับแจ้งปัญหา
- Response Time ≤ 4 ชั่วโมงสำหรับปัญหาวิกฤต
- มี On-site Support ในช่วงเริ่มใช้งาน (3-6 เดือนแรก)
7. การเชื่อมโยงกับระบบอื่น (System Integration)
7.1 ภาพรวมการเชื่อมโยง
ระบบเภสัชกรรมต้องเชื่อมโยงกับระบบต่างๆ ดังนี้:
graph LR
PHARM["ระบบเภสัชกรรม<br/>(1.2.13)"]
subgraph "ระบบต้นทาง (Source Systems)"
MR["ระบบเวชระเบียน<br/>(1.2.1)"]
HX["ระบบซักประวัติ<br/>(1.2.2)"]
EXAM["ระบบห้องตรวจแพทย์<br/>(1.2.3)"]
ER["ระบบห้องฉุกเฉิน<br/>(1.2.4)"]
IPD["ระบบผู้ป่วยใน<br/>(1.2.17)"]
end
subgraph "ระบบสนับสนุน (Support Systems)"
APPT["ระบบนัดหมาย<br/>(1.2.6)"]
LAB["ระบบงานชันสูตร<br/>(1.2.7)"]
RIGHT["ระบบตรวจสอบสิทธิ<br/>(1.2.15)"]
end
subgraph "ระบบปลายทาง (Target Systems)"
FIN["ระบบการเงิน<br/>(1.2.14)"]
end
MR -->|ข้อมูลผู้ป่วย<br/>ประวัติแพ้ยา| PHARM
HX -->|ประวัติแพ้ยา| PHARM
EXAM -->|คำสั่งยา OPD| PHARM
ER -->|คำสั่งยาฉุกเฉิน| PHARM
IPD -->|คำสั่งยา IPD| PHARM
APPT -->|วันนัด| PHARM
LAB -->|ผล Lab| PHARM
RIGHT -->|สิทธิและราคา| PHARM
PHARM -->|รายการยา+ค่าใช้จ่าย| FIN
PHARM -->|Medication Profile| MR
style PHARM fill:#e1f5ff,stroke:#01579b,stroke-width:3px
7.2 รายละเอียดการเชื่อมโยงแต่ละระบบ
7.2.1 ระบบเวชระเบียน (1.2.1)
INT-7.2.1: ข้อมูลที่รับ (Input)
-
ข้อมูลประชากรผู้ป่วย:
-
HN, ชื่อ-สกุล, อายุ, เพศ
- ที่อยู่, เบอร์โทรศัพท์
-
บัตรประชาชน
-
ประวัติการแพ้ยา (Drug Allergy):
-
ชื่อยาที่แพ้
- อาการที่เกิด
- ระดับความรุนแรง
-
วันที่บันทึก
-
โรคประจำตัว (Underlying Disease):
-
รายการโรคประจำตัว (ICD-10)
-
วันที่วินิจฉัย
-
ข้อมูลเฉพาะ:
-
G6PD Deficiency (Yes/No)
- Pregnancy Status
- Breastfeeding Status
INT-7.2.2: ข้อมูลที่ส่ง (Output)
- Medication Profile: รายการยาที่ได้รับทั้งหมด
- Drug Interaction Report: รายงานอันตรกิริยาที่พบ
- ADR Report: รายงานอาการไม่พึงประสงค์จากยา
- ประวัติการใช้ยา: สำหรับบันทึกใน EMR
INT-7.2.3: วิธีการเชื่อมต่อ
- Database Direct Query (Shared Database)
- RESTful API
- Real-time Synchronization
7.2.2 ระบบซักประวัติ (1.2.2)
INT-7.2.4: ข้อมูลที่รับ
- ประวัติการแพ้ยาที่ซักใหม่
- อาการและอาการแสดง (Chief Complaint)
- โรคที่วินิจฉัยเบื้องต้น
INT-7.2.5: ข้อมูลที่ส่ง
- คำเตือนยาที่อาจเกิด ADR ตามประวัติ
- คำแนะนำการใช้ยาตามอาการ
INT-7.2.6: วิธีการเชื่อมต่อ
- RESTful API
- Event-driven (Webhook)
7.2.3 ระบบห้องตรวจแพทย์ (1.2.3) และระบบห้องฉุกเฉิน (1.2.4)
INT-7.2.7: ข้อมูลที่รับ
-
คำสั่งยา (Prescription Order):
-
รหัสยา
- จำนวน
- วิธีใช้ (SIG)
- จำนวนวัน
-
Priority (STAT/Routine)
-
การวินิจฉัยโรค: ICD-10 Code
- หน่วยตรวจที่สั่ง: Department/Clinic
- แพทย์ผู้สั่ง: Doctor Code/Name
INT-7.2.8: ข้อมูลที่ส่ง
-
สถานะการจ่ายยา:
-
Pending (รอจ่าย)
- Dispensing (กำลังจ่าย)
- Dispensed (จ่ายแล้ว)
-
Cancelled (ยกเลิก)
-
ข้อมูลยาที่จ่าย
- Drug Interaction Warning (Real-time)
- คำแนะนำการใช้ยา
INT-7.2.9: วิธีการเชื่อมต่อ
- RESTful API
- Message Queue (RabbitMQ/Kafka) สำหรับ Real-time
- WebSocket สำหรับ Status Update
7.2.4 ระบบผู้ป่วยใน (1.2.17)
INT-7.2.10: ข้อมูลที่รับ
- AN (Admission Number)
-
คำสั่งยา IPD:
-
ประเภท: Continue/One Day/STAT/PRN
- วัน-เวลาเริ่มต้น
- วัน-เวลาสิ้นสุด (สำหรับ Continue)
-
จำนวน Day-Dose
-
Ward/Room: หอผู้ป่วย/หมายเลขห้อง
INT-7.2.11: ข้อมูลที่ส่ง
- Medication Administration Record (MAR): บันทึกการให้ยา
- Daily Drug Usage Report: รายงานการใช้ยารายวัน
- ยากลับบ้าน (Discharge Medication): สำหรับผู้ป่วยจำหน่าย
- สถานะการจ่ายยา: แยกตามเวร (เช้า/บ่าย/ดึก)
INT-7.2.12: วิธีการเชื่อมต่อ
- RESTful API
- Database Trigger สำหรับ MAR
- Scheduled Job สำหรับ Daily Report
7.2.5 ระบบนัดหมายและตารางเวรแพทย์ (1.2.6)
INT-7.2.13: ข้อมูลที่รับ
- วันนัดครั้งถัดไป
- จำนวนวันระหว่างนัด
- ประเภทการนัด
INT-7.2.14: ข้อมูลที่ส่ง
- จำนวนยาที่คำนวณตามวันนัด
- การแจ้งเตือนถ้ายาไม่พอถึงวันนัด
INT-7.2.15: วิธีการเชื่อมต่อ
- RESTful API
- Auto-calculation Function
7.2.6 ระบบงานชันสูตร (1.2.7)
INT-7.2.16: ข้อมูลที่รับ
-
ผลตรวจ Lab:
-
Cr (Creatinine) สำหรับคำนวณ eGFR
- eGFR สำหรับปรับขนาดยา
- Drug Level (ระดับยาในเลือด)
-
Culture & Sensitivity
-
ผลตรวจ G6PD: Positive/Negative
- ผล Pregnancy Test: Positive/Negative
INT-7.2.17: ข้อมูลที่ส่ง
- คำแนะนำการปรับขนาดยาตามผล Lab
- การแจ้งเตือนถ้าผลผิดปกติ
INT-7.2.18: วิธีการเชื่อมต่อ
- RESTful API
- HL7 v2.x (ORU Message)
- Real-time Alert
7.2.7 ระบบการเงิน (1.2.14)
INT-7.2.19: ข้อมูลที่รับ
- สถานะการชำระเงิน (Paid/Unpaid)
- การยกเลิกใบเสร็จ
- Billing Information
INT-7.2.20: ข้อมูลที่ส่ง
-
รายการยา พร้อมราคา:
-
รหัสยา
- ชื่อยา
- จำนวน
- ราคาต่อหน่วย
-
ราคารวม
-
ประเภทการชำระเงิน: เงินสด/บัตร/เบิกได้
- ราคาตามสิทธิ: แยกตามสิทธิการรักษา
- ส่วนลด/Copayment
INT-7.2.21: วิธีการเชื่อมต่อ
- RESTful API
- Database Trigger
- Transaction-based Integration
7.2.8 ระบบตรวจสอบสิทธิ (1.2.15)
INT-7.2.22: ข้อมูลที่รับ
-
สิทธิการรักษา:
-
ประเภทสิทธิ (UC/ประกันสังคม/เบิกได้)
- วันหมดอายุ
-
สถานะสิทธิ (Active/Inactive)
-
ราคาตามสิทธิ: แต่ละสิทธิมีราคาต่างกัน
-
ข้อจำกัดของสิทธิ:
-
ยาที่เบิกได้/เบิกไม่ได้
- ยาในบัญชี/นอกบัญชี
- จำนวนสูงสุดต่อครั้ง
INT-7.2.23: ข้อมูลที่ส่ง
- รายการยาที่ขอใช้สิทธิ
- การระบุยาในบัญชี/นอกบัญชี
- คำขออนุมัติยานอกบัญชี
INT-7.2.24: วิธีการเชื่อมต่อ
- RESTful API
- Real-time Verification
- Batch Processing สำหรับเคลม
7.3 ข้อกำหนดการเชื่อมต่อ
INT-7.3.1: มาตรฐานการสื่อสาร
- ใช้ RESTful API เป็นหลัก
- รองรับ JSON Format
- รองรับ XML Format (สำหรับ Legacy System)
- รองรับ HL7 v2.x (ถ้าจำเป็น)
INT-7.3.2: ความปลอดภัยในการเชื่อมต่อ
- ใช้ HTTPS/TLS 1.2+
- ใช้ API Key หรือ OAuth 2.0 สำหรับ Authentication
- มี Rate Limiting
- มี IP Whitelisting (ถ้าจำเป็น)
INT-7.3.3: Error Handling
- มี Retry Mechanism (Exponential Backoff)
- มี Timeout Setting (30-60 วินาที)
- บันทึก Error Log
- แจ้งเตือนเมื่อเชื่อมต่อไม่สำเร็จ
INT-7.3.4: การทดสอบการเชื่อมต่อ
- มี Integration Testing
- มี Mock Data สำหรับทดสอบ
- ทดสอบในสภาพแวดล้อม Staging ก่อน Production
8. ภาคผนวก (Appendix)
8.1 ตัวอย่างรหัสยามาตรฐาน
ตัวอย่างรหัส TMT (Thai Medical Terminology)
1000001 - Paracetamol 500 mg Tablet
1000002 - Amoxicillin 500 mg Capsule
1000003 - Omeprazole 20 mg Capsule
ตัวอย่างรหัส 24 หลัก (สปสช.)
000000000000000000000001 - Paracetamol 500 mg Tab
000000000000000000000002 - Amoxicillin 500 mg Cap
8.2 ตัวอย่าง SIG Code (วิธีใช้ยา)
| SIG Code | ความหมาย |
|---|---|
| 1-0-1 | รับประทานเช้า-เย็น (2 ครั้ง/วัน) |
| 1-1-1 | รับประทานเช้า-กลางวัน-เย็น (3 ครั้ง/วัน) |
| 1-1-1-1 | รับประทาน 4 ครั้ง/วัน |
| 1/2-0-1/2 | รับประทานครึ่งเม็ดเช้า-เย็น |
| 1 qd | รับประทานวันละครั้ง |
| 1 bid | รับประทานวันละ 2 ครั้ง |
| 1 tid | รับประทานวันละ 3 ครั้ง |
| 1 qid | รับประทานวันละ 4 ครั้ง |
| 1 prn | รับประทานเมื่อมีอาการ |
| 1 stat | รับประทานทันที |
8.3 ตัวอย่าง Dosage Form (รูปแบบเภสัชภัณฑ์)
- Tab - Tablet (เม็ด)
- Cap - Capsule (แคปซูล)
- Syr - Syrup (น้ำเชื่อม)
- Susp - Suspension (ยาแขวนตะกอน)
- Sol - Solution (น้ำยา)
- Inj - Injection (ยาฉีด)
- Cream - ครีม
- Oint - Ointment (ขี้ผึ้ง)
- Supp - Suppository (ยาเหน็บ)
- Drop - หยด (ตา/หู/จมูก)
- Inh - Inhaler (ยาพ่น)
8.4 ตัวอย่าง Drug Interaction Level
| Level | ความหมาย | การจัดการ |
|---|---|---|
| Major | ห้ามใช้ร่วมกัน อาจถึงแก่ชีวิต | ต้อง Confirm พร้อมเหตุผล |
| Moderate | ควรระวัง อาจต้องปรับขนาดยา | แสดงเตือน แนะนำให้ระวัง |
| Minor | เล็กน้อย ส่วนใหญ่ไม่มีนัยสำคัญทางคลินิก | แสดง Info เพื่อทราบ |
8.5 ตัวอย่าง Pregnancy Category
| Category | ความหมาย |
|---|---|
| A | ปลอดภัย - ไม่พบความเสี่ยงในมนุษย์ |
| B | น่าจะปลอดภัย - ไม่พบความเสี่ยงในสัตว์ทดลอง |
| C | ใช้ด้วยความระมัดระวัง - พบความเสี่ยงในสัตว์ทดลอง |
| D | มีหลักฐานความเสี่ยงในมนุษย์ - ใช้เมื่อจำเป็นจริงๆ |
| X | ห้ามใช้ - มีความเสี่ยงชัดเจน ไม่ควรใช้เด็ดขาด |
8.6 Glossary (อภิธานศัพท์)
- Pharmaceutical Care: การบริบาลทางเภสัชกรรม
- Medication Reconciliation: การสอบทานรายการยา
- Therapeutic Duplication: การใช้ยาซ้ำซ้อน
- Contraindication: ข้อห้ามใช้ยา
- Indication: ข้อบ่งชี้การใช้ยา
- Adverse Effect: ผลข้างเคียง
- Side Effect: ผลไม่พึงประสงค์
- Compliance: การยึดมั่นในการใช้ยาตามคำสั่ง
- Formulary: บัญชียา
เอกสารอนุมัติและการเปลี่ยนแปลง
| เวอร์ชัน | วันที่ | ผู้จัดทำ | การเปลี่ยนแปลง | ผู้อนุมัติ |
|---|---|---|---|---|
| 1.0 | 30 ต.ค. 2568 | ทีมพัฒนาระบบ HIS | จัดทำเอกสารฉบับแรก | - |
เอกสารนี้จัดทำขึ้นเพื่อใช้เป็นแนวทางในการพัฒนาระบบเภสัชกรรม และจะได้รับการปรับปรุงตามความต้องการที่เปลี่ยนแปลงและมาตรฐานสากล
© 2568 โรงพยาบาลค่ายธนรัชต์ - สงวนลิขสิทธิ์