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

Data Flow Diagram (DFD)

ระบบรังสีวิทยา (Radiology System)

เวอร์ชัน: 1.0

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

สอดคล้องกับ: SRS ระบบรังสีวิทยา v1.0, TOR ระบบรังสีวิทยา, ERD v1.0, และ Schema v1.0


สารบัญ

  1. ภาพรวมระบบ
  2. Context Diagram
  3. Level 0 DFD
  4. Level 1 DFD - การส่งตรวจและลงทะเบียน
  5. Level 1 DFD - การรายงานผลทางรังสี
  6. Level 1 DFD - การจัดการฟิล์ม
  7. Level 1 DFD - การพิมพ์เอกสาร
  8. Data Dictionary
  9. API Integration Flow
  10. API Technical Specifications

1. ภาพรวมระบบ

ระบบรังสีวิทยาทำหน้าที่เป็น Diagnostic Imaging Hub ที่จัดการงานรังสีวิทยาครบวงจรของโรงพยาบาลค่ายธนรัชน์ ตั้งแต่การรับคำสั่งตรวจ การลงทะเบียน การถ่ายภาพ การรายงานผล และการจัดการฟิล์ม โดยเชื่อมโยงกับระบบ PACS สำหรับการจัดเก็บภาพดิจิทัล

การไหลของข้อมูลหลัก:

  • Input: คำสั่งตรวจจากระบบต่างๆ (1.2.2, 1.2.3, 1.2.4, 1.2.17), ข้อมูลผู้ป่วยจากระบบเวชระเบียน (1.2.1), ข้อมูล Clinical Information, ข้อมูลการถ่ายภาพ, ข้อมูลการใช้ฟิล์ม
  • Processing: การลงทะเบียนและออก XN, การจัดการคิว, การถ่ายภาพรังสี, การบันทึกการใช้ฟิล์ม, การอ่านและรายงานผลโดยรังสีแพทย์, การจัดการฟิล์มเสีย, การยืม-คืนฟิล์ม, การนัดหมายฟังผล
  • Output: ใบ Request X-Ray, XN Label, ภาพรังสี (DICOM Images), รายงานผลการตรวจ, ใบนัดหมาย, รายงานการใช้ฟิล์ม, ข้อมูลค่าบริการ
  • Integration: เชื่อมต่อกับ 8 ระบบหลักผ่าน API สำหรับรับคำสั่งตรวจ, ส่งผลการตรวจ, ค่าบริการ, และเชื่อมต่อกับระบบ PACS ผ่าน DICOM Protocol

ฟีเจอร์หลักที่เฉพาะเจาะจงของห้องรังสีวิทยา (ตาม TOR):

1. การจัดการข้อมูลพื้นฐาน (1.2.8.1): - กำหนดรายการ X-Ray - รหัส, ชื่อ, ประเภท, ท่า, ด้าน, เวลาเฉลี่ย, การเตรียมตัว - เชื่อมโยงค่าบริการ - กำหนดค่าบริการตามหมวดหมู่การรักษาทางรังสีวิทยา - รูปแบบการชำระเงิน - คิดตามฟิล์ม, คิดตามรายการ, คิดตามท่า, แพคเกจ - จัดการห้องและเครื่องมือ - ข้อมูล Modality, AE Title, การเชื่อมต่อ DICOM - Template รายงานผล - แม่แบบข้อความสำหรับรังสีแพทย์

2. การส่งตรวจรังสีวิทยา (1.2.8.2): - รับคำสั่งตรวจ Online - จากระบบซักประวัติ, ห้องตรวจแพทย์, ห้องฉุกเฉิน, ผู้ป่วยใน - บันทึกรายละเอียด - แพทย์ผู้สั่ง, รายการ, ท่า, ด้าน, วันที่, ความเร่งด่วน (STAT/Urgent/Routine), ห้อง, สภาพผู้ป่วย (เดิน/อุ้ม/รถเข็น/รถนอน) - พิมพ์ใบ Request - พิมพ์จากจุดส่งตรวจหรือห้องรังสี พร้อม Comment Box - ส่งตรวจแบบ Online - Real-time communication กับระบบส่งตรวจ

3. การรายงานผลทางห้องรังสีวิทยา (1.2.8.3): - แสดงรายการผู้ป่วย Online - HN, XN, ชื่อ, อายุ, วันที่สั่ง, รายการ, ความเร่งด่วน, แผนก, สิทธิ, ค่าใช้จ่าย - ค้นหาผู้ป่วย - HN, ชื่อ-นามสกุล, บัตรประชาชน, Barcode - ประวัติการตรวจ - การมารับบริการ, วินิจฉัย, ยา, Lab/X-Ray, PE, นัดหมาย, Admit - ลงทะเบียนและออก XN - Running Number แยกตามห้อง/ประเภท - บันทึกฟิล์มใช้ - จำนวน, ขนาด, ประเภท - บันทึกฟิล์มเสีย - จำนวน, ขนาด, สาเหตุ (Over/Under Exposure, Patient Motion, Positioning Error, Equipment Malfunction, etc.) - นัดหมายฟังผล - กรณีรอผลรังสีแพทย์ - ตรวจสอบรายการลงผล - รายการที่ยืนยันผลแล้ว - บันทึกผลการอ่านฟิล์ม - โดยรังสีแพทย์ (Findings และ Impression) - ใช้ Template - ชุดข้อความสำเร็จรูปสำหรับการรายงานผล - Load Text File - นำเข้าและแก้ไขรายงานผล - Lock ผลการอ่าน - ยืนยันผลสุดท้ายโดยรังสีแพทย์ - ส่งตรวจต่อ - ส่งผู้ป่วยไปห้องตรวจอื่นหรือแผนกอื่น - ผู้สั่งดูผลออนไลน์ - แพทย์ผู้สั่งสามารถดูผลและวินิจฉัยได้ทันที

4. การยืมคืนฟิล์ม X-Ray (1.2.8.4): - บันทึกการยืม-คืน - ผู้ยืม, แผนก, สาเหตุ, เบอร์โทร, หมายเหตุ - ตรวจสอบสถานะ - ฟิล์มที่ยืมอยู่, ฟิล์มค้างคืน, ประวัติการยืม - แจ้งเตือน - ฟิล์มค้างคืนเกินกำหนด

5. การพิมพ์เอกสาร (1.2.8.5): - ใบ Request X-Ray - พิมพ์จากจุดส่งหรือห้องรังสี มี Comment Box - XN Label - ติดซองและติดฟิล์ม พร้อม Barcode - ใบรายงานผล - รายงานที่รังสีแพทย์ลงผล - ใบนัดหมาย - นัดฟังผลหรือตรวจเพิ่มเติม

คุณลักษณะพิเศษ:

  • การเชื่อมต่อ PACS - ส่งภาพ DICOM อัตโนมัติ
  • Multi-Modality Support - X-Ray, CT, MRI, Ultrasound, Fluoroscopy
  • STAT Order Management - จัดการคำสั่งด่วนจากห้องฉุกเฉิน
  • Structured Reporting - Template-based และ Free-text Reporting
  • Film Management - ติดตามการใช้ฟิล์ม ฟิล์มเสีย และการยืม-คืน
  • Real-time Results - ผู้สั่งดูผลได้ทันทีผ่านระบบ Online
  • Queue Management - จัดการคิวตามความเร่งด่วนและเวลา
  • Audit Trail - บันทึกประวัติการเข้าถึงและแก้ไขข้อมูล

2. Context Diagram

