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

Test Cases

ระบบงานชันสูตร (Laboratory Information System)

โรงพยาบาลค่ายธนรัชน์


เอกสารเลขที่: SRS-1.2.7-TESTCASES
เวอร์ชัน: 1.0
วันที่: 12 ตุลาคม 2568
ผู้จัดทำ: ทีมพัฒนาระบบ
ผู้อนุมัติ: ผู้อำนวยการโรงพยาบาลค่ายธนรัชน์


📝 ประกอบการทดสอบ

🎯 Scope ของการทดสอบ

ระบบงานชันสูตรจะครอบคลุมการทดสอบฟังก์ชันหลัก 5 กลุ่ม: - การจัดการข้อมูลพื้นฐาน - การกำหนดรายการ Lab, ค่าปกติ, กลุ่มการสั่งตรวจ - การสั่งตรวจห้องปฏิบัติการ - การส่งตรวจจากจุดต่างๆ และการจัดการคำสั่งตรวจ - การรายงานผลการตรวจ - การบันทึกผล, การแสดงผล, การเปรียบเทียบผล - การควบคุมคุณภาพ - การตรวจสอบ, อนุมัติ, ล็อกผลการตรวจ - การพิมพ์เอกสาร - การออกใบสั่งตรวจ, ผลตรวจ, และเอกสารที่เกี่ยวข้อง

🔗 Integration Dependencies

ระบบงานชันสูตรเชื่อมโยงกับระบบอื่นดังนี้: - ระบบเวชระเบียน (1.2.1): ข้อมูลผู้ป่วยหลักและการ Visit - ระบบซักประวัติ (1.2.2): การส่งตรวจ Lab จากระบบซักประวัติ - ระบบห้องตรวจแพทย์ (1.2.3): การส่งตรวจและรับผล Lab - ระบบห้องฉุกเฉิน (1.2.4): การส่งตรวจฉุกเฉิน - ระบบตรวจสอบสิทธิ (1.2.15): การตรวจสอบสิทธิก่อนส่งตรวจ - ระบบการเงิน (1.2.14): การคิดค่าบริการตรวจ Lab - ระบบนัดหมายและตารางเวรแพทย์ (1.2.6): การนัดรับผล Lab - ระบบผู้ป่วยใน (1.2.17): การส่งตรวจผู้ป่วยใน - ระบบเภสัชกรรม (1.2.13): การตรวจสอบ Drug Interaction กับผล Lab

📊 คำจำกัดความ

คำศัพท์ คำอธิบาย
Lab Laboratory - ห้องปฏิบัติการ
LIS Laboratory Information System - ระบบสารสนเทศห้องปฏิบัติการ
Test การตรวจวิเคราะห์หรือรายการตรวจ
Specimen ตัวอย่างสิ่งส่งตรวจ (เลือด ปัสสาวะ อุจจาระ ฯลฯ)
Reference Range ค่าอ้างอิงหรือค่าปกติ
Critical Value ค่าวิกฤตที่ต้องแจ้งด่วน
Abnormal ค่าผิดปกติ
Normal ค่าปกติ
Out Lab การส่งตรวจภายนอก
In Lab การตรวจภายในโรงพยาบาล
Test Panel กลุ่มการตรวจ
Barcode รหัสแท่งสำหรับระบุตัวอย่าง
Tube หลอดเก็บตัวอย่าง
Request ใบสั่งตรวจ
Report รายงานผล
QC Quality Control - การควบคุมคุณภาพ
Approve การอนุมัติผล
Lock การล็อกผลไม่ให้แก้ไข
Template แม่แบบการตรวจ
Online การเชื่อมต่อแบบ Real-time
HN Hospital Number - หมายเลขประจำตัวผู้ป่วย
Visit การมารับบริการของผู้ป่วย

📑 สารบัญ Test Cases

  1. 📋 กลุ่มที่ 1: การจัดการข้อมูลพื้นฐาน (TOR 1.2.7.1) - 10 Test Cases + 1 Error Case
  2. 🧪 กลุ่มที่ 2: การสั่งตรวจห้องปฏิบัติการ (TOR 1.2.7.2) - 8 Test Cases + 3 Error/Fail Cases
  3. 📊 กลุ่มที่ 3: การรายงานผลการตรวจ (TOR 1.2.7.3) - 15 Test Cases + 5 Error/Fail Cases
  4. ✅ กลุ่มที่ 4: การควบคุมคุณภาพ (TOR 1.2.7.4) - 6 Test Cases + 3 Error Cases
  5. 🖨️ กลุ่มที่ 5: การพิมพ์เอกสาร (TOR 1.2.7.5) - 6 Test Cases + 3 Error/Fail Cases

รวม Test Cases ทั้งหมด: - Normal Test Cases: 45 Cases - Error/Fail Test Cases: 15 Cases - รวมทั้งสิ้น: 60 Test Cases


รายการ Test Cases

📋 กลุ่มที่ 1: การจัดการข้อมูลพื้นฐาน (TOR 1.2.7.1)

Test Case: การกำหนดข้อมูลรายการ Lab ด้วยค่าปกติตัวเลข

Test ID: TC-LAB-001
Description: ทดสอบการกำหนดข้อมูลรายการ Lab พร้อมค่าปกติ (ตัวเลข) ในช่วงอายุเพศชายเพศหญิง
TOR Reference: 1.2.7.1.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- ผู้ดูแลระบบหรือหัวหน้าแผนกชันสูตรล็อกอินสำเร็จ
- มีข้อมูลประเภทการตรวจในระบบ
Test Steps:
1. เข้าสู่หน้าจัดการข้อมูลรายการ Lab
2. คลิกปุ่มเพิ่มรายการ Lab ใหม่
3. กรอกข้อมูลพื้นฐาน:
   - รหัสรายการ: "CBC001"
   - ชื่อรายการ: "Complete Blood Count"
   - ชื่อย่อ: "CBC"
4. กำหนดค่าปกติสำหรับ Hemoglobin:
   - เพศชาย อายุ 18-65 ปี: 13.5-17.5 g/dL
   - เพศหญิง อายุ 18-65 ปี: 12.0-15.5 g/dL
   - เด็กชาย อายุ 1-17 ปี: 11.0-16.0 g/dL
   - เด็กหญิง อายุ 1-17 ปี: 11.0-15.0 g/dL
5. กำหนดหน่วย: g/dL
6. กำหนดสิ่งส่งตรวจ: Whole Blood EDTA
7. บันทึกข้อมูล
Expected Result: 
- บันทึกรายการ Lab สำเร็จ
- แสดงค่าปกติตามช่วงอายุและเพศได้
- ระบบใช้ค่าปกติในการตรวจสอบผลได้
- เชื่อมโยงกับระบบการเงิน (1.2.14) สำหรับคิดค่าบริการ
- แสดงในรายการสั่งตรวจได้
Test Data: Test: CBC, Range: Hb M 13.5-17.5, F 12.0-15.5 g/dL

Test Case: การกำหนดค่าปกติแบบตัวอักษร

Test ID: TC-LAB-002
Description: ทดสอบการกำหนดค่าปกติ (ตัวอักษร) สำหรับการตรวจที่ผลเป็นคำหรือข้อความ
TOR Reference: 1.2.7.1.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- ผู้ดูแลระบบล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าจัดการข้อมูลรายการ Lab
2. เพิ่มรายการใหม่ "Urine Microscopy"
3. กำหนดค่าปกติแบบตัวอักษรสำหรับ:
   - Color: "Yellow, Light Yellow, Dark Yellow"
   - Clarity: "Clear, Slightly Cloudy, Cloudy"
   - Specific Gravity: "1.003-1.030"
   - Protein: "Negative, Trace"
   - Glucose: "Negative"
4. กำหนด Possible Value สำหรับแต่ละพารามิเตอร์
5. บันทึกข้อมูล
Expected Result: 
- บันทึกค่าปกติแบบตัวอักษรสำเร็จ
- สามารถเลือกจาก Dropdown ได้
- ตรวจสอบค่าผิดปกติได้
- แสดงในรายงานผลได้ถูกต้อง
Test Data: Test: Urine Microscopy, Normal: Color=Yellow, Clarity=Clear

Test Case: การกำหนดค่าวิกฤต (Critical Value)

Test ID: TC-LAB-003
Description: ทดสอบการกำหนดค่าวิกฤต (ตัวเลข) ที่ต้องแจ้งเตือนแพทย์ด่วน
TOR Reference: 1.2.7.1.1, 1.2.7.1.4
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบแล้ว
Test Steps:
1. เข้าสู่หน้าแก้ไขรายการ Lab "Glucose"
2. กำหนดค่าวิกฤต:
   - ค่าต่ำวิกฤต: < 50 mg/dL
   - ค่าสูงวิกฤต: > 400 mg/dL
3. เปิดใช้งานการแจ้งเตือนอัตโนมัติ
4. กำหนดผู้รับแจ้งเตือน (แพทย์เจ้าของไข้, หัวหน้าแผนก)
5. บันทึกข้อมูล
6. ทดสอบการแจ้งเตือนด้วยการใส่ผลตรวจ = 45 mg/dL
Expected Result: 
- บันทึกค่าวิกฤตสำเร็จ
- ระบบแจ้งเตือนเมื่อผลตรวจเกินค่าวิกฤต
- ส่งการแจ้งเตือนไปยังผู้ที่เกี่ยวข้อง
- บันทึก Log การแจ้งเตือน
- แสดงสัญลักษณ์เตือนในรายงานผล
Test Data: Test: Glucose, Critical: <50, >400 mg/dL, Alert: Yes

Test Case: การกำหนดค่าวิกฤตที่ขัดแย้งกัน (Error Case)

Test ID: TC-LAB-003-E1
Description: ทดสอบการป้องกันการกำหนดค่าวิกฤตที่ไม่สมเหตุสมผล
TOR Reference: 1.2.7.1.4
Test Type: ❌ Error Case
Pre-condition: เข้าสู่หน้ากำหนดค่าวิกฤต
Test Steps:
1. พยายามกำหนดค่าวิกฤตต่ำ > ค่าวิกฤตสูง
2. เช่น Critical Low: >100, Critical High: <50
3. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความเตือน "ค่าวิกฤตต่ำต้องน้อยกว่าค่าวิกฤตสูง"
- ไม่สามารถบันทึกได้
- เน้นช่องที่มีปัญหา
Test Data: Critical Low: 100, Critical High: 50 (ขัดแย้งกัน)

Test Case: การกำหนดรูปแบบการสั่งแบบเป็นกลุ่ม

