Data Flow Diagram (DFD)
ระบบรังสีวิทยา (Radiology System)
เวอร์ชัน: 1.0
วันที่: 23 ตุลาคม 2568
สอดคล้องกับ: SRS ระบบรังสีวิทยา v1.0, TOR ระบบรังสีวิทยา, ERD v1.0, และ Schema v1.0
สารบัญ
- ภาพรวมระบบ
- Context Diagram
- Level 0 DFD
- Level 1 DFD - การส่งตรวจและลงทะเบียน
- Level 1 DFD - การรายงานผลทางรังสี
- Level 1 DFD - การจัดการฟิล์ม
- Level 1 DFD - การพิมพ์เอกสาร
- Data Dictionary
- API Integration Flow
- 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 ของระบบรังสีวิทยานี้แสดงการไหลของข้อมูลครบวงจร ตั้งแต่:
- การรับคำสั่งตรวจ จากระบบต่างๆ ผ่าน API แบบ Online
- การลงทะเบียนและออก XN พร้อมการจัดการคิวผู้ป่วย
- การรับภาพ DICOM จากเครื่องมือและส่งไปยัง PACS
- การบันทึกการใช้ฟิล์ม และฟิล์มเสียพร้อมสาเหตุ
- การอ่านและรายงานผล โดยรังสีแพทย์ด้วย Template
- การ Lock ผลและส่งกลับ ไปยังระบบที่สั่งตรวจแบบ Real-time
- การจัดการฟิล์ม รวมถึงการยืม-คืนอย่างเป็นระบบ
- การพิมพ์เอกสาร ครบถ้วนตาม TOR
ระบบออกแบบให้รองรับการทำงานแบบ Multi-Modality (X-Ray, CT, MRI, Ultrasound) และเชื่อมโยงกับระบบอื่นๆ ใน HIS ผ่าน REST API และ DICOM Protocol สำหรับ PACS
เอกสารนี้จัดทำขึ้นเพื่อใช้เป็นแนวทางในการออกแบบและพัฒนาระบบรังสีวิทยาที่เชื่อมโยงกับระบบอื่นๆ ในโรงพยาบาลและจะได้รับการปรับปรุงตามความต้องการที่เปลี่ยนแปลง