graph TD
    %% External Entities - Internal Systems
    MEDRECORD[ระบบเวชระเบียน<br/>1.2.1]
    HISTORY[ระบบซักประวัติ<br/>1.2.2]
    EXAM[ระบบห้องตรวจแพทย์<br/>1.2.3]
    ER[ระบบห้องฉุกเฉิน<br/>1.2.4]
    DENTAL[ระบบทันตกรรม<br/>1.2.5]
    CLINIC[ระบบคลินิกพิเศษ<br/>1.2.9]
    LAB[ระบบงานชันสูตร<br/>1.2.7]
    IPD[ระบบผู้ป่วยใน<br/>1.2.17]
    OR[ระบบห้องผ่าตัด<br/>1.2.18]
    FINANCE[ระบบการเงิน<br/>1.2.14]
    RIGHTS[ระบบตรวจสอบสิทธิ<br/>1.2.15]

    %% External Entities - External Systems
    PACS[ระบบ PACS<br/>Picture Archiving]
    MODALITY[เครื่องมือถ่ายภาพ<br/>CR/DR/CT/MRI]

    %% External Entities - Users
    DOCTOR[แพทย์ผู้สั่งตรวจ]
    RADIOLOGIST[รังสีแพทย์]
    RADIOGRAPHER[นักรังสีเทคนิค]
    NURSE[พยาบาลห้องรังสี]
    MEDICALRECORD[เจ้าหน้าที่เวชระเบียน]
    ADMIN[ผู้ดูแลระบบ]

    %% Main System
    RADIOLOGY_SYSTEM{{ระบบรังสีวิทยา<br/>Radiology System}}

    %% Data Flows - Internal Systems
    MEDRECORD -->|ข้อมูลผู้ป่วย| RADIOLOGY_SYSTEM
    HISTORY -->|คำสั่งตรวจรังสี| RADIOLOGY_SYSTEM
    EXAM -->|คำสั่งตรวจรังสี| RADIOLOGY_SYSTEM
    ER -->|คำสั่งตรวจ STAT| RADIOLOGY_SYSTEM
    DENTAL -->|คำสั่งตรวจ Dental X-Ray| RADIOLOGY_SYSTEM
    CLINIC -->|คำสั่งตรวจพิเศษ| RADIOLOGY_SYSTEM
    LAB -->|ประสานงานตรวจ| RADIOLOGY_SYSTEM
    IPD -->|คำสั่งตรวจผู้ป่วยใน| RADIOLOGY_SYSTEM
    OR -->|คำสั่งตรวจก่อน/หลังผ่าตัด| RADIOLOGY_SYSTEM
    RIGHTS -->|ข้อมูลสิทธิ| RADIOLOGY_SYSTEM

    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| HISTORY
    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| EXAM
    RADIOLOGY_SYSTEM -->|ผลการตรวจ STAT| ER
    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| DENTAL
    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| CLINIC
    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| IPD
    RADIOLOGY_SYSTEM -->|ผลการตรวจรังสี| OR
    RADIOLOGY_SYSTEM -->|ข้อมูลค่าบริการ| FINANCE

    %% Data Flows - External Systems
    MODALITY -->|ภาพ DICOM| RADIOLOGY_SYSTEM
    RADIOLOGY_SYSTEM -->|ภาพ DICOM + Metadata| PACS
    PACS -->|ภาพเก่า/เปรียบเทียบ| RADIOLOGY_SYSTEM

    %% Data Flows - Users
    DOCTOR -->|ดูผลการตรวจ| RADIOLOGY_SYSTEM
    RADIOLOGIST -->|บันทึกผลการอ่านฟิล์ม| RADIOLOGY_SYSTEM
    RADIOGRAPHER -->|ลงทะเบียน/บันทึกฟิล์ม| RADIOLOGY_SYSTEM
    NURSE -->|จัดการคิว/ช่วยเตรียมผู้ป่วย| RADIOLOGY_SYSTEM
    MEDICALRECORD -->|ยืม-คืนฟิล์ม| RADIOLOGY_SYSTEM
    ADMIN -->|จัดการ Master Data| RADIOLOGY_SYSTEM

    RADIOLOGY_SYSTEM -->|แจ้งสถานะคิู| NURSE
    RADIOLOGY_SYSTEM -->|ผลการตรวจ/รายงาน| RADIOLOGIST
    RADIOLOGY_SYSTEM -->|รายการผู้ป่วย| RADIOGRAPHER

    %% Styling
    style RADIOLOGY_SYSTEM fill:#e1f5fe,stroke:#01579b,stroke-width:3px
    style MEDRECORD fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style HISTORY fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style EXAM fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style ER fill:#ffebee,stroke:#c62828,stroke-width:2px
    style IPD fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style FINANCE fill:#fff8e1,stroke:#f57f17,stroke-width:2px
    style PACS fill:#e0f2f1,stroke:#004d40,stroke-width:2px
    style MODALITY fill:#fafafa,stroke:#424242,stroke-width:2px
    style RADIOLOGIST fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style RADIOGRAPHER fill:#f1f8e9,stroke:#558b2f,stroke-width:2px

3. Level 0 DFD

graph TD
    %% External Entities
    DOCTOR[แพทย์ผู้สั่งตรวจ]
    RADIOLOGIST[รังสีแพทย์]
    RADIOGRAPHER[นักรังสีเทคนิค]
    NURSE[พยาบาลห้องรังสี]
    MEDICALRECORD[เจ้าหน้าที่เวชระเบียน]
    ADMIN[ผู้ดูแลระบบ]

    MEDRECORD[ระบบเวชระเบียน]
    HISTORY[ระบบซักประวัติ]
    EXAM[ระบบห้องตรวจ]
    ER[ระบบห้องฉุกเฉิน]
    IPD[ระบบผู้ป่วยใน]
    FINANCE[ระบบการเงิน]
    PACS[ระบบ PACS]
    MODALITY[เครื่องมือถ่ายภาพ]

    %% Processes
    P1["1.0<br/>การจัดการ<br/>ข้อมูลพื้นฐาน"]
    P2["2.0<br/>การส่งตรวจและ<br/>ลงทะเบียน"]
    P3["3.0<br/>การรายงานผล<br/>ทางรังสี"]
    P4["4.0<br/>การจัดการฟิล์ม<br/>X-Ray"]
    P5["5.0<br/>การพิมพ์<br/>เอกสาร"]

    %% Data Stores
    DS1[("D1: รายการ X-Ray<br/>และค่าบริการ")]
    DS2[("D2: คำสั่งตรวจ<br/>และ XN")]
    DS3[("D3: ผลการตรวจ<br/>และรายงาน")]
    DS4[("D4: ข้อมูลฟิล์ม<br/>และการยืม-คืน")]
    DS5[("D5: ข้อมูลห้อง<br/>และ Modality")]
    DS6[("D6: Template<br/>รายงานผล")]
    DS7[("D7: ข้อมูลผู้ป่วย")]
    DS8[("D8: Audit Log")]

    %% Process 1.0 - การจัดการข้อมูลพื้นฐาน
    ADMIN -->|กำหนดรายการ X-Ray| P1
    ADMIN -->|กำหนดค่าบริการ| P1
    ADMIN -->|กำหนดห้อง/Modality| P1
    RADIOLOGIST -->|สร้าง Template| P1
    P1 -->|บันทึกข้อมูล| DS1
    P1 -->|บันทึก Template| DS6
    P1 -->|บันทึกห้อง/Modality| DS5
    P1 -->|Log การเปลี่ยนแปลง| DS8

    %% Process 2.0 - การส่งตรวจและลงทะเบียน
    HISTORY -->|คำสั่งตรวจ| P2
    EXAM -->|คำสั่งตรวจ| P2
    ER -->|คำสั่งตรวจ STAT| P2
    IPD -->|คำสั่งตรวจ IPD| P2
    MEDRECORD -->|ข้อมูลผู้ป่วย| P2
    DS7 -->|ข้อมูลผู้ป่วย| P2
    DS1 -->|ข้อมูลรายการ| P2
    RADIOGRAPHER -->|ลงทะเบียน/ออก XN| P2
    NURSE -->|จัดการคิว| P2
    P2 -->|บันทึกคำสั่งตรวจ| DS2
    P2 -->|บันทึก XN| DS2
    P2 -->|ข้อมูลค่าบริการ| FINANCE
    P2 -->|แจ้งสถานะคิว| NURSE
    P2 -->|Log การลงทะเบียน| DS8

    %% Process 3.0 - การรายงานผลทางรังสี
    RADIOGRAPHER -->|บันทึกฟิล์มใช้| P3
    RADIOGRAPHER -->|เริ่ม/จบการตรวจ| P3
    RADIOLOGIST -->|อ่านและรายงานผล| P3
    RADIOLOGIST -->|Lock ผลการอ่าน| P3
    MODALITY -->|ภาพ DICOM| P3
    DS2 -->|ข้อมูลคำสั่งตรวจ| P3
    DS6 -->|Template รายงาน| P3
    DS7 -->|ประวัติการตรวจ| P3
    PACS -->|ภาพเก่า| P3
    P3 -->|บันทึกผลการตรวจ| DS3
    P3 -->|ส่งภาพ DICOM| PACS
    P3 -->|ส่งผลการตรวจ| HISTORY
    P3 -->|ส่งผลการตรวจ| EXAM
    P3 -->|ส่งผล STAT| ER
    P3 -->|ส่งผลการตรวจ| IPD
    P3 -->|Log การรายงานผล| DS8
    DOCTOR -->|ดูผลการตรวจ| P3
    P3 -->|แสดงผลออนไลน์| DOCTOR

    %% Process 4.0 - การจัดการฟิล์ม
    RADIOGRAPHER -->|บันทึกฟิล์มใช้| P4
    RADIOGRAPHER -->|บันทึกฟิล์มเสีย| P4
    MEDICALRECORD -->|ยืมฟิล์ม| P4
    MEDICALRECORD -->|คืนฟิล์ม| P4
    DS2 -->|ข้อมูล XN| P4
    DS3 -->|ข้อมูลการตรวจ| P4
    P4 -->|บันทึกการใช้ฟิล์ม| DS4
    P4 -->|บันทึกฟิล์มเสีย| DS4
    P4 -->|บันทึกการยืม-คืน| DS4
    P4 -->|Log การจัดการฟิล์ม| DS8
    P4 -->|แจ้งเตือนฟิล์มค้าง| MEDICALRECORD

    %% Process 5.0 - การพิมพ์เอกสาร
    RADIOGRAPHER -->|พิมพ์ Request| P5
    RADIOGRAPHER -->|พิมพ์ XN Label| P5
    RADIOLOGIST -->|พิมพ์รายงานผล| P5
    NURSE -->|พิมพ์ใบนัด| P5
    DS2 -->|ข้อมูลคำสั่งตรวจ| P5
    DS3 -->|ข้อมูลผลการตรวจ| P5
    DS7 -->|ข้อมูลผู้ป่วย| P5
    P5 -->|ใบ Request X-Ray| RADIOGRAPHER
    P5 -->|XN Label| RADIOGRAPHER
    P5 -->|รายงานผล| RADIOLOGIST
    P5 -->|ใบนัดหมาย| NURSE
    P5 -->|Log การพิมพ์| DS8

    %% Styling
    style P1 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P2 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style P3 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style P4 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style P5 fill:#fce4ec,stroke:#880e4f,stroke-width:2px

    style DS1 fill:#fff8e1,stroke:#f57f17,stroke-width:2px
    style DS2 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS3 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    style DS4 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style DS5 fill:#f1f8e9,stroke:#558b2f,stroke-width:2px
    style DS6 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style DS7 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style DS8 fill:#fafafa,stroke:#424242,stroke-width:2px