Test ID: TC-LAB-004
Description: ทดสอบการกำหนดรูปแบบการสั่งแบบเป็นกลุ่ม (Test Panel)
TOR Reference: 1.2.7.1.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ต่างๆ ในระบบแล้ว
Test Steps:
1. เข้าสู่หน้าจัดการกลุ่มการตรวจ (Test Panel)
2. คลิกปุ่มสร้างกลุ่มใหม่
3. ตั้งชื่อกลุ่ม: "Diabetes Screening Panel"
4. เลือกรายการตรวจที่เกี่ยวข้อง:
   - FBS (Fasting Blood Sugar)
   - HbA1c (Glycated Hemoglobin)
   - Urine Glucose
   - Urine Protein
5. กำหนดราคาแบบแพ็คเกจ (Package Price)
6. กำหนดสิทธิที่สามารถใช้ได้
7. บันทึกข้อมูล
Expected Result: 
- สร้างกลุ่มการตรวจสำเร็จ
- สามารถสั่งเป็นกลุ่มได้ในครั้งเดียว
- คำนวณราคาแบบแพ็คเกจได้
- แสดงในรายการสั่งตรวจ
- เชื่อมโยงกับระบบการเงิน (1.2.14)
Test Data: Panel: Diabetes Screening, Tests: FBS,HbA1c,U-Glucose,U-Protein

Test Case: การเชื่อมโยงหมวดหมู่ค่าบริการ

Test ID: TC-LAB-005
Description: ทดสอบการเชื่อมโยงกับหมวดหมู่ค่าบริการตามกลุ่มการรักษาพยาบาลทางชันสูตร
TOR Reference: 1.2.7.1.3
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีข้อมูลหมวดหมู่ค่าบริการในระบบ
- เชื่อมต่อกับระบบการเงิน (1.2.14)
Test Steps:
1. เข้าสู่หน้าจัดการหมวดหมู่ค่าบริการ Lab
2. เลือกรายการ Lab "Blood Chemistry"
3. เชื่อมโยงกับหมวดหมู่ค่าบริการ:
   - กลุ่มการรักษา: "Clinical Chemistry"
   - รหัส DRG: "LAB-CHEM-001"
   - ระดับความซับซ้อน: "Standard"
4. กำหนดอัตราค่าบริการตามสิทธิต่างๆ:
   - สิทธิ UC: 150 บาท
   - สิทธิ Social Security: 120 บาท
   - จ่ายเอง: 200 บาท
5. บันทึกข้อมูล
Expected Result: 
- เชื่อมโยงหมวดหมู่ค่าบริการสำเร็จ
- คำนวณค่าบริการตามสิทธิได้ถูกต้อง
- ส่งข้อมูลไปยังระบบการเงิน (1.2.14)
- แสดงค่าบริการในใบสั่งตรวจ
Test Data: Service: Blood Chemistry, UC: 150, SS: 120, Self: 200 บาท

Test Case: การออกแบบแบบฟอร์มการสั่ง Lab

Test ID: TC-LAB-006
Description: ทดสอบการออกแบบแบบฟอร์มการสั่ง Lab เองได้
TOR Reference: 1.2.7.1.5
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีเครื่องมือออกแบบฟอร์ม
Test Steps:
1. เข้าสู่หน้าออกแบบแบบฟอร์ม Lab
2. เลือกประเภทฟอร์ม "Emergency Lab Request"
3. ลากวางองค์ประกอบฟอร์ม:
   - Header โรงพยาบาล
   - ข้อมูลผู้ป่วย (HN, ชื่อ, อายุ, เพศ)
   - รายการตรวจฉุกเฉิน
   - ข้อมูลแพทย์ผู้สั่ง
   - วันที่-เวลาที่ต้องการผล
4. กำหนดรูปแบบการพิมพ์ (A4, Font Size, Layout)
5. ทดสอบการพิมพ์ Preview
6. บันทึกแบบฟอร์ม
Expected Result: 
- ออกแบบฟอร์มได้ตามต้องการ
- แสดง Preview ได้ถูกต้อง
- สามารถใช้ฟอร์มในการสั่งตรวจได้
- พิมพ์ออกมาได้สวยงาม
Test Data: Form: Emergency Lab, Elements: Header,Patient Info,Tests,Doctor

Test Case: การระบุ Out Lab

Test ID: TC-LAB-007
Description: ทดสอบการระบุได้ว่าเป็น Out Lab หรือไม่
TOR Reference: 1.2.7.1.6
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบ
Test Steps:
1. เข้าสู่หน้าแก้ไขรายการ Lab
2. เลือกรายการ "Tumor Marker (CEA)"
3. เลือกประเภท "Out Lab"
4. กำหนดข้อมูล Out Lab:
   - ชื่อห้อง Lab ภายนอก: "Central Lab Bangkok"
   - ระยะเวลาในการรายงานผล: 3-5 วันทำการ
   - ค่าบริการ: 1,500 บาท
   - วิธีการส่งตัวอย่าง: "Courier Service"
5. กำหนดเงื่อนไขการเก็บและขนส่งตัวอย่าง
6. บันทึกข้อมูล
Expected Result: 
- ระบุเป็น Out Lab สำเร็จ
- แสดงข้อมูล Out Lab ในใบสั่งตรวจ
- คำนวณเวลารายงานผลได้
- แสดงคำเตือนเรื่องการเก็บตัวอย่าง
- เชื่อมโยงกับระบบการเงิน (1.2.14)
Test Data: Test: CEA, OutLab: Central Lab, TAT: 3-5 days, Cost: 1500

Test Case: การกำหนดค่าพื้นฐาน (ค่ามาตรฐาน)

Test ID: TC-LAB-008
Description: ทดสอบการกำหนดค่าพื้นฐาน (ค่ามาตรฐาน) สำหรับการควบคุมคุณภาพ
TOR Reference: 1.2.7.1.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบ
Test Steps:
1. เข้าสู่หน้าจัดการค่ามาตรฐาน
2. เลือกรายการ "Blood Glucose"
3. กำหนดค่าพื้นฐานสำหรับ Quality Control:
   - Control Level 1: 85 ± 5 mg/dL
   - Control Level 2: 150 ± 10 mg/dL
   - Control Level 3: 300 ± 20 mg/dL
4. กำหนดช่วงการยอมรับ (Acceptable Range)
5. กำหนดความถี่การตรวจสอบ QC (ทุก 8 ชั่วโมง)
6. บันทึกข้อมูล
Expected Result: 
- บันทึกค่ามาตรฐานสำเร็จ
- ใช้ในการควบคุมคุณภาพได้
- แสดงเตือนเมื่อค่า QC ผิดปกติ
- บันทึก Log การตรวจสอบ QC
Test Data: QC: Glucose, L1: 85±5, L2: 150±10, L3: 300±20 mg/dL

Test Case: การกำหนดหน่วย Specimen และ Unit

Test ID: TC-LAB-009
Description: ทดสอบการกำหนดสิ่งส่งตรวจ/หน่วย Specimen/หน่วย unit
TOR Reference: 1.2.7.1.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบ
Test Steps:
1. เข้าสู่หน้าแก้ไขรายการ Lab "Liver Function Test"
2. กำหนดสิ่งส่งตรวจ (Specimen):
   - ALT: Serum, 3 mL
   - AST: Serum, 3 mL
   - ALP: Serum, 3 mL
   - Total Bilirubin: Serum, 2 mL
3. กำหนดหน่วย (Unit):
   - ALT: U/L
   - AST: U/L
   - ALP: U/L
   - Total Bilirubin: mg/dL
4. กำหนดเงื่อนไขการเก็บตัวอย่าง (เวลา, อุณหภูมิ)
5. บันทึกข้อมูล
Expected Result: 
- บันทึกข้อมูล Specimen และ Unit สำเร็จ
- แสดงในใบสั่งตรวจได้ถูกต้อง
- ใช้ในการตรวจสอบปริมาณตัวอย่างได้
- แสดงหน่วยในรายงานผลได้
Test Data: LFT: ALT/AST/ALP=Serum 3mL U/L, T.Bil=Serum 2mL mg/dL

Test Case: การกำหนดอัตราค่าบริการ

Test ID: TC-LAB-010
Description: ทดสอบการกำหนดอัตราค่าบริการสำหรับรายการ Lab
TOR Reference: 1.2.7.1.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบ
- เชื่อมต่อกับระบบการเงิน (1.2.14)
Test Steps:
1. เข้าสู่หน้าจัดการอัตราค่าบริการ Lab
2. เลือกรายการ "Complete Blood Count (CBC)"
3. กำหนดอัตราค่าบริการตามสิทธิ:
   - สิทธิ UC: 80 บาท (ไม่มีค่าใช้จ่าย)
   - สิทธิประกันสังคม: 60 บาท
   - สิทธิข้าราชการ: 70 บาท
   - จ่ายเอง: 120 บาท
4. กำหนดอัตราพิเศษสำหรับผู้ป่วยใน: ลด 10%
5. กำหนดวันที่มีผล: 1 มกราคม 2568
6. บันทึกข้อมูล
Expected Result: 
- บันทึกอัตราค่าบริการสำเร็จ
- คำนวณค่าบริการตามสิทธิได้ถูกต้อง
- ส่งข้อมูลไปยังระบบการเงิน (1.2.14)
- มีผลตามวันที่กำหนด
- แสดงค่าบริการในใบสั่งตรวจ
Test Data: CBC: UC=80, SS=60, Gov=70, Self=120, IPD=-10%

🧪 กลุ่มที่ 2: การสั่งตรวจห้องปฏิบัติการ (TOR 1.2.7.2)

Test Case: การส่งตรวจ Lab จากระบบ Online

Test ID: TC-LAB-011
Description: ทดสอบการส่งตรวจ Lab จากจุดที่ทำการตรวจรักษาผู้ป่วยต่างๆ ผ่านระบบ online
TOR Reference: 1.2.7.2.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- ผู้ป่วยอยู่ในระบบ
- แพทย์ล็อกอินจากระบบห้องตรวจแพทย์ (1.2.3)
- เชื่อมต่อกับระบบตรวจสอบสิทธิ (1.2.15)
Test Steps:
1. เข้าสู่ระบบห้องตรวจแพทย์ (1.2.3)
2. เลือกผู้ป่วย HN: "HN001234"
3. คลิกเมนู "สั่ง Lab"
4. เลือกรายการตรวจ "Complete Blood Count"
5. ตรวจสอบสิทธิการรักษาอัตโนมัติ
6. ระบุความเร่งด่วน: "Routine"
7. ระบุคำแนะนำพิเศษ: "งดอาหาร 8 ชั่วโมง"
8. ยืนยันการสั่งตรวจ
Expected Result: 
- ส่งคำสั่งตรวจ Lab สำเร็จผ่านระบบ Online
- สร้างหมายเลขใบสั่งตรวจอัตโนมัติ
- ตรวจสอบสิทธิการรักษาได้
- ส่งข้อมูลไปยังห้อง Lab ทันที
- บันทึกผู้สั่งและเวลาที่สั่ง
- เชื่อมโยงกับระบบการเงิน (1.2.14) สำหรับคิดค่าบริการ
Test Data: HN: HN001234, Test: CBC, Priority: Routine, Note: งดอาหาร 8 ชม.

