ข้ามไปที่เนื้อหา

Software Requirements Specification (SRS)

ระบบเภสัชกรรม (Pharmacy Information System)

เวอร์ชัน: 1.0

วันที่: 30 ตุลาคม 2568

จัดทำโดย: ทีมพัฒนาระบบ HIS โรงพยาบาลค่ายธนรัชต์


สารบัญ

  1. บทนำ
  2. คำอธิบายโดยรวม
  3. ความต้องการเฉพาะ
  4. ความต้องการภายนอก
  5. คุณลักษณะของระบบ
  6. ความต้องการที่ไม่ใช่ฟังก์ชัน
  7. การเชื่อมโยงกับระบบอื่น

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)

  1. การจัดการทะเบียนยาและเวชภัณฑ์ - บันทึกข้อมูลยาครบถ้วน รวมถึงรหัสมาตรฐาน รูปภาพ และส่วนประกอบ
  2. การจัดการ Drug Interaction - กำหนดและตรวจสอบอันตรกิริยาระหว่างยา
  3. การกำหนดราคาและสิทธิ - จัดการราคาทุน ราคาขาย และราคาตามสิทธิต่างๆ
  4. การจัดกลุ่มและหมวดหมู่ยา - แยกยาในบัญชี/นอกบัญชี ยาควบคุมพิเศษ

2.2.2 การสั่งยาและเวชภัณฑ์ผู้ป่วยนอก (OPD Prescription)

  1. การสั่งยาแบบรายการ - สั่งยาทีละรายการพร้อมระบุวิธีใช้
  2. การสั่งยาแบบ Template - ใช้ชุดยาสำเร็จรูปที่ตั้งค่าไว้
  3. การ RE-MED - สั่งยาซ้ำจากครั้งก่อน
  4. ระบบเตือนความปลอดภัย - ตรวจสอบการแพ้ยา Drug Interaction และข้อห้ามใช้

2.2.3 การสั่งยาและเวชภัณฑ์ผู้ป่วยใน (IPD Prescription)

  1. การสั่งยาแบบต่อเนื่อง (Continue Order) - ยาที่ใช้ติดต่อกันหลายวัน
  2. การสั่งยารายวัน (One Day Order) - ยาที่สั่งครั้งเดียวต่อวัน
  3. การสั่งยา STAT - ยาเร่งด่วนทันที
  4. การสั่งยากลับบ้าน - ยาสำหรับผู้ป่วยที่จำหน่าย
  5. Medication Profile - บันทึกการใช้ยาตลอดระยะเวลาพักรักษา

2.2.4 การยกเลิกและแก้ไขการสั่งยา (Order Modification)

  1. การแก้ไขก่อนจ่ายยา - แก้ไขคำสั่งยาที่ยังไม่ได้จ่าย
  2. การยกเลิกหลังจ่ายยา - ยกเลิกผ่านกระบวนการยกเลิกใบเสร็จ
  3. การคืนยา - บันทึกการคืนยาของผู้ป่วยใน

2.2.5 การตรวจสอบและจ่ายยา (Verification & Dispensing)

  1. การ Verify คำสั่งยา - เภสัชกรตรวจสอบความถูกต้อง
  2. การจ่ายยา - บันทึกการจ่ายยาพร้อมคำแนะนำ
  3. การตรวจสอบความปลอดภัย - ตรวจสอบ Drug Interaction และข้อห้ามใช้ทุกครั้ง

2.2.6 การพิมพ์เอกสาร (Document Printing)

  1. ใบสั่งยา - ภาษาไทยและภาษาอังกฤษ
  2. ฉลากยา - พร้อมวิธีใช้และคำแนะนำ
  3. หนังสือรับรอง - สำหรับยานอกบัญชี

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 โรงพยาบาลค่ายธนรัชต์ - สงวนลิขสิทธิ์