4. Level 1 DFD - การส่งตรวจและลงทะเบียน

graph TD
    %% External Entities
    HISTORY[ระบบซักประวัติ]
    EXAM[ระบบห้องตรวจ]
    ER[ระบบห้องฉุกเฉิน]
    IPD[ระบบผู้ป่วยใน]
    DENTAL[ระบบทันตกรรม]
    CLINIC[ระบบคลินิกพิเศษ]
    OR[ระบบห้องผ่าตัด]
    FINANCE[ระบบการเงิน]
    RADIOGRAPHER[นักรังสีเทคนิค]
    NURSE[พยาบาลห้องรังสี]

    %% Sub-Processes
    P21["2.1<br/>รับคำสั่งตรวจ<br/>Online"]
    P22["2.2<br/>ตรวจสอบ<br/>คำสั่งตรวจ"]
    P23["2.3<br/>ลงทะเบียนและ<br/>ออก XN"]
    P24["2.4<br/>จัดการคิว<br/>ผู้ป่วย"]
    P25["2.5<br/>คำนวณ<br/>ค่าบริการ"]
    P26["2.6<br/>พิมพ์ใบ Request<br/>และ XN Label"]

    %% Data Stores
    DS1[("D1: รายการ X-Ray<br/>และค่าบริการ")]
    DS2[("D2: คำสั่งตรวจ<br/>และ XN")]
    DS5[("D5: ข้อมูลห้อง<br/>และ Modality")]
    DS7[("D7: ข้อมูลผู้ป่วย")]
    DS8[("D8: Audit Log")]
    DS9[("D9: คิวผู้ป่วย")]
    DS10[("D10: ประวัติการตรวจ")]

    %% Process 2.1 - รับคำสั่งตรวจ Online
    HISTORY -->|คำสั่งตรวจ OPD| P21
    EXAM -->|คำสั่งตรวจ OPD| P21
    ER -->|คำสั่งตรวจ STAT| P21
    IPD -->|คำสั่งตรวจ IPD| P21
    DENTAL -->|คำสั่งตรวจ Dental X-Ray| P21
    CLINIC -->|คำสั่งตรวจพิเศษ| P21
    OR -->|คำสั่งตรวจก่อน/หลัง OR| P21
    P21 -->|บันทึกคำสั่งตรวจ| DS2
    P21 -->|Log การรับคำสั่ง| DS8

    %% Process 2.2 - ตรวจสอบคำสั่งตรวจ
    DS2 -->|คำสั่งตรวจใหม่| P22
    DS1 -->|ข้อมูลรายการ| P22
    DS7 -->|ข้อมูลผู้ป่วย| P22
    DS10 -->|ประวัติการตรวจ| P22
    P22 -->|ตรวจสอบความซ้ำซ้อน| DS10
    P22 -->|คำสั่งที่ผ่านการตรวจสอบ| P23
    P22 -->|คำเตือน/ข้อผิดพลาด| RADIOGRAPHER
    P22 -->|Log การตรวจสอบ| DS8

    %% Process 2.3 - ลงทะเบียนและออก XN
    RADIOGRAPHER -->|ยืนยันลงทะเบียน| P23
    P23 -->|อ่านข้อมูลรายการ| DS1
    P23 -->|อ่านข้อมูลห้อง| DS5
    DS7 -->|ข้อมูลผู้ป่วย| P23
    P23 -->|สร้าง XN| DS2
    P23 -->|บันทึกการลงทะเบียน| DS2
    P23 -->|เพิ่มเข้าคิว| DS9
    P23 -->|ข้อมูล XN| P26
    P23 -->|Log การลงทะเบียน| DS8

    %% Process 2.4 - จัดการคิวผู้ป่วย
    DS9 -->|รายการคิว| P24
    DS2 -->|ความเร่งด่วน| P24
    NURSE -->|จัดเรียงคิว| P24
    NURSE -->|Hold/Reschedule| P24
    RADIOGRAPHER -->|เริ่มตรวจ| P24
    P24 -->|อัพเดทสถานะคิว| DS9
    P24 -->|อัพเดทสถานะการตรวจ| DS2
    P24 -->|แจ้งสถานะคิว| NURSE
    P24 -->|Log การจัดการคิว| DS8

    %% Process 2.5 - คำนวณค่าบริการ
    DS2 -->|ข้อมูลการตรวจ| P25
    DS1 -->|ข้อมูลค่าบริการ| P25
    DS7 -->|ข้อมูลสิทธิผู้ป่วย| P25
    P25 -->|คำนวณค่าบริการ| P25
    P25 -->|ส่งข้อมูลค่าบริการ| FINANCE
    P25 -->|บันทึกค่าบริการ| DS2
    P25 -->|Log การคำนวณ| DS8

    %% Process 2.6 - พิมพ์ใบ Request และ XN Label
    RADIOGRAPHER -->|พิมพ์ Request| P26
    RADIOGRAPHER -->|พิมพ์ XN Label| P26
    DS2 -->|ข้อมูลคำสั่งตรวจ| P26
    DS7 -->|ข้อมูลผู้ป่วย| P26
    P26 -->|ใบ Request X-Ray| RADIOGRAPHER
    P26 -->|XN Label| RADIOGRAPHER
    P26 -->|Log การพิมพ์| DS8

    %% Styling
    style P21 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P22 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style P23 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style P24 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style P25 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style P26 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px

    style DS1 fill:#fff8e1,stroke:#f57f17,stroke-width:2px
    style DS2 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS5 fill:#f1f8e9,stroke:#558b2f,stroke-width:2px
    style DS7 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style DS8 fill:#fafafa,stroke:#424242,stroke-width:2px
    style DS9 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style DS10 fill:#e1f5fe,stroke:#01579b,stroke-width:2px

5. Level 1 DFD - การรายงานผลทางรังสี