Test Case: การสั่ง Lab โดยไม่ระบุรายการตรวจ (Error Case)

Test ID: TC-LAB-011-E1
Description: ทดสอบการป้องกันการส่งคำสั่ง Lab โดยไม่เลือกรายการตรวจ
TOR Reference: 1.2.7.2.1
Test Type: ❌ Error Case
Pre-condition: เข้าสู่หน้าสั่ง Lab
Test Steps:
1. เลือกผู้ป่วย
2. ไม่เลือกรายการตรวจใดๆ
3. พยายามยืนยันการสั่ง
Expected Result:
- แสดงข้อความเตือน "กรุณาเลือกรายการตรวจอย่างน้อย 1 รายการ"
- ไม่สามารถส่งคำสั่งได้
- เน้นส่วนเลือกรายการตรวจ
Test Data: รายการตรวจ: (ไม่เลือก)

Test Case: ระบบตรวจสอบสิทธิขัดข้อง (Fail Case)

Test ID: TC-LAB-011-F1
Description: ทดสอบกรณีไม่สามารถตรวจสอบสิทธิได้
TOR Reference: 1.2.7.2.1
Test Type: ⚠️ Fail Case
Pre-condition: ระบบตรวจสอบสิทธิ (1.2.15) offline
Test Steps:
1. พยายามสั่ง Lab
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความ "⚠️ ไม่สามารถตรวจสอบสิทธิได้ในขณะนี้"
- ให้ตัวเลือก "ดำเนินการต่อ (ตรวจสอบภายหลัง)" หรือ "ยกเลิก"
- หากดำเนินการต่อ: บันทึกสถานะ "รอตรวจสอบสิทธิ"
- แจ้งเตือนเจ้าหน้าที่การเงินให้ตรวจสอบภายหลัง
- บันทึก Warning log
Test Data: Rights verification service: Offline

Test Case: การเลือกชนิดการตรวจทีละรายการ

Test ID: TC-LAB-012
Description: ทดสอบการเลือกชนิดการตรวจ (Test) ในลักษณะการตรวจทีละรายการ
TOR Reference: 1.2.7.2.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีรายการ Lab ในระบบ
- แพทย์ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าสั่งตรวจ Lab
2. เลือกผู้ป่วย
3. คลิก "เพิ่มรายการตรวจทีละรายการ"
4. ค้นหาและเลือกรายการตรวจ:
   - "Fasting Blood Sugar (FBS)"
   - "Uric Acid"
   - "Creatinine"
5. ตรวจสอบค่าบริการของแต่ละรายการ
6. ระบุความเร่งด่วนแต่ละรายการ
7. ยืนยันการสั่งตรวจ
Expected Result: 
- สามารถเลือกรายการตรวจทีละรายการได้
- แสดงข้อมูลของแต่ละรายการชัดเจน
- คำนวณค่าบริการรวมได้ถูกต้อง
- สร้างใบสั่งตรวจสำหรับแต่ละรายการ
- ส่งข้อมูลไปยังห้อง Lab ได้
Test Data: Tests: FBS, Uric Acid, Creatinine, Mode: Individual

Test Case: การเลือกชนิดการตรวจเป็นกลุ่ม

Test ID: TC-LAB-013
Description: ทดสอบการเลือกชนิดการตรวจ (Test) ในลักษณะเป็นกลุ่มชนิดการตรวจ
TOR Reference: 1.2.7.2.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีกลุ่มการตรวจ (Test Panel) ในระบบ
- แพทย์ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าสั่งตรวจ Lab
2. เลือกผู้ป่วย
3. คลิก "เลือกกลุ่มการตรวจ"
4. เลือกกลุ่ม "Liver Function Test Panel" ประกอบด้วย:
   - ALT (SGPT)
   - AST (SGOT)
   - ALP
   - Total Bilirubin
   - Direct Bilirubin
5. ตรวจสอบราคาแบบแพ็คเกจ
6. ยืนยันการสั่งตรวจ
Expected Result: 
- สามารถเลือกกลุ่มการตรวจได้
- แสดงรายการตรวจในกลุ่มครบถ้วน
- ใช้ราคาแบบแพ็คเกจ (ถูกกว่าสั่งแยก)
- สร้างใบสั่งตรวจเดียวสำหรับทั้งกลุ่ม
- ส่งข้อมูลไปยังห้อง Lab พร้อมกัน
Test Data: Panel: LFT, Tests: ALT,AST,ALP,T.Bil,D.Bil, Package: Yes

Test Case: การลดหรือเพิ่มชนิดการตรวจ

Test ID: TC-LAB-014
Description: ทดสอบการลดหรือเพิ่มชนิดการตรวจ (Test) ในการส่งตรวจผู้ป่วยแต่ละคน
TOR Reference: 1.2.7.2.3
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจที่ยังไม่ได้เก็บตัวอย่าง
- แพทย์ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าจัดการใบสั่งตรวจ
2. ค้นหาใบสั่งตรวจของผู้ป่วย HN001234
3. เลือกใบสั่งตรวจที่ต้องการแก้ไข
4. ทดสอบการเพิ่มรายการ:
   - เพิ่ม "HbA1c" เข้าไปในใบสั่งตรวจเดิม
5. ทดสอบการลดรายการ:
   - ลบ "Uric Acid" ออกจากใบสั่งตรวจ
6. ตรวจสอบการคำนวณค่าบริการใหม่
7. บันทึกการเปลี่ยนแปลง
Expected Result: 
- สามารถเพิ่มรายการตรวจได้
- สามารถลบรายการตรวจได้ (ถ้ายังไม่เก็บตัวอย่าง)
- คำนวณค่าบริการใหม่อัตโนมัติ
- บันทึกประวัติการเปลี่ยนแปลง
- อัปเดตข้อมูลในระบบการเงิน (1.2.14)
- แสดงเตือนถ้าเก็บตัวอย่างแล้ว
Test Data: HN: HN001234, Add: HbA1c, Remove: Uric Acid

Test Case: การแก้ไขใบสั่งตรวจหลังเก็บตัวอย่างแล้ว (Error Case)

Test ID: TC-LAB-014-E1
Description: ทดสอบการป้องกันการแก้ไขใบสั่งหลังเก็บตัวอย่างแล้ว
TOR Reference: 1.2.7.2.3
Test Type: ❌ Error Case
Pre-condition: ใบสั่งตรวจถูกเก็บตัวอย่างแล้ว
Test Steps:
1. พยายามแก้ไขใบสั่งตรวจที่เก็บตัวอย่างแล้ว
2. พยายามลบรายการตรวจ
Expected Result:
- แสดงข้อความเตือน "ไม่สามารถแก้ไขได้ เนื่องจากเก็บตัวอย่างแล้ว"
- ปิดการใช้งานปุ่มลบ/แก้ไข
- ให้ตัวเลือก "สั่งตรวจใหม่" หรือ "ยกเลิกใบสั่ง"
- บันทึก Attempt log
Test Data: Order status: Specimen collected

Test Case: การส่งตรวจจากระบบซักประวัติ

Test ID: TC-LAB-015
Description: ทดสอบการส่งตรวจ Lab จากระบบซักประวัติ (1.2.2)
TOR Reference: 1.2.7.2.1
Pre-condition: 
- ระบบซักประวัติ (1.2.2) พร้อมใช้งาน
- ผู้ป่วยอยู่ในระบบ
- พยาบาลล็อกอินในระบบซักประวัติ
Test Steps:
1. เข้าสู่ระบบซักประวัติ (1.2.2)
2. เลือกผู้ป่วยที่ต้องการซักประวัติ
3. บันทึกข้อมูลประวัติเบื้องต้น
4. คลิกเมนู "สั่ง Lab เบื้องต้น"
5. เลือกรายการตรวจพื้นฐาน:
   - Complete Blood Count
   - Fasting Blood Sugar
   - Urine Analysis
6. ระบุเหตุผลการสั่งตรวจ: "Screening"
7. ส่งข้อมูลไปยังระบบ Lab
Expected Result: 
- ส่งคำสั่งตรวจจากระบบซักประวัติสำเร็จ
- เชื่อมโยงข้อมูลผู้ป่วยได้ถูกต้อง
- สร้างใบสั่งตรวจในระบบ Lab
- บันทึกจุดที่สั่งตรวจ (ระบบซักประวัติ)
- ส่งข้อมูลไปยังระบบการเงิน (1.2.14)
Test Data: Source: 1.2.2, Tests: CBC,FBS,UA, Reason: Screening

Test Case: การส่งตรวจฉุกเฉินจากห้อง ER

Test ID: TC-LAB-016
Description: ทดสอบการส่งตรวจ Lab ฉุกเฉินจากระบบห้องฉุกเฉิน (1.2.4)
TOR Reference: 1.2.7.2.1
Pre-condition: 
- ระบบห้องฉุกเฉิน (1.2.4) พร้อมใช้งาน
- ผู้ป่วยฉุกเฉินอยู่ในระบบ
- แพทย์ฉุกเฉินล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่ระบบห้องฉุกเฉิน (1.2.4)
2. เลือกผู้ป่วยฉุกเฉิน
3. คลิกเมนู "สั่ง Lab ฉุกเฉิน"
4. เลือกรายการตรวจฉุกเฉิน:
   - ABG (Arterial Blood Gas)
   - Cardiac Enzymes
   - Electrolytes
5. ระบุความเร่งด่วน: "STAT" (ผลภายใน 1 ชั่วโมง)
6. ส่งการแจ้งเตือนไปยังห้อง Lab
7. ยืนยันการสั่งตรวจ
Expected Result: 
- ส่งคำสั่งตรวจฉุกเฉินสำเร็จ
- ระบบแจ้งเตือนห้อง Lab ทันที
- กำหนดลำดับความสำคัญสูงสุด
- ติดตามเวลารายงานผลได้
- แสดงสถานะ "STAT" ในระบบ Lab
Test Data: Source: ER, Tests: ABG,Cardiac Enzymes,Electrolytes, Priority: STAT

Test Case: การส่งตรวจจากผู้ป่วยใน

