กระบวนการนัดหมายพร้อมสั่งตรวจล่วงหน้า
1.1 System Flowchart: กระบวนการนัดหมายพร้อมสั่งตรวจล่วงหน้า
แผนภาพนี้แสดง Logic การตรวจสอบเงื่อนไขของ Lab/X-ray และตารางแพทย์ก่อนบันทึกนัด
flowchart TD
Start(["เริ่มกระบวนการนัดหมาย"]) --> SearchPatient["ค้นหาผู้ป่วย"]
SearchPatient --> SelectDocDate["เลือกแพทย์และวันที่ต้องการนัด"]
SelectDocDate --> CheckDocSch{"ตรวจสอบ<br/>ตารางออกตรวจแพทย์"}
CheckDocSch -- "แพทย์ไม่อยู่" --> AlertDoc["แจ้งเตือน: แพทย์ไม่ออกตรวจ"]
AlertDoc --> SelectDocDate
CheckDocSch -- "แพทย์อยู่" --> AddOrder["เพิ่มรายการ Lab / X-ray ล่วงหน้า"]
AddOrder --> CheckItemConfig{"ตรวจสอบ<br/>Config ของรายการตรวจ"}
CheckItemConfig -- "ต้องการ Slot เครื่องมือ" --> CheckResource{"ตรวจสอบ<br/>คิวว่างของเครื่องมือ/ห้อง"}
CheckResource -- "ไม่ว่าง" --> SuggestSlot["แนะนำช่วงเวลาอื่น"]
SuggestSlot --> AddOrder
CheckItemConfig -- "ไม่ต้องจองเครื่อง" --> GetPrepInfo["ดึงคำแนะนำการเตรียมตัว<br/>จาก Item Master"]
CheckResource -- "ว่าง" --> LockSlot["จองคิวเครื่องมือ"]
LockSlot --> GetPrepInfo
GetPrepInfo --> CalTime["คำนวณเวลาที่ต้องมาก่อนพบแพทย์<br/>(TAT + Process Time)"]
CalTime --> Summary["สรุปข้อมูลการนัด<br/>(วันพบแพทย์ + เวลาเจาะเลือด/X-ray)"]
Summary --> Confirm{"ยืนยันการนัด?"}
Confirm -- "ไม่ยืนยัน" --> Cancel["ยกเลิกรายการ"]
Confirm -- "ยืนยัน" --> SaveDB[("บันทึกข้อมูลลงฐานข้อมูล")]
SaveDB --> GenSlip["พิมพ์ใบนัดหมาย<br/>พร้อมคำแนะนำการเตรียมตัว"]
GenSlip --> End(["จบกระบวนการ"])
2.2 Data Flow Diagram (DFD) Level 1
แผนภาพนี้แสดงให้เห็นว่าข้อมูลไหลจาก Item Master และ ตารางเวร เข้าสู่ระบบนัดหมายอย่างไร
graph LR
%% Entities
User[ผู้ใช้งาน/พยาบาล]
Patient[ผู้ป่วย]
%% Processes
P1((1.0 จัดการข้อมูลหลัก<br/>Item Master))
P2((2.0 จัดการตารางเวร<br/>Doctor/Resource))
P3((3.0 บันทึกนัดหมาย<br/>Appointment))
P4((4.0 สร้างใบสั่งตรวจ<br/>Pre-Order))
%% Data Stores
DS1[(DS1: Lab/Xray Items<br/>Configuration)]
DS2[(DS2: Doctor Schedule)]
DS3[(DS3: Appointment Data)]
DS4[(DS4: Pre-Order Data)]
%% Relationships
User -- กำหนดค่า TAT/คำแนะนำ --> P1
P1 -- บันทึก --> DS1
User -- ลงตารางเวร --> P2
P2 -- บันทึก --> DS2
User -- ขอนัดหมาย/สั่ง Lab --> P3
DS1 -- ข้อมูลการเตรียมตัว/TAT --> P3
DS2 -- เวลาออกตรวจ --> P3
P3 -- ตรวจสอบความถูกต้อง --> P3
P3 -- บันทึกการนัด --> DS3
P3 -- สร้างข้อมูลสั่งตรวจ --> P4
P4 -- บันทึกรายการสั่งล่วงหน้า --> DS4
P3 -- ใบนัดหมาย --> Patient