graph TD
    %% External Entities
    RADIOGRAPHER[นักรังสีเทคนิค]
    RADIOLOGIST[รังสีแพทย์]
    DOCTOR[แพทย์ผู้สั่งตรวจ]
    MODALITY[เครื่องมือถ่ายภาพ]
    PACS[ระบบ PACS]
    HISTORY[ระบบซักประวัติ]
    EXAM[ระบบห้องตรวจ]
    ER[ระบบห้องฉุกเฉิน]
    IPD[ระบบผู้ป่วยใน]

    %% Sub-Processes
    P31["3.1<br/>บันทึกการ<br/>เริ่ม-จบตรวจ"]
    P32["3.2<br/>รับภาพ DICOM<br/>จาก Modality"]
    P33["3.3<br/>บันทึกการ<br/>ใช้ฟิล์ม"]
    P34["3.4<br/>แสดงรายการ<br/>รอรายงานผล"]
    P35["3.5<br/>อ่านและ<br/>รายงานผล"]
    P36["3.6<br/>Lock ผลและ<br/>ส่งผลออนไลน์"]
    P37["3.7<br/>นัดหมาย<br/>ฟังผล"]

    %% Data Stores
    DS2[("D2: คำสั่งตรวจ<br/>และ XN")]
    DS3[("D3: ผลการตรวจ<br/>และรายงาน")]
    DS4[("D4: ข้อมูลฟิล์ม<br/>และการยืม-คืน")]
    DS6[("D6: Template<br/>รายงานผล")]
    DS7[("D7: ข้อมูลผู้ป่วย")]
    DS8[("D8: Audit Log")]
    DS10[("D10: ประวัติการตรวจ")]
    DS11[("D11: ภาพ DICOM")]
    DS12[("D12: การนัดหมาย")]

    %% Process 3.1 - บันทึกการเริ่ม-จบตรวจ
    RADIOGRAPHER -->|เริ่มการตรวจ| P31
    RADIOGRAPHER -->|จบการตรวจ| P31
    DS2 -->|ข้อมูล XN| P31
    P31 -->|บันทึกเวลาเริ่ม| DS2
    P31 -->|บันทึกเวลาจบ| DS2
    P31 -->|บันทึกผู้ปฏิบัติการ| DS2
    P31 -->|คำนวณระยะเวลา| DS2
    P31 -->|อัพเดทสถานะ| DS2
    P31 -->|Log การตรวจ| DS8

    %% Process 3.2 - รับภาพ DICOM จาก Modality
    MODALITY -->|ภาพ DICOM| P32
    DS2 -->|ข้อมูล XN/Worklist| P32
    P32 -->|บันทึกภาพ DICOM| DS11
    P32 -->|ส่งภาพไปยัง PACS| PACS
    P32 -->|อัพเดทสถานะมีภาพ| DS2
    P32 -->|Log การรับภาพ| DS8

    %% Process 3.3 - บันทึกการใช้ฟิล์ม
    RADIOGRAPHER -->|บันทึกฟิล์มใช้| P33
    RADIOGRAPHER -->|บันทึกฟิล์มเสีย| P33
    DS2 -->|ข้อมูล XN| P33
    P33 -->|บันทึกจำนวนฟิล์ม| DS4
    P33 -->|บันทึกขนาดฟิล์ม| DS4
    P33 -->|บันทึกฟิล์มเสีย+สาเหตุ| DS4
    P33 -->|อัพเดทค่าใช้จ่าย| DS2
    P33 -->|Log การใช้ฟิล์ม| DS8

    %% Process 3.4 - แสดงรายการรอรายงานผล
    DS2 -->|รายการที่ตรวจเสร็จ| P34
    DS11 -->|ภาพ DICOM| P34
    DS7 -->|ข้อมูลผู้ป่วย| P34
    DS10 -->|ประวัติการตรวจเก่า| P34
    PACS -->|ภาพเก่า/เปรียบเทียบ| P34
    P34 -->|แสดงรายการ Worklist| RADIOLOGIST
    P34 -->|แสดงภาพและประวัติ| RADIOLOGIST

    %% Process 3.5 - อ่านและรายงานผล
    RADIOLOGIST -->|เลือกรายการอ่านผล| P35
    RADIOLOGIST -->|บันทึก Findings| P35
    RADIOLOGIST -->|บันทึก Impression| P35
    RADIOLOGIST -->|ใช้ Template| P35
    RADIOLOGIST -->|Load Text File| P35
    DS6 -->|Template รายงาน| P35
    DS11 -->|ภาพ DICOM| P35
    P35 -->|บันทึกผลการอ่าน| DS3
    P35 -->|บันทึกลงประวัติ| DS10
    P35 -->|สถานะ: มีผลแล้ว| DS2
    P35 -->|Log การรายงานผล| DS8

    %% Process 3.6 - Lock ผลและส่งผลออนไลน์
    RADIOLOGIST -->|Lock ผลการอ่าน| P36
    DS3 -->|ผลการอ่าน| P36
    DS2 -->|ข้อมูลคำสั่งตรวจ| P36
    P36 -->|"Lock ผล (ไม่สามารถแก้ไข)"| DS3
    P36 -->|ส่งผลการตรวจ| HISTORY
    P36 -->|ส่งผลการตรวจ| EXAM
    P36 -->|ส่งผล STAT| ER
    P36 -->|ส่งผลการตรวจ| IPD
    P36 -->|สถานะ: ส่งผลแล้ว| DS2
    P36 -->|Log การ Lock ผล| DS8
    DOCTOR -->|ดูผลออนไลน์| P36
    P36 -->|แสดงผลและรายงาน| DOCTOR

    %% Process 3.7 - นัดหมายฟังผล
    RADIOGRAPHER -->|นัดฟังผล| P37
    DS2 -->|ข้อมูล XN| P37
    DS7 -->|ข้อมูลผู้ป่วย| P37
    P37 -->|บันทึกการนัดหมาย| DS12
    P37 -->|เหตุผลการนัด| DS12
    P37 -->|วันที่นัดหมาย| DS12
    P37 -->|Log การนัดหมาย| DS8

    %% Styling
    style P31 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P32 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style P33 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style P34 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style P35 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style P36 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    style P37 fill:#fff8e1,stroke:#f57f17,stroke-width:2px

    style DS2 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS3 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    style DS4 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style DS6 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style DS7 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style DS8 fill:#fafafa,stroke:#424242,stroke-width:2px
    style DS10 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style DS11 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS12 fill:#fff8e1,stroke:#f57f17,stroke-width:2px

6. Level 1 DFD - การจัดการฟิล์ม

graph TD
    %% External Entities
    RADIOGRAPHER[นักรังสีเทคนิค]
    MEDICALRECORD[เจ้าหน้าที่เวชระเบียน]
    BORROWER[ผู้ยืมฟิล์ม]

    %% Sub-Processes
    P41["4.1<br/>บันทึกฟิล์ม<br/>ใช้"]
    P42["4.2<br/>บันทึกฟิล์ม<br/>เสีย"]
    P43["4.3<br/>ยืมฟิล์ม<br/>X-Ray"]
    P44["4.4<br/>คืนฟิล์ม<br/>X-Ray"]
    P45["4.5<br/>ตรวจสอบ<br/>สถานะฟิล์ม"]
    P46["4.6<br/>แจ้งเตือน<br/>ฟิล์มค้าง"]

    %% Data Stores
    DS2[("D2: คำสั่งตรวจ<br/>และ XN")]
    DS3[("D3: ผลการตรวจ<br/>และรายงาน")]
    DS4[("D4: ข้อมูลฟิล์ม<br/>และการยืม-คืน")]
    DS7[("D7: ข้อมูลผู้ป่วย")]
    DS8[("D8: Audit Log")]
    DS13[("D13: Stock ฟิล์ม")]

    %% Process 4.1 - บันทึกฟิล์มใช้
    RADIOGRAPHER -->|บันทึกฟิล์มใช้| P41
    DS2 -->|ข้อมูล XN| P41
    P41 -->|จำนวนฟิล์ม| DS4
    P41 -->|ขนาดฟิล์ม| DS4
    P41 -->|ประเภทฟิล์ม| DS4
    P41 -->|ลด Stock ฟิล์ม| DS13
    P41 -->|Log การใช้ฟิล์ม| DS8

    %% Process 4.2 - บันทึกฟิล์มเสีย
    RADIOGRAPHER -->|บันทึกฟิล์มเสีย| P42
    DS2 -->|ข้อมูล XN| P42
    P42 -->|จำนวนฟิล์มเสีย| DS4
    P42 -->|ขนาดฟิล์มเสีย| DS4
    P42 -->|สาเหตุฟิล์มเสีย| DS4
    P42 -->|ลด Stock ฟิล์ม| DS13
    P42 -->|Log ฟิล์มเสีย| DS8

    %% Process 4.3 - ยืมฟิล์ม X-Ray
    MEDICALRECORD -->|ขอยืมฟิล์ม| P43
    BORROWER -->|ขอยืมฟิล์ม| P43
    DS2 -->|ค้นหา XN| P43
    DS3 -->|ตรวจสอบมีฟิล์ม| P43
    DS7 -->|ข้อมูลผู้ป่วย| P43
    DS4 -->|สถานะฟิล์ม| P43
    P43 -->|บันทึกการยืม| DS4
    P43 -->|ผู้ยืม| DS4
    P43 -->|แผนกที่ยืม| DS4
    P43 -->|สาเหตุการยืม| DS4
    P43 -->|เบอร์โทร| DS4
    P43 -->|หมายเหตุ| DS4
    P43 -->|วันที่ยืม| DS4
    P43 -->|สถานะ: ยืมออก| DS4
    P43 -->|Log การยืม| DS8

    %% Process 4.4 - คืนฟิล์ม X-Ray
    MEDICALRECORD -->|คืนฟิล์ม| P44
    BORROWER -->|คืนฟิล์ม| P44
    DS4 -->|ข้อมูลการยืม| P44
    P44 -->|บันทึกวันที่คืน| DS4
    P44 -->|ผู้รับคืน| DS4
    P44 -->|สถานะฟิล์ม| DS4
    P44 -->|สถานะ: คืนแล้ว| DS4
    P44 -->|Log การคืน| DS8

    %% Process 4.5 - ตรวจสอบสถานะฟิล์ม
    MEDICALRECORD -->|ตรวจสอบสถานะ| P45
    DS4 -->|ข้อมูลการยืม-คืน| P45
    DS2 -->|ข้อมูล XN| P45
    P45 -->|แสดงฟิล์มที่ยืมอยู่| MEDICALRECORD
    P45 -->|แสดงฟิล์มค้างคืน| MEDICALRECORD
    P45 -->|แสดงประวัติการยืม| MEDICALRECORD

    %% Process 4.6 - แจ้งเตือนฟิล์มค้าง
    DS4 -->|ฟิล์มค้างคืน| P46
    P46 -->|ตรวจสอบวันครบกำหนด| DS4
    P46 -->|แจ้งเตือนฟิล์มค้าง| MEDICALRECORD
    P46 -->|รายชื่อผู้ยืมค้าง| MEDICALRECORD
    P46 -->|Log การแจ้งเตือน| DS8

    %% Styling
    style P41 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P42 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style P43 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style P44 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style P45 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style P46 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px

    style DS2 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS3 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    style DS4 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style DS7 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style DS8 fill:#fafafa,stroke:#424242,stroke-width:2px
    style DS13 fill:#fff8e1,stroke:#f57f17,stroke-width:2px

