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

กระบวนการนัดหมายพร้อมสั่งตรวจล่วงหน้า

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