Test ID: TC-LAB-017
Description: ทดสอบการส่งตรวจ Lab จากระบบผู้ป่วยใน (1.2.17)
TOR Reference: 1.2.7.2.1
Pre-condition: 
- ระบบผู้ป่วยใน (1.2.17) พร้อมใช้งาน
- ผู้ป่วยใน Admit อยู่ในระบบ
- แพทย์ประจำหอผู้ป่วยล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่ระบบผู้ป่วยใน (1.2.17)
2. เลือกผู้ป่วยในหอผู้ป่วย Ward A
3. คลิกเมนู "สั่ง Lab ประจำวัน"
4. เลือกรายการตรวจติดตาม:
   - Complete Blood Count
   - Basic Metabolic Panel
   - Liver Function Test
5. กำหนดเวลาเก็บตัวอย่าง: 06:00 น. วันถัดไป
6. ระบุห้องและเตียง: Ward A, Bed 15
7. ยืนยันการสั่งตรวจ
Expected Result: 
- ส่งคำสั่งตรวจสำหรับผู้ป่วยในสำเร็จ
- กำหนดเวลาเก็บตัวอย่างได้
- ระบุตำแหน่งผู้ป่วยได้ถูกต้อง
- เชื่อมโยงกับระบบผู้ป่วยใน (1.2.17)
- ส่งข้อมูลไปยังทีมเก็บตัวอย่าง
Test Data: Source: IPD, Ward: A, Bed: 15, Time: 06:00, Tests: CBC,BMP,LFT

Test Case: การสั่งตรวจ Lab ล่วงหน้าจากการนัดหมาย

Test ID: TC-LAB-018
Description: ทดสอบการสั่งตรวจ Lab ล่วงหน้าจากระบบนัดหมาย (1.2.6)
TOR Reference: 1.2.7.2.1
Pre-condition: 
- ระบบนัดหมาย (1.2.6) พร้อมใช้งาน
- ผู้ป่วยมีการนัดหมายในระบบ
- แพทย์ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่ระบบนัดหมาย (1.2.6)
2. เลือกผู้ป่วยที่มีการนัดหมาย
3. คลิกเมนู "สั่ง Lab ล่วงหน้า"
4. เลือกรายการตรวจสำหรับการนัด:
   - HbA1c (สำหรับผู้ป่วยเบาหวาน)
   - Lipid Profile
5. กำหนดวันที่ต้องการผล: ก่อนวันนัด 1 วัน
6. ระบุคำแนะนำ: "งดอาหาร 12 ชั่วโมง"
7. บันทึกการสั่งตรวจล่วงหน้า
Expected Result: 
- สั่งตรวจ Lab ล่วงหน้าสำเร็จ
- เชื่อมโยงกับการนัดหมายได้
- กำหนดเวลารายงานผลก่อนวันนัดได้
- ส่งคำแนะนำให้ผู้ป่วยได้
- แสดงในระบบ Lab เป็นการนัดหมาย
Test Data: Appointment: Diabetes F/U, Tests: HbA1c,Lipid, Pre-appointment: 1 day

📊 กลุ่มที่ 3: การรายงานผลการตรวจ (TOR 1.2.7.3)

Test Case: การแสดงข้อมูลผู้ป่วยที่ส่งตรวจแบบ Online

Test ID: TC-LAB-019
Description: ทดสอบการแสดงข้อมูลผู้ป่วยที่มีการส่งตรวจรักษาทางห้องปฏิบัติการแบบ Online
TOR Reference: 1.2.7.3.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีข้อมูลผู้ป่วยที่ส่งตรวจในระบบ
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่ระบบห้อง Lab
2. เลือกเมนู "รายการผู้ป่วยที่ส่งตรวจ"
3. ตั้งค่าตัวกรอง:
   - วันที่: วันปัจจุบัน
   - สถานะ: "รอเก็บตัวอย่าง"
   - ความเร่งด่วน: "ทั้งหมด"
4. ตรวจสอบการแสดงรายการผู้ป่วย
5. ทดสอบการ Refresh ข้อมูลแบบ Real-time
Expected Result: 
- แสดงรายการผู้ป่วยที่ส่งตรวจ Online
- ข้อมูลอัปเดตแบบ Real-time
- สามารถกรองข้อมูลตามเงื่อนไขได้
- แสดงสถานะการตรวจชัดเจน
- เรียงลำดับตามความเร่งด่วน
Test Data: Date: Today, Status: Pending, Priority: All

Test Case: การค้นหาผู้ป่วยด้วยหลายเงื่อนไข

Test ID: TC-LAB-020
Description: ทดสอบการค้นหาผู้ป่วยด้วยหมายเลข HN, ชื่อ, นามสกุล, เลขบัตรประชาชน และ Barcode
TOR Reference: 1.2.7.3.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีข้อมูลผู้ป่วยในระบบ
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าค้นหาผู้ป่วยในระบบ Lab
2. ทดสอบการค้นหาด้วย HN: "HN001234"
3. ทดสอบการค้นหาด้วยชื่อ: "สมชาย"
4. ทดสอบการค้นหาด้วยนามสกุล: "ใจดี"
5. ทดสอบการค้นหาด้วยเลขบัตรประชาชน: "1234567890123"
6. ทดสอบการค้นหาด้วย Barcode Scanner
7. ตรวจสอบผลการค้นหาในแต่ละกรณี
Expected Result: 
- ค้นหาด้วย HN ได้ถูกต้อง
- ค้นหาด้วยชื่อ-นามสกุลได้ (แบบ Partial Match)
- ค้นหาด้วยเลขบัตรประชาชนได้
- รองรับ Barcode Scanner
- แสดงผลการค้นหาที่เกี่ยวข้อง
- ไม่แสดงข้อมูลผู้ป่วยที่ไม่เกี่ยวข้อง
Test Data: HN: HN001234, Name: สมชาย, Surname: ใจดี, ID: 1234567890123

Test Case: การแสดงข้อมูลครบถ้วนของผู้ป่วย

Test ID: TC-LAB-021
Description: ทดสอบการแสดงข้อมูล HN, ชื่อ-สกุล, อายุ, วันที่-เวลาสั่ง, ใบ Lab, จุดสั่ง, แผนกสั่ง, สิทธิ
TOR Reference: 1.2.7.3.3
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีข้อมูลผู้ป่วยที่ส่งตรวจในระบบ
Test Steps:
1. เข้าสู่ระบบ Lab
2. ค้นหาและเลือกผู้ป่วย HN001234
3. ตรวจสอบการแสดงข้อมูลครบถ้วน:
   - HN: HN001234
   - ชื่อ-สกุล: นาย สมชาย ใจดี
   - อายุ: 45 ปี 3 เดือน
   - วันที่-เวลาสั่ง: 12/10/2568 08:30
   - เลขใบ Lab: LAB20681012001
   - จุดที่สั่ง: ห้องตรวจแพทย์ทั่วไป
   - แผนกที่สั่ง: แผนกอายุรกรรม
   - สิทธิการรักษา: หลักประกันสุขภาพถ้วนหน้า (UC)
4. ตรวจสอบการคำนวณอายุอัตโนมัติ
Expected Result: 
- แสดงข้อมูลครบถ้วนตามที่กำหนด
- คำนวณอายุได้ถูกต้อง
- แสดงเลขใบ Lab ที่ไม่ซ้ำ
- ระบุจุดและแผนกที่สั่งได้ชัดเจน
- แสดงสิทธิการรักษาได้ถูกต้อง
Test Data: HN: HN001234, Age: 45y3m, Lab#: LAB20681012001, Dept: Internal Medicine

Test Case: การเรียกดูประวัติการตรวจย้อนหลัง

Test ID: TC-LAB-022
Description: ทดสอบการเรียกดูข้อมูลประวัติการตรวจย้อนหลัง รวมทั้งการมารับบริการ การวินิจฉัย การสั่งยา Lab/X-Ray
TOR Reference: 1.2.7.3.4
Pre-condition: 
- ระบบพร้อมใช้งาน
- ผู้ป่วยมีประวัติการตรวจในระบบ
- เชื่อมต่อกับระบบเวชระเบียน (1.2.1) และระบบอื่นๆ
Test Steps:
1. เข้าสู่ระบบ Lab
2. เลือกผู้ป่วย HN001234
3. คลิกเมนู "ประวัติการตรวจย้อนหลัง"
4. ตรวจสอบการแสดงข้อมูล:
   - ประวัติการมารับบริการ (Visit History)
   - การวินิจฉัยโรค (Diagnosis History)
   - การสั่งจ่ายยา (Medication History)
   - การสั่ง Lab/X-Ray (Investigation History)
   - การตรวจร่างกาย (Physical Examination)
   - การนัดหมาย (Appointment History)
   - การ Admit (Admission History)
5. ทดสอบการกรองข้อมูลตามช่วงเวลา
Expected Result: 
- แสดงประวัติครบถ้วนตามที่กำหนด
- เชื่อมโยงข้อมูลจากระบบต่างๆ ได้
- สามารถกรองข้อมูลตามช่วงเวลาได้
- แสดงข้อมูลเรียงตามลำดับเวลา
- เข้าถึงได้รวดเร็ว
Test Data: HN: HN001234, Period: Last 1 Year, Include: All History

Test Case: การบันทึกรายงานผล Lab

Test ID: TC-LAB-023
Description: ทดสอบการบันทึกรายงานผล Lab
TOR Reference: 1.2.7.3.5
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจที่รอรายงานผล
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้ารายงานผล Lab
2. เลือกใบสั่งตรวจ LAB20681012001
3. บันทึกผลการตรวจ CBC:
   - WBC: 8,500 cells/μL (ปกติ: 4,000-11,000)
   - RBC: 4.8 million cells/μL (ปกติ: 4.5-5.5)
   - Hb: 14.2 g/dL (ปกติ: 13.5-17.5)
   - Hct: 42% (ปกติ: 41-53)
   - Platelet: 350,000 cells/μL (ปกติ: 150,000-450,000)
4. ระบบตรวจสอบค่าปกติ/ผิดปกติอัตโนมัติ
5. บันทึกข้อมูล
Expected Result: 
- บันทึกผลการตรวจสำเร็จ
- ตรวจสอบค่าปกติอัตโนมัติ
- แสดงสัญลักษณ์หรือสีเตือนสำหรับค่าผิดปกติ
- บันทึกผู้รายงานและเวลา
- ส่งข้อมูลไปยังระบบที่เกี่ยวข้อง
Test Data: Lab#: LAB20681012001, WBC: 8500, RBC: 4.8, Hb: 14.2, Hct: 42, PLT: 350000