7. Level 1 DFD - การพิมพ์เอกสาร

graph TD
    %% External Entities
    RADIOGRAPHER[นักรังสีเทคนิค]
    RADIOLOGIST[รังสีแพทย์]
    NURSE[พยาบาลห้องรังสี]

    %% Sub-Processes
    P51["5.1<br/>พิมพ์ใบ<br/>Request X-Ray"]
    P52["5.2<br/>พิมพ์<br/>XN Label"]
    P53["5.3<br/>พิมพ์ใบ<br/>รายงานผล"]
    P54["5.4<br/>พิมพ์ใบ<br/>นัดหมาย"]

    %% Data Stores
    DS2[("D2: คำสั่งตรวจ<br/>และ XN")]
    DS3[("D3: ผลการตรวจ<br/>และรายงาน")]
    DS7[("D7: ข้อมูลผู้ป่วย")]
    DS8[("D8: Audit Log")]
    DS12[("D12: การนัดหมาย")]
    DS14[("D14: Template<br/>เอกสาร")]

    %% Process 5.1 - พิมพ์ใบ Request X-Ray
    RADIOGRAPHER -->|พิมพ์ Request| P51
    DS2 -->|ข้อมูลคำสั่งตรวจ| P51
    DS7 -->|ข้อมูลผู้ป่วย| P51
    DS14 -->|Template Request| P51
    P51 -->|ใบ Request X-Ray| P51
    P51 -->|แสดง: HN, ชื่อ, อายุ| P51
    P51 -->|แสดง: รายการตรวจ| P51
    P51 -->|แสดง: ท่า, ด้าน| P51
    P51 -->|แสดง: Comment Box| P51
    P51 -->|แสดง: Barcode| P51
    P51 -->|ใบ Request| RADIOGRAPHER
    P51 -->|Log การพิมพ์| DS8

    %% Process 5.2 - พิมพ์ XN Label
    RADIOGRAPHER -->|พิมพ์ XN Label| P52
    DS2 -->|ข้อมูล XN| P52
    DS7 -->|ข้อมูลผู้ป่วย| P52
    DS14 -->|Template Label| P52
    P52 -->|XN Label ติดซอง| P52
    P52 -->|XN Label ติดฟิล์ม| P52
    P52 -->|แสดง: XN + Barcode| P52
    P52 -->|แสดง: HN, ชื่อ, อายุ| P52
    P52 -->|แสดง: วันที่ตรวจ| P52
    P52 -->|Label| RADIOGRAPHER
    P52 -->|Log การพิมพ์| DS8

    %% Process 5.3 - พิมพ์ใบรายงานผล
    RADIOLOGIST -->|พิมพ์รายงานผล| P53
    DS2 -->|ข้อมูล XN| P53
    DS3 -->|ผลการอ่านฟิล์ม| P53
    DS7 -->|ข้อมูลผู้ป่วย| P53
    DS14 -->|Template รายงาน| P53
    P53 -->|ใบรายงานผล| P53
    P53 -->|แสดง: Findings| P53
    P53 -->|แสดง: Impression| P53
    P53 -->|แสดง: รังสีแพทย์ผู้อ่าน| P53
    P53 -->|รายงานผล| RADIOLOGIST
    P53 -->|Log การพิมพ์| DS8

    %% Process 5.4 - พิมพ์ใบนัดหมาย
    NURSE -->|พิมพ์ใบนัด| P54
    RADIOGRAPHER -->|พิมพ์ใบนัด| P54
    DS12 -->|ข้อมูลการนัด| P54
    DS7 -->|ข้อมูลผู้ป่วย| P54
    DS2 -->|ข้อมูล XN| P54
    DS14 -->|Template ใบนัด| P54
    P54 -->|ใบนัดหมาย| P54
    P54 -->|แสดง: วันที่นัด| P54
    P54 -->|แสดง: เหตุผลการนัด| P54
    P54 -->|ใบนัดหมาย| NURSE
    P54 -->|Log การพิมพ์| DS8

    %% Styling
    style P51 fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    style P52 fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style P53 fill:#fff3e0,stroke:#ef6c00,stroke-width:2px
    style P54 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px

    style DS2 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
    style DS3 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    style DS7 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style DS8 fill:#fafafa,stroke:#424242,stroke-width:2px
    style DS12 fill:#fff8e1,stroke:#f57f17,stroke-width:2px
    style DS14 fill:#f1f8e9,stroke:#558b2f,stroke-width:2px

8. Data Dictionary

8.1 Data Stores

Data Store ชื่อ คำอธิบาย ข้อมูลหลัก
D1 รายการ X-Ray และค่าบริการ
(Radiology Procedures)
เก็บข้อมูลรายการตรวจทางรังสีทุกประเภท รหัสรายการ, ชื่อรายการ, ประเภทการตรวจ, ท่า, ด้าน, ค่าบริการ, รูปแบบการชำระ
D2 คำสั่งตรวจและ XN
(X-Ray Orders & XN)
เก็บข้อมูลคำสั่งตรวจและการลงทะเบียน XN, HN, รายการตรวจ, แพทย์ผู้สั่ง, ความเร่งด่วน, สถานะ
D3 ผลการตรวจและรายงาน
(Results & Reports)
เก็บผลการอ่านและรายงานโดยรังสีแพทย์ XN, Findings, Impression, รังสีแพทย์ผู้อ่าน, สถานะ Lock
D4 ข้อมูลฟิล์มและการยืม-คืน
(Film Management)
เก็บข้อมูลการใช้ฟิล์ม ฟิล์มเสีย และการยืม-คืน จำนวนฟิล์ม, ขนาด, ฟิล์มเสีย, สาเหตุ, การยืม-คืน
D5 ข้อมูลห้องและ Modality
(Rooms & Modalities)
เก็บข้อมูลห้องตรวจและเครื่องมือ รหัสห้อง, ประเภท, Modality, AE Title, IP Address
D6 Template รายงานผล
(Report Templates)
เก็บแม่แบบข้อความสำหรับรายงานผล รหัส Template, เนื้อหา, กลุ่ม, เจ้าของ
D7 ข้อมูลผู้ป่วย
(Patient Information)
เก็บข้อมูลผู้ป่วย (เชื่อมโยงจากระบบเวชระเบียน) HN, ชื่อ-นามสกุล, อายุ, เพศ, สิทธิ
D8 Audit Log
(Audit Trail)
บันทึกการทำงานทั้งหมดของระบบ วันเวลา, ผู้ใช้, การกระทำ, ข้อมูลเดิม-ใหม่
D9 คิวผู้ป่วย
(Patient Queue)
เก็บข้อมูลคิวผู้ป่วยที่รอตรวจ XN, ลำดับคิว, ความเร่งด่วน, สถานะคิว
D10 ประวัติการตรวจ
(Examination History)
เก็บประวัติการตรวจรังสีย้อนหลัง HN, XN เก่า, วันที่ตรวจ, รายการ, ผล
D11 ภาพ DICOM
(DICOM Images)
เก็บภาพ DICOM จากเครื่องมือต่างๆ XN, Study Instance UID, Series, Images
D12 การนัดหมาย
(Appointments)
เก็บข้อมูลการนัดหมายฟังผล XN, วันที่นัด, เหตุผล, สถานะ
D13 Stock ฟิล์ม
(Film Stock)
เก็บข้อมูล Stock ฟิล์ม ขนาดฟิล์ม, จำนวนคงเหลือ, จุดสั่งซื้อ
D14 Template เอกสาร
(Document Templates)
เก็บแม่แบบเอกสารต่างๆ Request, Label, รายงาน, ใบนัด

8.2 Data Elements

8.2.1 ข้อมูลรายการ X-Ray

Field Name Description Data Type Length Example/Format
XRayCode รหัสรายการตรวจ VARCHAR 20 XRAY-XXXXXXXXX
XRayName ชื่อรายการตรวจ (ไทย) NVARCHAR 200 Text
XRayNameEng ชื่อรายการตรวจ (อังกฤษ) VARCHAR 200 Text
ShortName ชื่อย่อ VARCHAR 50 Text
ExamType ประเภทการตรวจ VARCHAR 50 X-RAY/CT/MRI/ULTRASOUND/FLUOROSCOPY
BodyPart ส่วนของร่างกาย VARCHAR 50 CHEST/ABDOMEN/EXTREMITY/SPINE
Description คำอธิบายรายการ NTEXT MAX Text
AvgDuration เวลาเฉลี่ย (นาที) INT 3 XXX
Preparation การเตรียมตัว NTEXT MAX Text
Contraindications ข้อห้ามในการตรวจ NTEXT MAX Text
IsActive สถานะการใช้งาน BIT 1 0/1

8.2.2 ข้อมูลคำสั่งตรวจและ XN

Field Name Description Data Type Length Example/Format
XN X-Ray Number VARCHAR 20 XN-XXXXXXXXX
HN Hospital Number VARCHAR 10 XXXXXXXXXX
OrderID รหัสคำสั่งตรวจ VARCHAR 20 ORD-XXXXXXXXX
XRayCode รหัสรายการตรวจ VARCHAR 20 XRAY-XXXXXXXXX
DoctorID รหัสแพทย์ผู้สั่ง VARCHAR 20 DOC-XXXXXXXX
DepartmentCode รหัสแผนกที่สั่ง VARCHAR 10 DEPT-XXXXX
OrderDate วันที่สั่งตรวจ DATETIME 19 DD/MM/YYYY HH:MM:SS
Urgency ความเร่งด่วน VARCHAR 20 STAT/URGENT/ROUTINE
View ท่า VARCHAR 50 AP/PA/LATERAL/OBLIQUE
Side ด้าน VARCHAR 20 LEFT/RIGHT/BILATERAL
RoomCode รหัสห้องตรวจ VARCHAR 10 ROOM-XXXXX
PatientCondition สภาพผู้ป่วย VARCHAR 50 WALK/CARRY/WHEELCHAIR/STRETCHER
ClinicalInfo ข้อมูลทางคลินิก NTEXT MAX Text
UseContrast ใช้สารทึบรังสี BIT 1 0/1
ContrastType ประเภทสารทึบรังสี VARCHAR 50 Text
Status สถานะการตรวจ VARCHAR 20 WAITING/IN_PROGRESS/COMPLETED/REPORTED
RegisterDate วันที่ลงทะเบียน DATETIME 19 DD/MM/YYYY HH:MM:SS
StartTime เวลาเริ่มตรวจ DATETIME 19 DD/MM/YYYY HH:MM:SS
EndTime เวลาสิ้นสุดการตรวจ DATETIME 19 DD/MM/YYYY HH:MM:SS
RadiographerID รหัสนักรังสีเทคนิค VARCHAR 20 RAD-XXXXXXXX
TotalCharge ค่าใช้จ่ายรวม DECIMAL 10,2 XXXXX.XX
ChargeType รูปแบบการคิดค่าบริการ VARCHAR 20 PER_EXAM/PER_FILM/PER_VIEW

8.2.3 ข้อมูลผลการตรวจและรายงาน

Field Name Description Data Type Length Example/Format
ResultID รหัสผลการตรวจ VARCHAR 20 RES-XXXXXXXXX
XN X-Ray Number VARCHAR 20 XN-XXXXXXXXX
Technique เทคนิคการตรวจ NTEXT MAX Text
Findings สิ่งที่พบ NTEXT MAX Text
Impression สรุปผลการตรวจ NTEXT MAX Text
RadiologistID รหัสรังสีแพทย์ผู้อ่าน VARCHAR 20 DOC-XXXXXXXX
ReportDate วันที่รายงานผล DATETIME 19 DD/MM/YYYY HH:MM:SS
IsLocked สถานะ Lock ผล BIT 1 0/1
LockedBy ผู้ Lock ผล VARCHAR 20 User ID
LockedDate วันที่ Lock ผล DATETIME 19 DD/MM/YYYY HH:MM:SS
DigitalSignature ลายเซ็นดิจิทัล VARBINARY MAX Binary Data
IsSentOnline ส่งผล Online แล้ว BIT 1 0/1
SentDate วันที่ส่งผล DATETIME 19 DD/MM/YYYY HH:MM:SS

8.2.4 ข้อมูลฟิล์มและการยืม-คืน

Field Name Description Data Type Length Example/Format
FilmRecordID รหัสบันทึกฟิล์ม VARCHAR 20 FILM-XXXXXXXXX
XN X-Ray Number VARCHAR 20 XN-XXXXXXXXX
FilmSize ขนาดฟิล์ม VARCHAR 20 8x10/10x12/11x14/14x14/14x17
FilmQuantity จำนวนฟิล์มใช้ INT 3 XXX
DamagedFilmQty จำนวนฟิล์มเสีย INT 3 XXX
DamageReason สาเหตุฟิล์มเสีย VARCHAR 100 OVER_EXPOSURE/UNDER_EXPOSURE/MOTION/etc
DamageReasonDetail รายละเอียดสาเหตุ NTEXT MAX Text
ResponsiblePerson ผู้รับผิดชอบ VARCHAR 20 User ID
RecordDate วันที่บันทึก DATETIME 19 DD/MM/YYYY HH:MM:SS
BorrowID รหัสการยืม VARCHAR 20 BOR-XXXXXXXXX
BorrowerName ชื่อผู้ยืม NVARCHAR 100 Text
BorrowerDept แผนกผู้ยืม VARCHAR 50 Text
BorrowReason สาเหตุการยืม NTEXT MAX Text
BorrowerPhone เบอร์โทรผู้ยืม VARCHAR 15 XXX-XXX-XXXX
BorrowDate วันที่ยืม DATETIME 19 DD/MM/YYYY HH:MM:SS
ReturnDate วันที่คืน DATETIME 19 DD/MM/YYYY HH:MM:SS
FilmStatus สถานะฟิล์ม VARCHAR 20 AVAILABLE/BORROWED/RETURNED/LOST
Remarks หมายเหตุ NTEXT MAX Text

8.2.5 ข้อมูลภาพ DICOM

Field Name Description Data Type Length Example/Format
StudyInstanceUID รหัส Study (DICOM) VARCHAR 64 1.2.840.XXXXXX
SeriesInstanceUID รหัส Series (DICOM) VARCHAR 64 1.2.840.XXXXXX
SOPInstanceUID รหัสภาพ (DICOM) VARCHAR 64 1.2.840.XXXXXX
XN X-Ray Number VARCHAR 20 XN-XXXXXXXXX
Modality ประเภทเครื่อง VARCHAR 10 CR/DR/CT/MR/US
StudyDate วันที่ตรวจ DATE 8 YYYYMMDD
StudyTime เวลาที่ตรวจ TIME 6 HHMMSS
AccessionNumber เลข Accession VARCHAR 20 Text
ImageCount จำนวนภาพ INT 5 XXXXX
ImagePath ที่เก็บภาพ VARCHAR 255 File Path
IsSentToPACS ส่งไปยัง PACS แล้ว BIT 1 0/1
PACSDate วันที่ส่ง PACS DATETIME 19 DD/MM/YYYY HH:MM:SS

8.3 Data Flows

8.3.1 Input Data Flows