Test Case: การบันทึกภาพถ่ายและ Result Text

Test ID: TC-LAB-024
Description: ทดสอบการบันทึกภาพถ่าย และ Result Text
TOR Reference: 1.2.7.3.6
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจที่ต้องการแนบภาพ
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้ารายงานผล Lab
2. เลือกรายการตรวจ "Urine Microscopy"
3. คลิกปุ่ม "แนบภาพถ่าย"
4. อัปโหลดภาพถ่าย Microscopic Image (.jpg, .png)
5. บันทึก Result Text:
   - "RBC: 2-3 cells/hpf"
   - "WBC: 0-1 cells/hpf"
   - "Epithelial cells: Few"
   - "Bacteria: Rare"
6. ตรวจสอบการแสดงภาพและข้อความ
7. บันทึกข้อมูล
Expected Result: 
- อัปโหลดภาพถ่ายสำเร็จ
- บันทึก Result Text ได้
- แสดงภาพในรายงานผลได้
- รองรับไฟล์รูปแบบต่างๆ
- ควบคุมขนาดไฟล์ได้
Test Data: Test: Urine Microscopy, Image: microscope.jpg, Text: RBC 2-3, WBC 0-1

Test Case: การอัปโหลดภาพขนาดเกินกำหนด (Error Case)

Test ID: TC-LAB-024-E1
Description: ทดสอบการป้องกันการอัปโหลดภาพขนาดเกินที่กำหนด
TOR Reference: 1.2.7.3.6
Test Type: ❌ Error Case
Pre-condition: มีไฟล์ภาพขนาดใหญ่เกิน 10MB
Test Steps:
1. พยายามอัปโหลดไฟล์ภาพขนาด 15MB
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความเตือน "ไฟล์ภาพมีขนาดเกิน 10MB กรุณาลดขนาดภาพ"
- แนะนำขนาดที่เหมาะสม
- ไม่สามารถอัปโหลดได้
Test Data: File size: 15MB (เกินกำหนด)

Test Case: การบันทึกผลโดยไม่มีค่าตรวจ (Error Case)

Test ID: TC-LAB-024-E2
Description: ทดสอบการป้องกันการบันทึกผลโดยไม่กรอกค่าตรวจ
TOR Reference: 1.2.7.3.6
Test Type: ❌ Error Case
Pre-condition: เข้าสู่หน้ารายงานผล
Test Steps:
1. เลือกรายการตรวจที่ต้องการบันทึก
2. ไม่กรอกค่าผลการตรวจ
3. พยายามบันทึก
Expected Result:
- แสดงข้อความเตือน "กรุณากรอกผลการตรวจให้ครบถ้วน"
- เน้นช่องที่จำเป็นต้องกรอก
- ไม่สามารถบันทึกได้จนกว่าจะกรอกครบ
Test Data: ผลการตรวจ: (ว่าง)

Test Case: การนัดหมายเพื่อฟังผลในวันอื่น

Test ID: TC-LAB-025
Description: ทดสอบการนัดหมายเพื่อฟังผลในวันอื่นได้
TOR Reference: 1.2.7.3.7
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่ต้องการนัดฟังผล
- เชื่อมต่อกับระบบนัดหมาย (1.2.6)
Test Steps:
1. เข้าสู่ระบบ Lab
2. เลือกผู้ป่วยที่มีผลตรวจแล้ว
3. คลิกเมนู "นัดฟังผล Lab"
4. เลือกประเภทการนัด: "นัดฟังผล Lab"
5. กำหนดวันที่นัด: 15/10/2568
6. เลือกแพทย์: นพ.วิทยา สุขใส
7. ระบุเหตุผล: "ติดตามผล HbA1c ผู้ป่วยเบาหวาน"
8. ส่งข้อมูลไปยังระบบนัดหมาย (1.2.6)
9. พิมพ์ใบนัดหมาย
Expected Result: 
- นัดหมายเพื่อฟังผลสำเร็จ
- ส่งข้อมูลไปยังระบบนัดหมาย (1.2.6)
- สร้างใบนัดหมายได้
- แสดงในปฏิทินแพทย์
- ผู้ป่วยได้รับใบนัดหมาย
Test Data: Date: 15/10/2568, Doctor: นพ.วิทยา, Reason: ติดตาม HbA1c

Test Case: การดูผลการตรวจ Lab ผ่านระบบ Online

Test ID: TC-LAB-026
Description: ทดสอบให้ผู้สั่งสามารถดูผลการตรวจ Lab ผ่านระบบ online ได้
TOR Reference: 1.2.7.3.8
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่อนุมัติแล้ว
- แพทย์ผู้สั่งล็อกอินในระบบห้องตรวจ (1.2.3)
Test Steps:
1. แพทย์เข้าสู่ระบบห้องตรวจแพทย์ (1.2.3)
2. เลือกผู้ป่วยที่สั่งตรวจ Lab
3. คลิกเมนู "ดูผล Lab"
4. ตรวจสอบการแสดงผลการตรวจ:
   - รายการตรวจที่สั่ง
   - ผลการตรวจพร้อมค่าปกติ
   - สถานะ: อนุมัติแล้ว
   - วันที่-เวลารายงานผล
5. ทดสอบการเปรียบเทียบกับผลเดิม
6. ดาวน์โหลด/พิมพ์รายงานผล
Expected Result: 
- แพทย์ผู้สั่งดูผลการตรวจได้ Online
- แสดงผลการตรวจครบถ้วน
- เปรียบเทียบกับผลเดิมได้
- ดาวน์โหลดรายงานผลได้
- อัปเดตแบบ Real-time
Test Data: HN: HN001234, Tests: CBC, Status: Approved, View: Online

Test Case: การแจ้งเตือนค่าผิดปกติ

Test ID: TC-LAB-027
Description: ทดสอบการแจ้งเตือนเมื่อมีรายการที่มีค่าผิดปกติ
TOR Reference: 1.2.7.3.9
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีการกำหนดค่าผิดปกติและค่าวิกฤต
- มีผลการตรวจที่ผิดปกติ
Test Steps:
1. เจ้าหน้าที่ Lab บันทึกผลตรวจที่ผิดปกติ:
   - Glucose: 450 mg/dL (ปกติ: 70-110)
   - Creatinine: 5.2 mg/dL (ปกติ: 0.7-1.3)
2. ระบบตรวจสอบค่าผิดปกติอัตโนมัติ
3. ตรวจสอบการแจ้งเตือน:
   - แจ้งไปยังแพทย์ผู้สั่ง
   - แจ้งไปยังหัวหน้าแผนก
   - แจ้งไปยังห้อง Lab
4. ตรวจสอบ Log การแจ้งเตือน
Expected Result: 
- แจ้งเตือนค่าผิดปกติอัตโนมัติ
- ส่งการแจ้งเตือนไปยังผู้เกี่ยวข้อง
- แสดงสัญลักษณ์เตือนในรายงาน
- บันทึก Log การแจ้งเตือน
- กำหนดลำดับความสำคัญได้
Test Data: Glucose: 450 (Critical), Creatinine: 5.2 (Abnormal), Alert: Auto

Test Case: ระบบแจ้งเตือนค่าวิกฤตขัดข้อง (Fail Case)

Test ID: TC-LAB-027-F1
Description: ทดสอบกรณีระบบแจ้งเตือนไม่ทำงาน
TOR Reference: 1.2.7.3.9
Test Type: ⚠️ Fail Case
Pre-condition: Notification service offline
Test Steps:
1. บันทึกผลตรวจที่เป็นค่าวิกฤต (Critical Value)
2. ตรวจสอบการจัดการ
Expected Result:
- แสดงข้อความ "⚠️ ไม่สามารถส่งการแจ้งเตือนอัตโนมัติได้"
- บันทึกผลการตรวจสำเร็จแต่มีสถานะ "รอแจ้งเตือน"
- แสดงคำเตือน "กรุณาแจ้งแพทย์ผู้สั่งด้วยตนเอง (โทร/Line)"
- บันทึกลง Pending notification queue
- แสดงรายการ Critical values ที่รอแจ้งเตือนในหน้า Dashboard
- Retry notification อัตโนมัติเมื่อระบบกลับมาทำงาน
Test Data: Glucose: 30 mg/dL (Critical Low), Notification: Failed

Test Case: การกรอกผลการตรวจนอกช่วงค่าที่เป็นไปได้ (Error Case)

Test ID: TC-LAB-027-E1
Description: ทดสอบการป้องกันการกรอกค่าที่ผิดพลาดชัดเจน
TOR Reference: 1.2.7.3.6
Test Type: ❌ Error Case
Pre-condition: เข้าสู่หน้าบันทึกผลการตรวจ
Test Steps:
1. พยายามบันทึกผล Hemoglobin: 50 g/dL (ค่าที่เป็นไปไม่ได้)
2. พยายามบันทึกผล WBC: -5 cells/mm³ (ค่าติดลบ)
Expected Result:
- แสดงข้อความเตือน "ค่าผลการตรวจอยู่นอกช่วงที่เป็นไปได้ กรุณาตรวจสอบ"
- ให้ตัวเลือก "ตรวจสอบอีกครั้ง" หรือ "ยืนยัน (ระบุเหตุผล)"
- หากยืนยัน: ต้องกรอกเหตุผลและส่งให้หัวหน้าแผนก Approve
Test Data: Hb: 50 g/dL (impossible), WBC: -5 (negative)

Test Case: การบันทึก Lab Note

Test ID: TC-LAB-028
Description: ทดสอบการบันทึก Lab Note เพื่อแจ้งไปยังผู้ดูผลการตรวจ
TOR Reference: 1.2.7.3.10
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่ต้องการใส่ Note
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้ารายงานผล Lab
2. เลือกผลการตรวจที่ต้องการใส่ Note
3. คลิก "เพิ่ม Lab Note"
4. บันทึก Note:
   - "ตัวอย่างมีลักษณะ Hemolysis เล็กน้อย"
   - "แนะนำเก็บตัวอย่างใหม่หากต้องการความแม่นยำสูง"
   - "ติดต่อ Lab ภายใน ext. 1234"
5. กำหนดระดับความสำคัญ: "ข้อมูลเพิ่มเติม"
6. บันทึก Note
Expected Result: 
- บันทึก Lab Note สำเร็จ
- แสดง Note ในรายงานผล
- ผู้ดูผลเห็น Note ได้
- ระบุผู้เขียน Note และเวลา
- จัดการระดับความสำคัญได้
Test Data: Note: Hemolysis detected, Level: Info, Contact: ext.1234

Test Case: การแสดงสัญลักษณ์เสร็จสิ้น