Data Flow แหล่งที่มา ปลายทาง คำอธิบาย
คำสั่งตรวจรังสี ระบบซักประวัติ/ห้องตรวจ/ห้องฉุกเฉิน/ผู้ป่วยใน Process 2.1 คำสั่งตรวจพร้อมรายละเอียด
ข้อมูลผู้ป่วย ระบบเวชระเบียน Process 2.0 HN, ชื่อ, อายุ, สิทธิ
ภาพ DICOM เครื่องมือถ่ายภาพ (Modality) Process 3.2 ภาพ DICOM จากเครื่อง CR/DR/CT/MRI
Template รายงาน รังสีแพทย์ Process 3.5 แม่แบบข้อความรายงานผล
การยืมฟิล์ม เจ้าหน้าที่เวชระเบียน Process 4.3 ข้อมูลการยืมฟิล์ม

8.3.2 Output Data Flows

Data Flow แหล่งที่มา ปลายทาง คำอธิบาย
ผลการตรวจรังสี Process 3.6 ระบบซักประวัติ/ห้องตรวจ/ห้องฉุกเฉิน/ผู้ป่วยใน ผลการอ่านและรายงานผล
ข้อมูลค่าบริการ Process 2.5 ระบบการเงิน ค่าตรวจรังสีและค่าฟิล์ม
ภาพ DICOM + Metadata Process 3.2 ระบบ PACS ภาพและข้อมูล DICOM
ใบ Request X-Ray Process 5.1 นักรังสีเทคนิค ใบส่งตรวจพร้อม Comment Box
XN Label Process 5.2 นักรังสีเทคนิค Label ติดซองและฟิล์ม
รายงานผล Process 5.3 รังสีแพทย์ ใบรายงานผลการตรวจ
ใบนัดหมาย Process 5.4 พยาบาล/นักรังสีเทคนิค ใบนัดฟังผล

9. API Integration Flow

9.1 การรับคำสั่งตรวจจากระบบอื่น

sequenceDiagram
    participant EXAM as ระบบห้องตรวจแพทย์
    participant API as Radiology API Gateway
    participant RAD as Radiology System
    participant DB as Radiology Database
    participant FINANCE as ระบบการเงิน
    participant QUEUE as Queue System

    EXAM->>API: 1. POST /api/radiology/orders<br/>{HN, รายการตรวจ, ท่า, ด้าน, ความเร่งด่วน}
    API->>RAD: 2. Validate Order Data
    RAD->>DB: 3. Check Patient Data
    DB-->>RAD: 4. Patient Info
    RAD->>DB: 5. Check Duplicate Order
    DB-->>RAD: 6. Duplicate Check Result

    alt No Duplicate
        RAD->>DB: 7. Save Order
        DB-->>RAD: 8. Order Saved (OrderID)
        RAD->>DB: 9. Calculate Charge
        DB-->>RAD: 10. Charge Amount
        RAD->>FINANCE: 11. Send Charge Data
        FINANCE-->>RAD: 12. Charge Confirmed
        RAD->>QUEUE: 13. Add to Waiting Queue
        QUEUE-->>RAD: 14. Queue Number
        RAD-->>API: 15. Success Response<br/>{OrderID, QueueNumber}
        API-->>EXAM: 16. Order Created Successfully
    else Duplicate Found
        RAD-->>API: 17. Warning: Duplicate Order
        API-->>EXAM: 18. Display Warning<br/>Ask for Confirmation
        EXAM->>API: 19. Confirm Duplicate Order
        API->>RAD: 20. Force Create Order
        RAD->>DB: 21. Save Order (Force)
        DB-->>RAD: 22. Order Saved
        RAD-->>API: 23. Success with Warning
        API-->>EXAM: 24. Order Created with Warning
    end

9.2 การลงทะเบียนและออก XN

sequenceDiagram
    participant TECH as นักรังสีเทคนิค
    participant RAD as Radiology System
    participant DB as Radiology Database
    participant PRINTER as Printer Service

    TECH->>RAD: 1. Select Order to Register
    RAD->>DB: 2. Get Order Details
    DB-->>RAD: 3. Order Data
    RAD->>DB: 4. Generate XN
    DB-->>RAD: 5. New XN Generated
    RAD->>DB: 6. Save Registration<br/>{XN, RegisterDate, RadiographerID}
    DB-->>RAD: 7. Registration Saved
    RAD->>DB: 8. Update Order Status: REGISTERED
    DB-->>RAD: 9. Status Updated
    RAD-->>TECH: 10. Display Registration Success

    TECH->>RAD: 11. Request Print XN Label
    RAD->>DB: 12. Get XN + Patient Data
    DB-->>RAD: 13. Complete Data
    RAD->>PRINTER: 14. Print XN Label<br/>{XN, HN, Name, Barcode}
    PRINTER-->>RAD: 15. Print Success
    RAD-->>TECH: 16. Label Printed

9.3 การส่งภาพ DICOM และรายงานผล

sequenceDiagram
    participant MODALITY as เครื่องถ่ายภาพ (Modality)
    participant RAD as Radiology System
    participant PACS as PACS Server
    participant RADIOLOGIST as รังสีแพทย์
    participant DB as Radiology Database
    participant EXAM as ระบบห้องตรวจ
    participant ER as ระบบห้องฉุกเฉิน

    MODALITY->>RAD: 1. DICOM C-STORE<br/>Send Images
    RAD->>DB: 2. Verify XN/Accession Number
    DB-->>RAD: 3. Order Found
    RAD->>DB: 4. Save DICOM Metadata
    DB-->>RAD: 5. Metadata Saved
    RAD->>PACS: 6. Forward Images to PACS
    PACS-->>RAD: 7. Images Received
    RAD->>DB: 8. Update Status: HAS_IMAGE
    DB-->>RAD: 9. Status Updated

    RADIOLOGIST->>RAD: 10. Open Worklist
    RAD->>DB: 11. Get Pending Reports
    DB-->>RAD: 12. Worklist Data
    RAD->>PACS: 13. Request Images
    PACS-->>RAD: 14. Send Images
    RAD-->>RADIOLOGIST: 15. Display Images + Worklist

    RADIOLOGIST->>RAD: 16. Select Case to Report
    RADIOLOGIST->>RAD: 17. Enter Findings + Impression
    RADIOLOGIST->>RAD: 18. Lock Report
    RAD->>DB: 19. Save Report (Locked)
    DB-->>RAD: 20. Report Saved

    RAD->>DB: 21. Get Order Source
    DB-->>RAD: 22. Source Department

    alt From OPD/Exam Room
        RAD->>EXAM: 23. Send Report Result
        EXAM-->>RAD: 24. Result Received
    else From ER (STAT)
        RAD->>ER: 25. Send STAT Result
        ER-->>RAD: 26. Result Received
    end

    RAD->>DB: 27. Update Status: REPORTED
    DB-->>RAD: 28. Status Updated
    RAD-->>RADIOLOGIST: 29. Report Sent Successfully

9.4 การจัดการฟิล์มและการยืม-คืน

sequenceDiagram
    participant TECH as นักรังสีเทคนิค
    participant RAD as Radiology System
    participant DB as Radiology Database
    participant FINANCE as ระบบการเงิน
    participant MEDRECORD as เจ้าหน้าที่เวชระเบียน

    TECH->>RAD: 1. Record Film Usage<br/>{XN, Size, Quantity}
    RAD->>DB: 2. Save Film Usage
    DB-->>RAD: 3. Film Usage Saved
    RAD->>DB: 4. Update Stock
    DB-->>RAD: 5. Stock Updated
    RAD->>DB: 6. Calculate Film Charge
    DB-->>RAD: 7. Charge Amount
    RAD->>FINANCE: 8. Send Film Charge
    FINANCE-->>RAD: 9. Charge Confirmed

    TECH->>RAD: 10. Record Damaged Film<br/>{Size, Quantity, Reason}
    RAD->>DB: 11. Save Damaged Film
    DB-->>RAD: 12. Damaged Film Saved
    RAD->>DB: 13. Update Stock (Damaged)
    DB-->>RAD: 14. Stock Updated

    MEDRECORD->>RAD: 15. Request Borrow Film<br/>{XN, Borrower, Reason}
    RAD->>DB: 16. Check Film Availability
    DB-->>RAD: 17. Film Status

    alt Film Available
        RAD->>DB: 18. Save Borrow Record
        DB-->>RAD: 19. Borrow Recorded
        RAD->>DB: 20. Update Film Status: BORROWED
        DB-->>RAD: 21. Status Updated
        RAD-->>MEDRECORD: 22. Film Borrowed Successfully
    else Film Not Available
        RAD-->>MEDRECORD: 23. Film Not Available
    end

    MEDRECORD->>RAD: 24. Return Film<br/>{BorrowID}
    RAD->>DB: 25. Update Borrow Record
    DB-->>RAD: 26. Return Recorded
    RAD->>DB: 27. Update Film Status: AVAILABLE
    DB-->>RAD: 28. Status Updated
    RAD-->>MEDRECORD: 29. Film Returned Successfully

10. API Technical Specifications

10.1 รับคำสั่งตรวจรังสี

Endpoint: POST /api/radiology/orders

Request Body:

{
  "HN": "1234567890",
  "DoctorID": "DOC-00001",
  "DepartmentCode": "DEPT-OPD",
  "PatientType": "OPD",
  "Orders": [
    {
      "XRayCode": "XRAY-CHEST-PA",
      "View": "PA",
      "Side": "BILATERAL",
      "Urgency": "ROUTINE",
      "ClinicalInfo": "Cough for 2 weeks",
      "UseContrast": false,
      "PatientCondition": "WALK"
    }
  ],
  "RequestedBy": "USER001"
}

Response:

{
  "success": true,
  "data": {
    "OrderID": "ORD-2025102300001",
    "Orders": [
      {
        "XRayCode": "XRAY-CHEST-PA",
        "OrderDetailID": "ORDDET-00001",
        "EstimatedCharge": 350.00,
        "QueueNumber": "R001"
      }
    ],
    "TotalCharge": 350.00
  },
  "message": "Order created successfully"
}

10.2 ลงทะเบียนและออก XN

Endpoint: POST /api/radiology/registration

Request Body:

{
  "OrderID": "ORD-2025102300001",
  "RoomCode": "ROOM-XRAY01",
  "RadiographerID": "RAD-00001",
  "RegisterDate": "2025-10-23T14:30:00"
}

Response:

{
  "success": true,
  "data": {
    "XN": "XN-2025102300001",
    "OrderID": "ORD-2025102300001",
    "HN": "1234567890",
    "PatientName": "นาย ทดสอบ ระบบ",
    "QueueNumber": "R001",
    "Status": "REGISTERED"
  },
  "message": "Registration successful"
}

10.3 บันทึกผลการอ่านฟิล์ม

Endpoint: POST /api/radiology/reports

Request Body:

{
  "XN": "XN-2025102300001",
  "RadiologistID": "DOC-00010",
  "Technique": "Chest PA radiograph",
  "Findings": "The lungs are clear. No focal consolidation, pleural effusion, or pneumothorax. Heart size is normal. No mediastinal widening.",
  "Impression": "Normal chest radiograph",
  "ReportDate": "2025-10-23T16:00:00",
  "IsLocked": true
}

Response:

{
  "success": true,
  "data": {
    "ResultID": "RES-2025102300001",
    "XN": "XN-2025102300001",
    "RadiologistID": "DOC-00010",
    "RadiologistName": "นพ. รังสี แพทย์",
    "ReportDate": "2025-10-23T16:00:00",
    "IsLocked": true,
    "IsSentOnline": true
  },
  "message": "Report saved and sent successfully"
}

10.4 ดึงผลการตรวจ (สำหรับแพทย์ผู้สั่ง)

Endpoint: GET /api/radiology/results/{XN}

Response:

{
  "success": true,
  "data": {
    "XN": "XN-2025102300001",
    "HN": "1234567890",
    "PatientName": "นาย ทดสอบ ระบบ",
    "ExamName": "Chest PA",
    "OrderDate": "2025-10-23T14:00:00",
    "ExamDate": "2025-10-23T14:45:00",
    "Status": "REPORTED",
    "Technique": "Chest PA radiograph",
    "Findings": "The lungs are clear. No focal consolidation, pleural effusion, or pneumothorax. Heart size is normal. No mediastinal widening.",
    "Impression": "Normal chest radiograph",
    "RadiologistName": "นพ. รังสี แพทย์",
    "ReportDate": "2025-10-23T16:00:00",
    "IsLocked": true,
    "ImageCount": 1,
    "ImageURLs": [
      "https://pacs.hospital.local/viewer?study=1.2.840.xxxxx"
    ]
  }
}

10.5 บันทึกการใช้ฟิล์ม

Endpoint: POST /api/radiology/film-usage

Request Body:

{
  "XN": "XN-2025102300001",
  "FilmUsage": [
    {
      "FilmSize": "14x17",
      "Quantity": 1
    }
  ],
  "DamagedFilms": [
    {
      "FilmSize": "14x17",
      "Quantity": 1,
      "Reason": "MOTION_ARTIFACT",
      "ReasonDetail": "Patient moved during exposure"
    }
  ],
  "RecordedBy": "RAD-00001"
}

Response:

{
  "success": true,
  "data": {
    "XN": "XN-2025102300001",
    "TotalFilmsUsed": 1,
    "TotalDamagedFilms": 1,
    "FilmCharge": 120.00,
    "UpdatedStock": [
      {
        "FilmSize": "14x17",
        "RemainingStock": 248
      }
    ]
  },
  "message": "Film usage recorded"
}

10.6 ยืมฟิล์ม

Endpoint: POST /api/radiology/film-borrow

Request Body:

{
  "XN": "XN-2025102300001",
  "BorrowerName": "นาง สมหญิง ทดสอบ",
  "BorrowerDept": "เวชระเบียน",
  "BorrowReason": "ขอดูประวัติการตรวจ",
  "BorrowerPhone": "081-234-5678",
  "RequestedBy": "MEDRECORD001"
}

Response:

{
  "success": true,
  "data": {
    "BorrowID": "BOR-2025102300001",
    "XN": "XN-2025102300001",
    "BorrowerName": "นาง สมหญิง ทดสอบ",
    "BorrowDate": "2025-10-23T17:00:00",
    "FilmStatus": "BORROWED"
  },
  "message": "Film borrowed successfully"
}

10.7 คืนฟิล์ม

Endpoint: PUT /api/radiology/film-return/{BorrowID}

Request Body:

{
  "ReturnDate": "2025-10-24T09:00:00",
  "ReturnedBy": "MEDRECORD002",
  "Remarks": "ฟิล์มครบถ้วน สภาพดี"
}

Response:

{
  "success": true,
  "data": {
    "BorrowID": "BOR-2025102300001",
    "XN": "XN-2025102300001",
    "ReturnDate": "2025-10-24T09:00:00",
    "FilmStatus": "AVAILABLE"
  },
  "message": "Film returned successfully"
}

10.8 DICOM Integration (PACS)

DICOM Services: - C-STORE: รับภาพจาก Modality - C-FIND: ค้นหา Study/Series - C-MOVE: ดึงภาพจาก PACS - Worklist (MWL): ส่ง Worklist ไปยัง Modality

Configuration:

{
  "AETitle": "RADIOLOGY_SYS",
  "Port": 11112,
  "PACS": {
    "AETitle": "PACS_SERVER",
    "Host": "pacs.hospital.local",
    "Port": 104
  },
  "Modalities": [
    {
      "AETitle": "CR_ROOM1",
      "Host": "10.10.10.101",
      "Port": 104,
      "Type": "CR"
    },
    {
      "AETitle": "CT_ROOM1",
      "Host": "10.10.10.102",
      "Port": 104,
      "Type": "CT"
    }
  ]
}


สรุป

เอกสาร Data Flow Diagram ของระบบรังสีวิทยานี้แสดงการไหลของข้อมูลครบวงจร ตั้งแต่:

  1. การรับคำสั่งตรวจ จากระบบต่างๆ ผ่าน API แบบ Online
  2. การลงทะเบียนและออก XN พร้อมการจัดการคิวผู้ป่วย
  3. การรับภาพ DICOM จากเครื่องมือและส่งไปยัง PACS
  4. การบันทึกการใช้ฟิล์ม และฟิล์มเสียพร้อมสาเหตุ
  5. การอ่านและรายงานผล โดยรังสีแพทย์ด้วย Template
  6. การ Lock ผลและส่งกลับ ไปยังระบบที่สั่งตรวจแบบ Real-time
  7. การจัดการฟิล์ม รวมถึงการยืม-คืนอย่างเป็นระบบ
  8. การพิมพ์เอกสาร ครบถ้วนตาม TOR

ระบบออกแบบให้รองรับการทำงานแบบ Multi-Modality (X-Ray, CT, MRI, Ultrasound) และเชื่อมโยงกับระบบอื่นๆ ใน HIS ผ่าน REST API และ DICOM Protocol สำหรับ PACS

เอกสารนี้จัดทำขึ้นเพื่อใช้เป็นแนวทางในการออกแบบและพัฒนาระบบรังสีวิทยาที่เชื่อมโยงกับระบบอื่นๆ ในโรงพยาบาลและจะได้รับการปรับปรุงตามความต้องการที่เปลี่ยนแปลง