Test ID: TC-LAB-029
Description: ทดสอบการแสดงข้อความหรือสัญลักษณ์เมื่อการตรวจเสร็จสิ้นแล้ว
TOR Reference: 1.2.7.3.11
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่อนุมัติแล้ว
- เชื่อมต่อกับระบบที่สั่งตรวจ
Test Steps:
1. เจ้าหน้าที่ Lab อนุมัติผลการตรวจ
2. ระบบส่งสัญญาณไปยังจุดที่สั่งตรวจ
3. ตรวจสอบการแสดงสัญลักษณ์ในระบบห้องตรวจ (1.2.3):
   - ไอคอน "✓" สีเขียว ข้างชื่อผู้ป่วย
   - ข้อความ "Lab Results Available"
   - เสียงแจ้งเตือน (ถ้าเปิดใช้)
4. ตรวจสอบการแจ้งเตือนในระบบอื่นๆ
5. ทดสอบการเข้าดูผลการตรวจ
Expected Result: 
- แสดงสัญลักษณ์เสร็จสิ้นในจุดที่สั่งตรวจ
- ส่งการแจ้งเตือนไปยังระบบต่างๆ
- ผู้ใช้ทราบว่าผลพร้อมดู
- สัญลักษณ์ชัดเจนและเข้าใจง่าย
- อัปเดตแบบ Real-time
Test Data: Status: Approved, Symbol: ✓, Message: Lab Results Available

Test Case: การนำผล Lab นอกมารายงาน

Test ID: TC-LAB-030
Description: ทดสอบการนำผล LAB นอกในรูปแบบของ PDF File มารายงานผลได้
TOR Reference: 1.2.7.3.12
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีไฟล์ PDF ผล Lab นอก
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้ารายงานผล Lab
2. เลือกรายการตรวจ Out Lab "Tumor Marker"
3. คลิก "อัปโหลดผล Lab นอก"
4. เลือกไฟล์ PDF: "CEA_Result_HN001234.pdf"
5. ตรวจสอบเนื้อหาไฟล์ PDF:
   - ข้อมูลผู้ป่วยถูกต้อง
   - ผลการตรวจครบถ้วน
   - ลายเซ็นห้อง Lab นอก
6. ยืนยันการอัปโหลด
7. ทดสอบการดูไฟล์ PDF ในระบบ
Expected Result: 
- อัปโหลดไฟล์ PDF สำเร็จ
- แสดงไฟล์ PDF ในระบบได้
- ดาวน์โหลดไฟล์ PDF ได้
- เชื่อมโยงกับข้อมูลผู้ป่วย
- ตรวจสอบความถูกต้องของไฟล์
Test Data: OutLab: CEA, File: CEA_Result_HN001234.pdf, Size: 2MB

Test Case: การเปรียบเทียบผลการตรวจ

Test ID: TC-LAB-031
Description: ทดสอบการเปรียบเทียบกับผลการตรวจครั้งล่าสุด
TOR Reference: 1.2.7.3.4
Pre-condition: 
- ระบบพร้อมใช้งาน
- ผู้ป่วยมีประวัติการตรวจเดิม
- มีผลการตรวจใหม่
Test Steps:
1. เข้าสู่หน้าดูผลการตรวจ
2. เลือกผู้ป่วย HN001234
3. คลิก "เปรียบเทียบผลการตรวจ"
4. เลือกรายการที่ต้องการเปรียบเทียบ: "HbA1c"
5. ตรวจสอบการแสดงข้อมูล:
   - ผลล่าสุด: 8.5% (12/10/2568)
   - ผลครั้งก่อน: 9.2% (12/07/2568)
   - แนวโน้ม: ลดลง 0.7% (ดีขึ้น)
6. ดูกราฟแสดงแนวโน้ม
7. ทดสอบการส่งออกข้อมูลเปรียบเทียบ
Expected Result: 
- เปรียบเทียบผลการตรวจได้ถูกต้อง
- แสดงแนวโน้มการเปลี่ยนแปลง
- แสดงกราฟได้ชัดเจน
- ส่งออกข้อมูลได้
- วิเคราะห์การปรับปรุงได้
Test Data: HbA1c: Current 8.5%, Previous 9.2%, Trend: Improved -0.7%

Test Case: การจัดการผลการตรวจ STAT

Test ID: TC-LAB-032
Description: ทดสอบการจัดการผลการตรวจ STAT (ฉุกเฉิน) และการแจ้งเตือนด่วน
TOR Reference: 1.2.7.3.8, 1.2.7.3.9
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีการสั่งตรวจ STAT
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. รับตัวอย่าง STAT จากห้องฉุกเฉิน
2. ตรวจสอบลำดับความสำคัญ: "STAT - ฉุกเฉิน"
3. ดำเนินการตรวจทันที
4. บันทึกผลการตรวจ:
   - ABG: pH 7.25, pCO2 55, pO2 85, HCO3 18
5. ระบบแจ้งเตือนอัตโนมัติ (ค่า pH ต่ำกว่าปกติ)
6. ส่งผลไปยังห้องฉุกเฉิน (1.2.4) ทันที
7. ติดตามการรับทราบผล
Expected Result: 
- จัดการ STAT เป็นลำดับแรก
- รายงานผลภายในเวลาที่กำหนด (< 1 ชั่วโมง)
- แจ้งเตือนค่าผิดปกติทันที
- ส่งผลแบบ Real-time
- บันทึก Log การรับทราบ
Test Data: Priority: STAT, Test: ABG, TAT: <1hr, pH: 7.25 (Low)

Test Case: การติดตามสถานะตัวอย่าง

Test ID: TC-LAB-033
Description: ทดสอบการติดตามสถานะของตัวอย่างตั้งแต่เก็บจนถึงรายงานผล
TOR Reference: 1.2.7.3.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจในระบบ
Test Steps:
1. เข้าสู่หน้าติดตามสถานะตัวอย่าง
2. ค้นหาใบสั่งตรวจ LAB20681012001
3. ตรวจสอบสถานะปัจจุบัน:
   - "รอเก็บตัวอย่าง" → "เก็บตัวอย่างแล้ว"
   - "ส่งไปห้อง Lab" → "รับตัวอย่างแล้ว"
   - "กำลังตรวจ" → "ตรวจเสร็จ"
   - "รอตรวจสอบ" → "อนุมัติแล้ว"
4. ตรวจสอบ Timeline ของแต่ละขั้นตอน
5. ดูผู้รับผิดชอบในแต่ละขั้นตอน
Expected Result: 
- ติดตามสถานะได้แบบ Real-time
- แสดง Timeline ที่ชัดเจน
- ระบุผู้รับผิดชอบในแต่ละขั้นตอน
- อัปเดตสถานะอัตโนมัติ
- แจ้งเตือนเมื่อล่าช้า
Test Data: Lab#: LAB20681012001, Status: Real-time tracking, Timeline: Complete

✅ กลุ่มที่ 4: การควบคุมคุณภาพ (TOR 1.2.7.4)

Test Case: การตรวจสอบการเข้าอ่านผล Lab

Test ID: TC-LAB-034
Description: ทดสอบการตรวจสอบการเข้ามาอ่านผล Lab
TOR Reference: 1.2.7.4.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่อนุมัติแล้ว
- มีผู้ใช้งานหลายคนในระบบ
Test Steps:
1. เข้าสู่หน้าควบคุมคุณภาพ
2. เลือกเมนู "ตรวจสอบการเข้าอ่านผล"
3. เลือกช่วงเวลา: วันปัจจุบัน
4. ตรวจสอบ Log การเข้าอ่านผล:
   - ผู้ใช้: นพ.วิทยา สุขใส
   - เวลาเข้าดู: 14:30:25
   - ผู้ป่วย: HN001234
   - รายการตรวจ: CBC
   - IP Address: 192.168.1.100
5. กรองข้อมูลตามผู้ใช้, แผนก, หรือรายการตรวจ
6. ส่งออกรายงาน Log
Expected Result: 
- บันทึก Log การเข้าอ่านผลครบถ้วน
- แสดงข้อมูลการเข้าถึงได้ชัดเจน
- สามารถกรองและค้นหาได้
- ส่งออกรายงานได้
- ตรวจสอบการเข้าถึงที่ผิดปกติได้
Test Data: User: นพ.วิทยา, Time: 14:30:25, HN: HN001234, Test: CBC

Test Case: การระบุ Report by และ Approved by

Test ID: TC-LAB-035
Description: ทดสอบการระบุได้ว่า Report by และ Approved by ได้
TOR Reference: 1.2.7.4.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่ต้องการอนุมัติ
- เจ้าหน้าที่ Lab และหัวหน้าแผนกล็อกอินสำเร็จ
Test Steps:
1. เจ้าหน้าที่ Lab บันทึกผลการตรวจ
2. ระบุ "Report by": นางสาวสุดา ใจดี (Medical Technologist)
3. ส่งผลให้หัวหน้าแผนกตรวจสอบ
4. หัวหน้าแผนกตรวจสอบและอนุมัติผล
5. ระบุ "Approved by": นพ.สมชาย เจริญ (Head of Laboratory)
6. บันทึกเวลาที่ Report และ Approve
7. ตรวจสอบการแสดงข้อมูลในรายงานผล
Expected Result: 
- บันทึกผู้ Report และผู้ Approve ได้ถูกต้อง
- แสดงข้อมูลในรายงานผล
- บันทึกเวลา Report และ Approve
- ตรวจสอบสิทธิ์การอนุมัติได้
- มี Digital Signature (ถ้ามี)
Test Data: Report by: นางสาวสุดา, Approved by: นพ.สมชาย, Role: Verified

Test Case: การยืนยันและล็อกผลการรายงาน

Test ID: TC-LAB-036
Description: ทดสอบการยืนยันและ Lock ผลการรายงาน หรือไม่แสดงในบางรายการถ้ายังไม่ได้ผล
TOR Reference: 1.2.7.4.3
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่ต้องการล็อก
- หัวหน้าแผนก Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าจัดการผลการตรวจ
2. เลือกผลการตรวจที่ต้องการล็อก
3. ตรวจสอบความถูกต้องของผล
4. คลิก "ยืนยันและล็อกผล"
5. ระบุเหตุผล: "ผลถูกต้องและครบถ้วน"
6. ยืนยันการล็อก
7. ทดสอบการแก้ไขผลหลังล็อก (ควรไม่ได้)
8. ทดสอบการซ่อนรายการที่ยังไม่มีผล
Expected Result: 
- ล็อกผลการรายงานสำเร็จ
- ไม่สามารถแก้ไขผลหลังล็อกได้
- แสดงสถานะ "ล็อกแล้ว"
- ซ่อนรายการที่ยังไม่มีผล
- บันทึก Log การล็อก
Test Data: Status: Locked, Reason: ผลถูกต้องครบถ้วน, Editable: No

Test Case: การแก้ไขผลหลังล็อกแล้ว (Error Case)

Test ID: TC-LAB-036-E1
Description: ทดสอบการป้องกันการแก้ไขผลที่ล็อกแล้ว
TOR Reference: 1.2.7.4.3
Test Type: ❌ Error Case
Pre-condition: ผลการตรวจถูกล็อกแล้ว
Test Steps:
1. พยายามแก้ไขผลการตรวจที่ล็อกแล้ว
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความเตือน "ไม่สามารถแก้ไขได้ เนื่องจากผลถูกล็อกแล้ว"
- ปิดการใช้งานปุ่มแก้ไข
- ให้ตัวเลือก "ขอปลดล็อก (ต้องได้รับอนุมัติจากหัวหน้าแผนก)"
- บันทึก Attempt log
Test Data: Status: Locked, Edit attempt: Blocked

Test Case: การอนุมัติผลโดยผู้ไม่มีสิทธิ์ (Error Case)

Test ID: TC-LAB-036-E2
Description: ทดสอบการป้องกันการอนุมัติผลโดยผู้ที่ไม่มีสิทธิ์
TOR Reference: 1.2.7.4.2
Test Type: ❌ Error Case
Pre-condition: ผู้ใช้ทั่วไป (ไม่ใช่หัวหน้าแผนก) ล็อกอิน
Test Steps:
1. พยายามอนุมัติผลการตรวจ
2. ตรวจสอบการป้องกัน
Expected Result:
- ไม่แสดงปุ่ม "อนุมัติผล"
- หากพยายามเข้าถึงผ่าน URL: แสดง "คุณไม่มีสิทธิ์ในการอนุมัติผล"
- บันทึก Unauthorized access attempt
Test Data: Role: Lab Technician (ไม่มีสิทธิ์อนุมัติ)

Test Case: การบันทึกประวัติการรายงานผลและการเปลี่ยนแปลง

Test ID: TC-LAB-037
Description: ทดสอบการบันทึกและแสดงประวัติการรายงานผล และการเปลี่ยนแปลงผล Lab
TOR Reference: 1.2.7.4.4
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่มีการแก้ไข
- เจ้าหน้าที่ Lab ล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้าประวัติการรายงานผล
2. เลือกผู้ป่วย HN001234
3. เลือกรายการตรวจ "Glucose"
4. ตรวจสอบประวัติการเปลี่ยนแปลง:
   - Version 1: 120 mg/dL (รายงานเมื่อ 10:30)
   - Version 2: 125 mg/dL (แก้ไขเมื่อ 11:15)
   - Version 3: 123 mg/dL (แก้ไขครั้งสุดท้าย 11:45)
5. ดูรายละเอียดการเปลี่ยนแปลง:
   - ผู้แก้ไข, เหตุผล, เวลา
6. ส่งออกรายงาน Audit Trail
Expected Result: 
- บันทึกประวัติการเปลี่ยนแปลงครบถ้วน
- แสดงข้อมูลผู้แก้ไขและเหตุผล
- เปรียบเทียบเวอร์ชันต่างๆ ได้
- ส่งออก Audit Trail ได้
- ตรวจสอบความถูกต้องได้
Test Data: HN: HN001234, Test: Glucose, Versions: 3, Latest: 123 mg/dL

Test Case: การควบคุมคุณภาพด้วย QC Samples

Test ID: TC-LAB-038
Description: ทดสอบการควบคุมคุณภาพด้วยการใช้ QC Samples และการติดตาม QC Charts
TOR Reference: 1.2.7.4 (เพิ่มเติม)
Pre-condition: 
- ระบบพร้อมใช้งาน
- มี QC Samples ในระบบ
- กำหนดค่ามาตรฐาน QC แล้ว
Test Steps:
1. เข้าสู่หน้าควบคุมคุณภาพ
2. เลือกรายการ "Glucose QC"
3. บันทึกผล QC Control Level 1:
   - Target: 85 mg/dL
   - Acceptable Range: 80-90 mg/dL
   - ผลที่ได้: 87 mg/dL
4. บันทึกผล QC Control Level 2:
   - Target: 150 mg/dL
   - Acceptable Range: 140-160 mg/dL
   - ผลที่ได้: 155 mg/dL
5. ตรวจสอบ QC Chart และแนวโน้ม
6. ทดสอบกรณีผล QC เกินช่วงที่ยอมรับได้
Expected Result: 
- บันทึกผล QC ได้ถูกต้อง
- แสดง QC Chart ได้
- เตือนเมื่อผล QC ผิดปกติ
- ป้องกันการรายงานผลเมื่อ QC ผิดปกติ
- ติดตามแนวโน้ม QC ได้
Test Data: QC L1: 87 mg/dL (85±5), QC L2: 155 mg/dL (150±10)

Test Case: การจัดการ External Quality Assessment (EQA)

Test ID: TC-LAB-039
Description: ทดสอบการจัดการและติดตาม External Quality Assessment
TOR Reference: 1.2.7.4 (เพิ่มเติม)
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีโปรแกรม EQA ที่เข้าร่วม
- ได้รับตัวอย่าง EQA
Test Steps:
1. เข้าสู่หน้าจัดการ EQA
2. สร้างรายการ EQA ใหม่:
   - โปรแกรม: CAP Chemistry Survey
   - รอบ: 2568-A
   - รายการตรวจ: Glucose, Cholesterol, Creatinine
3. บันทึกผลการตรวจตัวอย่าง EQA
4. ส่งผลไปยังหน่วยงาน EQA
5. รับผลการประเมินกลับมา
6. วิเคราะห์ผลการประเมิน
7. จัดทำแผนปรับปรุง (ถ้าจำเป็น)
Expected Result: 
- จัดการ EQA ได้ครบวงจร
- ส่งผลการตรวจได้
- รับผลการประเมินได้
- วิเคราะห์และติดตามได้
- จัดทำรายงานสรุปได้
Test Data: EQA: CAP Chemistry 2568-A, Tests: Glucose,Cholesterol,Creatinine

🖨️ กลุ่มที่ 5: การพิมพ์เอกสาร (TOR 1.2.7.5)

Test Case: การพิมพ์ใบ Request Lab

Test ID: TC-LAB-040
Description: ทดสอบการพิมพ์ใบ Request Lab จากจุดที่ส่งตรวจหรือจากห้อง Lab ได้
TOR Reference: 1.2.7.5.1
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจในระบบ
- เครื่องพิมพ์พร้อมใช้งาน
Test Steps:
1. จากระบบห้องตรวจแพทย์ (1.2.3):
   - เลือกผู้ป่วยที่สั่งตรวจ Lab
   - คลิก "พิมพ์ใบ Request Lab"
   - ตรวจสอบข้อมูลในใบ Request
2. จากระบบ Lab:
   - เข้าสู่หน้าจัดการใบสั่งตรวจ
   - เลือกใบสั่งตรวจ LAB20681012001
   - คลิก "พิมพ์ใบ Request"
3. ตรวจสอบข้อมูลในใบ Request:
   - ข้อมูลผู้ป่วย (HN, ชื่อ, อายุ, เพศ)
   - รายการตรวจที่สั่ง
   - แพทย์ผู้สั่ง และแผนก
   - วันที่-เวลาที่สั่ง
   - คำแนะนำพิเศษ (ถ้ามี)
   - Barcode สำหรับติดตาม
Expected Result: 
- พิมพ์ใบ Request Lab ได้จากทั้งสองจุด
- ข้อมูลครบถ้วนและถูกต้อง
- มี Barcode สำหรับติดตาม
- รูปแบบสวยงามและอ่านง่าย
- สามารถพิมพ์ซ้ำได้
Test Data: Lab#: LAB20681012001, Print from: OPD & Lab, Barcode: Include

Test Case: เครื่องพิมพ์ Sticker ขัดข้อง (Fail Case)

Test ID: TC-LAB-040-F1
Description: ทดสอบกรณีเครื่องพิมพ์ Sticker ไม่พร้อมใช้งาน
TOR Reference: 1.2.7.5.2
Test Type: ⚠️ Fail Case
Pre-condition: เครื่องพิมพ์ Sticker offline
Test Steps:
1. พยายามพิมพ์ Sticker ติด Tube
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความ "⚠️ เครื่องพิมพ์ Sticker ไม่พร้อมใช้งาน"
- ให้ตัวเลือก "เขียนด้วยมือ" หรือ "รอเครื่องพิมพ์"
- แสดงข้อมูลที่ต้องเขียน: HN, ชื่อ, วันที่, ประเภทตัวอย่าง
- บันทึกสถานะ "รอพิมพ์ Sticker"
- แจ้งเตือนเจ้าหน้าที่ IT
Test Data: Sticker printer: Offline

Test Case: การพิมพ์รายงานผลที่ยังไม่อนุมัติ (Error Case)

Test ID: TC-LAB-040-E1
Description: ทดสอบการป้องกันการพิมพ์รายงานผลที่ยังไม่ได้อนุมัติ
TOR Reference: 1.2.7.5.3
Test Type: ❌ Error Case
Pre-condition: ผลการตรวจยังไม่ได้รับการอนุมัติ
Test Steps:
1. พยายามพิมพ์รายงานผลที่ยังไม่อนุมัติ
2. ตรวจสอบการแจ้งเตือน
Expected Result:
- แสดงข้อความเตือน "ไม่สามารถพิมพ์ได้ เนื่องจากผลยังไม่ได้รับการอนุมัติ"
- ปิดการใช้งานปุ่มพิมพ์
- แสดงสถานะ "รอการอนุมัติ"
Test Data: Status: Pending approval

Test Case: การพิมพ์ Sticker ติด Tube

Test ID: TC-LAB-041
Description: ทดสอบการพิมพ์ Sticker ติด Tube
TOR Reference: 1.2.7.5.2
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีใบสั่งตรวจที่ต้องการเก็บตัวอย่าง
- เครื่องพิมพ์ Sticker พร้อมใช้งาน
Test Steps:
1. เข้าสู่ระบบ Lab
2. เลือกใบสั่งตรวจที่ต้องการเก็บตัวอย่าง
3. คลิก "พิมพ์ Sticker ติด Tube"
4. เลือกจำนวน Tube ตามรายการตรวจ:
   - CBC: 1 Tube (EDTA)
   - Chemistry: 1 Tube (Serum)
   - Coagulation: 1 Tube (Citrate)
5. พิมพ์ Sticker และติดบน Tube
6. ตรวจสอบข้อมูลบน Sticker:
   - HN ผู้ป่วย
   - ชื่อ-นามสกุล
   - วันที่เก็บตัวอย่าง
   - ประเภทตัวอย่าง
   - Barcode
Expected Result: 
- พิมพ์ Sticker ได้ถูกต้อง
- ข้อมูลครบถ้วนและชัดเจน
- Barcode สแกนได้
- ขนาดเหมาะสมกับ Tube
- ติดได้แน่นไม่หลุด
Test Data: Tubes: CBC(EDTA), Chemistry(Serum), PT/PTT(Citrate), Stickers: 3

Test Case: การพิมพ์ใบรายงานผล

Test ID: TC-LAB-042
Description: ทดสอบการพิมพ์ใบรายงานผลได้จากจุดส่งตรวจหรือจากห้อง Lab
TOR Reference: 1.2.7.5.3
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่อนุมัติแล้ว
- เครื่องพิมพ์พร้อมใช้งาน
Test Steps:
1. จากระบบห้องตรวจแพทย์ (1.2.3):
   - เลือกผู้ป่วยที่มีผล Lab
   - คลิก "พิมพ์รายงานผล Lab"
2. จากระบบ Lab:
   - เลือกผลการตรวจที่อนุมัติแล้ว
   - คลิก "พิมพ์รายงานผล"
3. ตรวจสอบข้อมูลในรายงานผล:
   - Header โรงพยาบาล
   - ข้อมูลผู้ป่วย
   - รายการตรวจและผลการตรวจ
   - ค่าปกติ (Reference Range)
   - สัญลักษณ์ผิดปกติ (H/L/*)
   - ผู้รายงาน (Report by)
   - ผู้อนุมัติ (Approved by)
   - วันที่-เวลารายงาน
4. ทดสอบการพิมพ์หลายคัดลอก
Expected Result: 
- พิมพ์รายงานผลได้จากทั้งสองจุด
- ข้อมูลครบถ้วนและถูกต้อง
- แสดงค่าปกติและค่าผิดปกติชัดเจน
- มีลายเซ็นผู้รายงานและผู้อนุมัติ
- รูปแบบมาตรฐานและสวยงาม
Test Data: Print from: OPD & Lab, Include: Results,Reference,Signatures

Test Case: การพิมพ์ใบนัดฟังผล

Test ID: TC-LAB-043
Description: ทดสอบการพิมพ์ใบนัดได้
TOR Reference: 1.2.7.5.4
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีการนัดฟังผล Lab
- เชื่อมต่อกับระบบนัดหมาย (1.2.6)
Test Steps:
1. เข้าสู่ระบบ Lab
2. เลือกผู้ป่วยที่นัดฟังผล
3. คลิก "พิมพ์ใบนัดฟังผล"
4. ตรวจสอบข้อมูลในใบนัด:
   - ข้อมูลผู้ป่วย
   - วันที่-เวลานัด
   - แพทย์ที่นัด
   - รายการตรวจที่นัดฟังผล
   - แผนก/ห้องที่ต้องมา
   - คำแนะนำเพิ่มเติม
5. ส่งข้อมูลไปยังระบบนัดหมาย (1.2.6)
6. พิมพ์ใบนัดให้ผู้ป่วย
Expected Result: 
- พิมพ์ใบนัดฟังผลสำเร็จ
- ข้อมูลครบถ้วนและถูกต้อง
- เชื่อมโยงกับระบบนัดหมาย (1.2.6)
- ผู้ป่วยได้รับข้อมูลที่จำเป็น
- แสดงในปฏิทินแพทย์
Test Data: Appointment: Lab F/U, Date: 15/10/2568, Doctor: นพ.วิทยา

Test Case: การพิมพ์รายงานสถิติ Lab

Test ID: TC-LAB-044
Description: ทดสอบการพิมพ์รายงานสถิติและสรุปการทำงานของห้อง Lab
TOR Reference: 1.2.7.5 (เพิ่มเติม)
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีข้อมูลการทำงานของห้อง Lab
- ผู้บริหารหรือหัวหน้าแผนกล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่หน้ารายงานสถิติ Lab
2. เลือกประเภทรายงาน: "รายงานรายเดือน"
3. เลือกช่วงเวลา: ตุลาคม 2568
4. ตรวจสอบข้อมูลในรายงาน:
   - จำนวนผู้ป่วยที่ส่งตรวจ Lab
   - จำนวนรายการตรวจแยกตามประเภท
   - เวลาเฉลี่ยในการรายงานผล (TAT)
   - อัตราความผิดปกติของผลตรวจ
   - สถิติการใช้บริการตามแผนก
5. สร้างกราฟและแผนภูมิ
6. พิมพ์รายงานสรุป
Expected Result: 
- สร้างรายงานสถิติได้ถูกต้อง
- แสดงข้อมูลเชิงสถิติครบถ้วน
- มีกราฟและแผนภูมิประกอบ
- พิมพ์รายงานได้
- ช่วยในการบริหารจัดการ
Test Data: Period: Oct 2568, Total tests: 2,500, TAT avg: 4 hrs

Test Case: การพิมพ์ Certificate และรายงานพิเศษ

Test ID: TC-LAB-045
Description: ทดสอบการพิมพ์ใบรับรองผลการตรวจและรายงานพิเศษ
TOR Reference: 1.2.7.5 (เพิ่มเติม)
Pre-condition: 
- ระบบพร้อมใช้งาน
- มีผลการตรวจที่ต้องการออกใบรับรอง
- หัวหน้าแผนกล็อกอินสำเร็จ
Test Steps:
1. เข้าสู่ระบบ Lab
2. เลือกผู้ป่วยและผลการตรวจ
3. คลิก "ออกใบรับรองผลการตรวจ"
4. เลือกประเภทใบรับรอง:
   - ใบรับรองสุขภาพทั่วไป
   - ใบรับรองไม่พบเชื้อ HIV
   - ใบรับรองการตรวจยาเสพติด
5. ตรวจสอบข้อมูลในใบรับรอง:
   - ข้อมูลผู้ป่วยครบถ้วน
   - ผลการตรวจที่เกี่ยวข้อง
   - ข้อสรุปจากแพทย์
   - ลายเซ็นหัวหน้าแผนก
   - ตราประทับโรงพยาบาล
6. พิมพ์ใบรับรอง
Expected Result: 
- ออกใบรับรองผลการตรวจได้
- ข้อมูลครบถ้วนและถูกต้อง
- มีลายเซ็นและตราประทับ
- รูปแบบเป็นทางการ
- ใช้ได้ตามกฎหมาย
Test Data: Certificate: Health Check, Tests: HIV,Drug Screen, Signed: Yes

📋 สรุป Test Cases

จำนวน Test Cases แยกตามกลุ่ม

กลุ่ม ชื่อกลุ่ม จำนวน Test Cases
1 การจัดการข้อมูลพื้นฐาน 10
2 การสั่งตรวจห้องปฏิบัติการ 8
3 การรายงานผลการตรวจ 15
4 การควบคุมคุณภาพ 6
5 การพิมพ์เอกสาร 6
รวม ทั้งหมด 45

ความครอบคลุมการเชื่อมโยง

ระบบที่เชื่อมโยงทั้งหมด:

  • ระบบเวชระเบียน (1.2.1) - การดึงข้อมูลผู้ป่วยและการ Visit
  • ระบบซักประวัติ (1.2.2) - การส่งตรวจ Lab จากระบบซักประวัติ
  • ระบบห้องตรวจแพทย์ (1.2.3) - การส่งตรวจและรับผล Lab หลัก
  • ระบบห้องฉุกเฉิน (1.2.4) - การส่งตรวจฉุกเฉิน STAT
  • ระบบนัดหมาย (1.2.6) - การนัดรับผล Lab และการสั่งตรวจล่วงหน้า
  • ระบบเภสัชกรรม (1.2.13) - การตรวจสอบ Drug Interaction กับผล Lab
  • ระบบการเงิน (1.2.14) - การคิดค่าบริการตรวจ Lab
  • ระบบตรวจสอบสิทธิ (1.2.15) - การตรวจสอบสิทธิก่อนส่งตรวจ
  • ระบบผู้ป่วยใน (1.2.17) - การส่งตรวจผู้ป่วยใน

ความครอบคลุม TOR

TOR ที่ครอบคลุมทั้งหมด:

  • TOR 1.2.7.1 - ข้อมูลพื้นฐาน (ครบทุกข้อ 1-6)
  • TOR 1.2.7.2 - การสั่งตรวจห้องปฏิบัติการ (ครบทุกข้อ 1-3)
  • TOR 1.2.7.3 - การรายงานผลการตรวจ (ครบทุกข้อ 1-12)
  • TOR 1.2.7.4 - การควบคุมคุณภาพ (ครบทุกข้อ 1-4)
  • TOR 1.2.7.5 - การพิมพ์เอกสาร (ครบทุกข้อ 1-4)

คุณสมบัติพิเศษที่ครอบคลุม

การทำงานแบบ Online Real-time:

  • การส่งตรวจจากจุดต่างๆ ผ่านระบบ Online
  • การแสดงข้อมูลผู้ป่วยแบบ Real-time
  • การแจ้งเตือนผลการตรวจเสร็จสิ้น
  • การดูผลการตรวจ Online

การจัดการคุณภาพ:

  • Quality Control (QC) และ External Quality Assessment (EQA)
  • การควบคุมการเข้าถึงข้อมูล (Access Control)
  • Audit Trail และ Version Control
  • การ Lock ผลการรายงาน

การบูรณาการ:

  • เชื่อมโยงกับระบบ HIS ทุกระบบที่เกี่ยวข้อง
  • รองรับการทำงานแบบ Multi-department
  • การจัดการสิทธิและการเงินแบบครบวงจร
  • การรายงานและสถิติเชิงลึก

หมายเหตุ: เอกสาร Test Cases นี้ครอบคลุม TOR ระบบงานชันสูตรครบถ้วน และสอดคล้องกับการเชื่อมโยงระบบอื่นๆ ใน HIS ของโรงพยาบาลค่ายธนรัชน์ ทุก Test Case ได้รับการออกแบบให้ทดสอบการทำงานแบบ End-to-End และรองรับการใช้งานจริงในสภาพแวดล้อมโรงพยาบาล


เอกสารนี้จัดทำขึ้นเพื่อใช้ในการทดสอบระบบงานชันสูตรสำหรับโรงพยาบาลค่ายธนรัชน์ และต้องได้รับการอนุมัติจากผู้มีอำนาจก่อนนำไปใช้ในการทดสอบระบบ