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

Database Schema Design

ระบบห้องฉุกเฉิน (Emergency Department System)

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


เอกสารเลขที่: SRS-1.2.4-SCHEMA
เวอร์ชัน: 1.0
วันที่: 10 ตุลาคม 2568
ผู้จัดทำ: ทีมพัฒนาระบบ
ผู้อนุมัติ: ผู้อำนวยการโรงพยาบาลค่ายธนรัชน์
การปรับปรุง: Shared Tables กับระบบซักประวัติ (1.2.2) และห้องตรวจ (1.2.3) เพื่อลดความซ้ำซ้อน


Database Schema Design

ระบบห้องฉุกเฉินเป็นระบบศูนย์กลางการดูแลผู้ป่วยฉุกเฉินและอุบัติเหตุ รองรับการทำงาน 24/7 และเชื่อมโยงกับระบบ EMS (Emergency Medical Services) โดยใช้ Shared Tables ร่วมกับระบบซักประวัติ (1.2.2) และระบบห้องตรวจแพทย์ (1.2.3) เพื่อลดความซ้ำซ้อนและเพิ่มประสิทธิภาพ:

  • ระบบเวชระเบียน (1.2.1): ข้อมูลผู้ป่วยหลักและการเข้ารับบริการ
  • ระบบซักประวัติ (1.2.2): การรับประวัติรายละเอียดก่อนการรักษา (ถ้ามี)
  • ระบบห้องตรวจ (1.2.3): การส่งต่อและการรักษาต่อเนื่อง
  • ระบบตรวจสอบสิทธิ (1.2.15): การตรวจสอบสิทธิการรักษาฉุกเฉิน
  • ระบบการเงิน (1.2.14): การคำนวณค่าบริการฉุกเฉิน
  • ระบบเภสัชกรรม (1.2.13): การสั่งยาฉุกเฉิน (STAT/ASAP)
  • ระบบงานชันสูตร (1.2.7): การสั่ง Lab แบบเร่งด่วน (STAT)
  • ระบบรังสีวิทยา (1.2.8): การสั่ง X-Ray แบบเร่งด่วน (STAT)
  • ระบบห้องผ่าตัด (1.2.18): การสั่งผ่าตัดฉุกเฉิน
  • ระบบผู้ป่วยใน (1.2.17): การ Admit ผู้ป่วยฉุกเฉิน

🔑 Shared Tables Architecture

การจัดการ Shared Tables:

  • MEDICAL_DIAGNOSIS - การวินิจฉัยโรค (ร่วมกับ 1.2.2, 1.2.3)
  • MEDICAL_PROCEDURE - หัตถการทางการแพทย์ (ร่วมกับ 1.2.2, 1.2.3)
  • MEDICATION_ORDER - การสั่งยา (ร่วมกับ 1.2.2, 1.2.3)
  • LAB_ORDER - การสั่งตรวจ Lab (ร่วมกับ 1.2.2, 1.2.3)
  • RADIOLOGY_ORDER - การสั่งตรวจ X-Ray (ร่วมกับ 1.2.2, 1.2.3)
  • PATIENT_REFERRAL - การส่งต่อผู้ป่วย (ร่วมกับ 1.2.2, 1.2.3)
  • CONSULTATION_REQUEST - การขอปรึกษา (ร่วมกับ 1.2.2, 1.2.3)
  • PATIENT_APPOINTMENT - การนัดหมาย (ร่วมกับ 1.2.2, 1.2.3)

การระบุแหล่งที่มา:

  • SourceSystem: 'EMERGENCY' สำหรับระบบห้องฉุกเฉิน
  • SourceID: อ้างอิง EmergencyCaseID

8.2.4 ตารางหลัก (Core Tables)

8.2.4.1 ข้อมูลเคสฉุกเฉินหลัก

Table: EMERGENCY_CASE (ข้อมูลเคสฉุกเฉินหลัก)

วัตถุประสงค์: เก็บข้อมูลเคสฉุกเฉินหลัก เป็นตารางศูนย์กลางที่เชื่อมโยงข้อมูลการรักษาฉุกเฉินทั้งหมด รองรับการจัดการผู้ป่วยฉุกเฉิน อุบัติเหตุ และการตรวจโรคทั่วไปที่เข้ามาในห้องฉุกเฉิน

Field Type Key Description
EmergencyCaseID VARCHAR(20) PK รหัสเคสฉุกเฉิน (EMG-XXXXXXXXXXX)
HN VARCHAR(10) FK รหัสผู้ป่วย (อ้างอิง PATIENT จากระบบเวชระเบียน)
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ (อ้างอิง VISIT จากระบบเวชระเบียน)
HistoryID VARCHAR(20) FK รหัสประวัติ (อ้างอิงจากระบบซักประวัติ ถ้ามี)
EmergencyDateTime DATETIME วันเวลาที่เข้ารับการรักษาฉุกเฉิน
EmergencyType VARCHAR(20) ประเภทเคสฉุกเฉิน (ACCIDENT/EMERGENCY/GENERAL)
PatientCategory VARCHAR(20) หมวดผู้ป่วย (TRAUMA/MEDICAL/PEDIATRIC/OB_GYN)
ArrivalMethod VARCHAR(20) วิธีการมา (WALK_IN/AMBULANCE/REFER/OTHER)
TriageLevel VARCHAR(10) FK ระดับความเร่งด่วน (อ้างอิง TRIAGE_CATEGORIES)
ChiefComplaint NTEXT อาการสำคัญ (CC)
DepartmentCode VARCHAR(10) FK รหัสแผนก (อ้างอิง DEPARTMENT)
RoomCode VARCHAR(10) FK รหัสห้องฉุกเฉิน (อ้างอิง EMERGENCY_ROOMS)
AttendingDoctorID VARCHAR(20) FK แพทย์ผู้รับผิดชอบหลัก (อ้างอิง DOCTORS)
ShiftID VARCHAR(20) FK รหัสเวร (อ้างอิง EMERGENCY_SHIFTS)
CaseStatus VARCHAR(20) สถานะเคส (WAITING/TREATING/OBSERVING/COMPLETED/TRANSFERRED)
AdmissionDateTime DATETIME เวลาเข้าห้อง
TreatmentStartTime DATETIME เวลาเริ่มรักษา
TreatmentEndTime DATETIME เวลาเสร็จสิ้นการรักษา
DischargeDateTime DATETIME เวลาจำหน่าย
DischargeType VARCHAR(20) ประเภทการจำหน่าย (HOME/ADMIT/TRANSFER/DEATH)
DischargeDestination NVARCHAR(200) สถานที่ปลายทาง (กรณีส่งต่อ)
IsPregnant BIT สถานะตั้งครรภ์
IsBreastfeeding BIT สถานะให้นมบุตร
TotalCost DECIMAL(10,2) ค่าใช้จ่ายรวม
CreatedDate DATETIME วันที่สร้าง
CreatedBy VARCHAR(50) ผู้สร้าง
LastModified DATETIME วันที่แก้ไขล่าสุด
ModifiedBy VARCHAR(50) ผู้แก้ไขล่าสุด
IsActive BIT ใช้งานได้

Table: TRIAGE_ASSESSMENT (การประเมินคัดกรอง)

วัตถุประสงค์: เก็บข้อมูลการประเมินและคัดกรองผู้ป่วยตามระดับความเร่งด่วน เป็นระบบการจัดลำดับความสำคัญสำหรับการรักษาฉุกเฉิน

Field Type Key Description
TriageID VARCHAR(20) PK รหัสการคัดกรอง (TRI-XXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
TriageDateTime DATETIME เวลาทำการคัดกรอง
TriageNurseID VARCHAR(20) FK พยาบาลผู้คัดกรอง (อ้างอิง NURSES)
TriageLevelID VARCHAR(10) FK ระดับความเร่งด่วน (อ้างอิง TRIAGE_CATEGORIES)
VitalSigns NTEXT สัญญาณชีพ (JSON Format)
PainScore INT คะแนนความเจ็บปวด (0-10)
ConsciousnessLevel VARCHAR(20) ระดับความรู้สึกตัว (ALERT/DROWSY/UNCONSCIOUS)
TriageNotes NTEXT หมายเหตุการคัดกรอง
ReTriageRequired BIT ต้องคัดกรองซ้ำ
ReTriageDateTime DATETIME เวลาคัดกรองซ้ำ
PriorityScore INT คะแนนลำดับความสำคัญ

Table: EMERGENCY_VITAL_SIGNS (สัญญาณชีพฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลสัญญาณชีพที่วัดได้ในห้องฉุกเฉิน รองรับการติดตามแบบต่อเนื่องและการเตือนค่าผิดปกติ

Field Type Key Description
VitalSignID VARCHAR(20) PK รหัสสัญญาณชีพ (VS-XXXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
MeasurementDateTime DATETIME เวลาวัด
Weight DECIMAL(5,2) น้ำหนัก (kg)
Height DECIMAL(5,2) ส่วนสูง (cm)
BMI DECIMAL(4,2) ดัชนีมวลกาย (คำนวณอัตโนมัติ)
WaistCircumference DECIMAL(5,2) รอบเอว (cm)
Temperature DECIMAL(4,2) อุณหภูมิ (°C)
SystolicBP INT ความดันโลหิตตัวบน (mmHg)
DiastolicBP INT ความดันโลหิตตัวล่าง (mmHg)
HeartRate INT อัตราการเต้นของหัวใจ (bpm)
RespiratoryRate INT อัตราการหายใจ (rpm)
OxygenSaturation DECIMAL(5,2) ระดับออกซิเจนในเลือด (%)
GlasgowComaScale INT คะแนน Glasgow Coma Scale
BloodGlucose DECIMAL(5,2) ระดับน้ำตาลในเลือด (mg/dL)
IsAbnormal BIT ค่าผิดปกติ
AlertGenerated BIT ส่งสัญญาณเตือนแล้ว
MeasuredBy VARCHAR(50) ผู้วัด
Notes NTEXT หมายเหตุ

Table: EMERGENCY_SHIFTS (ข้อมูลเวรฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลการจัดเวรและเจ้าหน้าที่ในห้องฉุกเฉิน รองรับการทำงาน 24/7 และการติดตามผู้รับผิดชอบในแต่ละช่วงเวลา

Field Type Key Description
ShiftID VARCHAR(20) PK รหัสเวร (SHT-XXXXXXXXXXX)
ShiftDate DATE วันที่เวร
ShiftType VARCHAR(20) ประเภทเวร (MORNING/AFTERNOON/NIGHT)
ShiftStart TIME เวลาเริ่มเวร
ShiftEnd TIME เวลาสิ้นสุดเวร
DoctorOnDutyID VARCHAR(20) FK แพทย์เวร (อ้างอิง DOCTORS)
NurseInChargeID VARCHAR(20) FK พยาบาลหัวหน้าเวร (อ้างอิง NURSES)
TotalStaff INT จำนวนเจ้าหน้าที่ทั้งหมด
PatientCount INT จำนวนผู้ป่วยในเวร
CriticalCases INT จำนวนเคสวิกฤต
ShiftNotes NTEXT หมายเหตุการส่งมอบเวร
HandoverTo VARCHAR(20) FK ส่งมอบให้ (รหัสเวรถัดไป)
HandoverNotes NTEXT หมายเหตุการส่งมอบ
IsActive BIT เวรปัจจุบัน

8.2.4.2 ข้อมูลอุบัติเหตุและ EMS

Table: ACCIDENT_RECORDS (ข้อมูลอุบัติเหตุ)

วัตถุประสงค์: เก็บข้อมูลรายละเอียดอุบัติเหตุสำหรับผู้ป่วยที่เข้ารับการรักษาจากอุบัติเหตุ รองรับการบันทึกข้อมูลตามมาตรฐานการรายงานอุบัติเหตุ

Field Type Key Description
AccidentID VARCHAR(20) PK รหัสอุบัติเหตุ (ACC-XXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
AccidentDateTime DATETIME วันเวลาเกิดอุบัติเหตุ
AccidentTypeID VARCHAR(10) FK รหัสประเภทอุบัติเหตุ (อ้างอิง ACCIDENT_TYPES)
AccidentLocation NVARCHAR(200) สถานที่เกิดอุบัติเหตุ
AccidentDescription NTEXT รายละเอียดอุบัติเหตุ
CauseOfAccident NVARCHAR(200) สาเหตุอุบัติเหตุ
InjurySeverityID VARCHAR(10) FK ระดับความรุนแรง (อ้างอิง INJURY_SEVERITY)
InjuryType NVARCHAR(200) ประเภทการบาดเจ็บ
BodyPartAffected NVARCHAR(200) ส่วนของร่างกายที่ได้รับบาดเจ็บ
MechanismOfInjury NVARCHAR(200) กลไกการเกิดการบาดเจ็บ
FirstAidGiven NTEXT การปฐมพยาบาลที่ให้
FirstAidBy NVARCHAR(100) ผู้ให้การปฐมพยาบาล
TransportMethod VARCHAR(50) วิธีการนำส่ง (AMBULANCE/PRIVATE_CAR/WALK_IN)
TransportTime INT เวลาในการนำส่ง (นาที)
WitnessName NVARCHAR(100) ชื่อพยาน
WitnessContact VARCHAR(50) ข้อมูลติดต่อพยาน
PoliceReportNumber VARCHAR(50) เลขที่รายงานตำรวจ
InsuranceInvolved BIT เกี่ยวข้องกับประกันภัย
InsuranceCompany NVARCHAR(100) บริษัทประกันภัย
PolicyNumber VARCHAR(50) เลขที่กรมธรรม์
WorkRelated BIT เกี่ยวข้องกับการทำงาน
RecordedBy VARCHAR(50) ผู้บันทึก
RecordedDate DATETIME วันที่บันทึก

Table: EMS_RECORDS (ข้อมูล EMS)

วัตถุประสงค์: เก็บข้อมูลการรักษาและการดำเนินการจากหน่วย EMS (Emergency Medical Services) เพื่อเป็นข้อมูลต่อเนื่องสำหรับการรักษาในห้องฉุกเฉิน

Field Type Key Description
EMSRecordID VARCHAR(20) PK รหัสบันทึก EMS (EMS-XXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
EMSUnitID VARCHAR(20) FK รหัสหน่วย EMS (อ้างอิง EMS_UNITS)
IncidentNumber VARCHAR(50) เลขที่เหตุการณ์
CallReceived DATETIME เวลารับแจ้งเหตุ
DispatchTime DATETIME เวลาส่งทีม
ArrivalOnScene DATETIME เวลาถึงที่เกิดเหตุ
DepartureFromScene DATETIME เวลาออกจากที่เกิดเหตุ
HospitalArrival DATETIME เวลาถึงโรงพยาบาล
ResponseTime INT เวลาตอบสนอง (นาที)
SceneLocation NVARCHAR(200) สถานที่เกิดเหตุ
PatientConditionOnScene NTEXT สภาพผู้ป่วยณ ที่เกิดเหตุ
VitalSignsOnScene NTEXT สัญญาณชีพณ ที่เกิดเหตุ (JSON Format)
TreatmentGiven NTEXT การรักษาที่ให้
MedicationAdministered NTEXT ยาที่ให้
ProceduresPerformed NTEXT หัตถการที่ทำ
IVAccess BIT เจาะเข็มเลือด
OxygenGiven BIT ให้ออกซิเจน
CPRPerformed BIT ทำ CPR
DefibrillationUsed BIT ใช้เครื่องกระตุกหัวใจ
TransportPriority VARCHAR(20) ลำดับความสำคัญการขนส่ง (RED/YELLOW/GREEN)
PatientDisposition VARCHAR(50) ผลการดำเนินการ (TRANSPORTED/REFUSED/DECEASED)
HandoverReport NTEXT รายงานส่งมอบผู้ป่วย
EMSStaffID VARCHAR(20) FK รหัสเจ้าหน้าที่ EMS หลัก
EMSTeamMembers NTEXT สมาชิกทีม EMS (JSON Format)
VehicleID VARCHAR(20) FK รหัสรถพยาบาล
EquipmentUsed NTEXT อุปกรณ์ที่ใช้
Complications NTEXT ภาวะแทรกซ้อน
SpecialCircumstances NTEXT สถานการณ์พิเศษ
EMSReportBy VARCHAR(50) ผู้รายงาน EMS
EMSReportDate DATETIME วันที่รายงาน

Table: OBSERVATION_RECORDS (ข้อมูลการ Observe)

วัตถุประสงค์: เก็บข้อมูลการสังเกตและติดตามผู้ป่วยในระหว่างการรักษา รองรับการบันทึกกิจกรรม การให้ยา และการสั่งตรวจเพิ่มเติมระหว่างการ Observe

Field Type Key Description
ObservationID VARCHAR(20) PK รหัสการ Observe (OBS-XXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
ObservationStart DATETIME เวลาเริ่ม Observe
ObservationEnd DATETIME เวลาสิ้นสุด Observe
ObservationDuration INT ระยะเวลา Observe (นาที)
ObservationReason NVARCHAR(200) เหตุผลการ Observe
PatientStatusChange NTEXT การเปลี่ยนแปลงสถานะผู้ป่วย
VitalSignsMonitoring NTEXT การติดตามสัญญาณชีพ (JSON Format)
SymptomsProgression NTEXT การเปลี่ยนแปลงอาการ
ActivityGiven NTEXT กิจกรรมที่ให้ผู้ป่วย
MedicationDuringObservation NTEXT ยาที่ให้ระหว่าง Observe
LabOrdersDuringObservation NTEXT การสั่ง Lab ระหว่าง Observe
XRayOrdersDuringObservation NTEXT การสั่ง X-Ray ระหว่าง Observe
NursingInterventions NTEXT การพยาบาลที่ให้
PatientResponse NTEXT การตอบสนองของผู้ป่วย
ComplicationsNoted NTEXT ภาวะแทรกซ้อนที่พบ
ObservationOutcome VARCHAR(50) ผลการ Observe (IMPROVED/STABLE/DETERIORATED)
DischargeRecommendation NTEXT คำแนะนำการจำหน่าย
ObservingNurseID VARCHAR(20) FK พยาบาลผู้ดูแล (อ้างอิง NURSES)
SupervisingDoctorID VARCHAR(20) FK แพทย์ผู้ควบคุม (อ้างอิง DOCTORS)
ObservationNotes NTEXT หมายเหตุการ Observe

8.2.5 ตาราง Shared Tables (ใช้ร่วมกับระบบอื่น)

8.2.5.1 การวินิจฉัยและหัตถการ

Table: MEDICAL_DIAGNOSIS (การวินิจฉัยโรค - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการวินิจฉัยโรคที่ใช้ร่วมกันระหว่างระบบซักประวัติ (1.2.2), ระบบห้องตรวจ (1.2.3) และระบบห้องฉุกเฉิน (1.2.4) เพื่อความสอดคล้องของข้อมูล

Field Type Key Description
DiagnosisID VARCHAR(20) PK รหัสการวินิจฉัย (DX-XXXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
DiagnosisType VARCHAR(20) ประเภทการวินิจฉัย (PRIMARY/SECONDARY/DIFFERENTIAL)
ICDCode VARCHAR(10) FK รหัส ICD (อ้างอิง ICD_CODES)
ICDVersion VARCHAR(10) เวอร์ชัน ICD (ICD-10/ICD-11/THAI)
DiagnosisText NVARCHAR(500) ข้อความวินิจฉัย
DiagnosisNotes NTEXT หมายเหตุการวินิจฉัย
Certainty VARCHAR(20) ระดับความแน่นอน (CONFIRMED/SUSPECTED/RULED_OUT)
DiagnosedBy VARCHAR(20) FK แพทย์ผู้วินิจฉัย (อ้างอิง DOCTORS)
DiagnosedDate DATETIME วันที่วินิจฉัย
IsActive BIT ใช้งานได้
Priority INT ลำดับความสำคัญ (สำหรับ Emergency: 1=Critical, 2=Urgent, 3=Standard)

Table: MEDICAL_PROCEDURE (หัตถการทางการแพทย์ - Shared Table)

วัตถุประสงค์: เก็บข้อมูลหัตถการทางการแพทย์ที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการบันทึกหัตถการฉุกเฉินและหัตถการทั่วไป

Field Type Key Description
ProcedureID VARCHAR(20) PK รหัสหัตถการ (PRO-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
ProcedureCode VARCHAR(20) FK รหัสหัตถการ (อ้างอิง PROCEDURE_CODES)
ProcedureName NVARCHAR(200) ชื่อหัตถการ
ProcedureGroupID VARCHAR(10) FK กลุ่มหัตถการ (อ้างอิง PROCEDURE_GROUPS)
EmergencyProcedureID VARCHAR(10) FK หัตถการฉุกเฉิน (อ้างอิง EMERGENCY_PROCEDURES)
ProcedureStartTime DATETIME เวลาเริ่มหัตถการ
ProcedureEndTime DATETIME เวลาเสร็จสิ้นหัตถการ
Duration INT ระยะเวลา (นาที)
PerformedBy VARCHAR(20) FK ผู้ทำหัตถการหลัก (อ้างอิง DOCTORS)
AssistantStaff NTEXT เจ้าหน้าที่ช่วย (JSON Format)
ProcedureLocation VARCHAR(20) FK สถานที่ทำหัตถการ (อ้างอิง ROOMS)
Anesthesia VARCHAR(50) การชาเฉพาะที่
ProcedureNotes NTEXT หมายเหตุหัตถการ
Complications NTEXT ภาวะแทรกซ้อน
ProcedureResult NTEXT ผลการทำหัตถการ
Cost DECIMAL(10,2) ค่าหัตถการ
IsEmergencyProcedure BIT เป็นหัตถการฉุกเฉิน
UrgencyLevel VARCHAR(20) ระดับความเร่งด่วน (STAT/URGENT/ROUTINE)

8.2.5.2 การสั่งยาและการตรวจ

Table: MEDICATION_ORDER (การสั่งยา - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการสั่งยาที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการสั่งยาฉุกเฉิน RE-MED และ Template

Field Type Key Description
MedicationOrderID VARCHAR(20) PK รหัสการสั่งยา (MED-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
OrderDateTime DATETIME เวลาสั่งยา
DrugCode VARCHAR(20) FK รหัสยา (อ้างอิงจากระบบเภสัชกรรม)
DrugName NVARCHAR(200) ชื่อยา
Strength VARCHAR(50) ความแรง
Dosage VARCHAR(100) ขนาดยา
Route VARCHAR(50) วิธีการให้ยา (PO/IV/IM/SC/TOPICAL)
Frequency VARCHAR(50) ความถี่
Duration VARCHAR(50) ระยะเวลา
Quantity DECIMAL(10,2) จำนวน
Unit VARCHAR(20) หน่วย
Instructions NTEXT คำแนะนำการใช้ยา
PrescribedBy VARCHAR(20) FK แพทย์ผู้สั่ง (อ้างอิง DOCTORS)
Priority VARCHAR(20) ลำดับความสำคัญ (STAT/ASAP/URGENT/ROUTINE)
IsEmergencyMedication BIT ยาฉุกเฉิน
IsREMED BIT การสั่งยาซ้ำ
TemplateID VARCHAR(20) FK รหัส Template (อ้างอิง MEDICATION_TEMPLATES)
OrderStatus VARCHAR(20) สถานะ (ORDERED/DISPENSED/ADMINISTERED/CANCELLED)
Cost DECIMAL(10,2) ราคายา
SpecialInstructions NTEXT คำแนะนำพิเศษ

Table: LAB_ORDER (การสั่งตรวจ Lab - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการสั่งตรวจทางห้องปฏิบัติการที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการสั่งตรวจแบบเร่งด่วน (STAT)

Field Type Key Description
LabOrderID VARCHAR(20) PK รหัสการสั่ง Lab (LAB-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
OrderDateTime DATETIME เวลาสั่งตรวจ
LabItemCode VARCHAR(20) FK รหัสรายการตรวจ (อ้างอิงจากระบบงานชันสูตร)
LabItemName NVARCHAR(200) ชื่อรายการตรวจ
LabGroupID VARCHAR(10) FK กลุ่มการตรวจ (อ้างอิง LAB_GROUPS)
SpecimenType VARCHAR(50) ประเภทตัวอย่าง (BLOOD/URINE/STOOL)
Priority VARCHAR(20) ลำดับความสำคัญ (STAT/URGENT/ROUTINE)
ClinicalIndication NTEXT ข้อบ่งชี้ทางคลินิก
OrderedBy VARCHAR(20) FK แพทย์ผู้สั่ง (อ้างอิง DOCTORS)
CollectionDateTime DATETIME เวลาเก็บตัวอย่าง
CollectedBy VARCHAR(50) ผู้เก็บตัวอย่าง
OrderStatus VARCHAR(20) สถานะ (ORDERED/COLLECTED/PROCESSED/COMPLETED)
ResultDateTime DATETIME เวลาออกผล
CriticalValues BIT ผลวิกฤต
IsEmergencyLab BIT การตรวจฉุกเฉิน
Cost DECIMAL(10,2) ค่าตรวจ
Notes NTEXT หมายเหตุ

Table: RADIOLOGY_ORDER (การสั่งตรวจ X-Ray - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการสั่งตรวจทางรังสีวิทยาที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการสั่งตรวจแบบเร่งด่วน (STAT)

Field Type Key Description
RadiologyOrderID VARCHAR(20) PK รหัสการสั่ง X-Ray (RAD-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
OrderDateTime DATETIME เวลาสั่งตรวจ
XRayItemCode VARCHAR(20) FK รหัสรายการตรวจ (อ้างอิงจากระบบรังสีวิทยา)
XRayItemName NVARCHAR(200) ชื่อรายการตรวจ
BodyPart VARCHAR(100) ส่วนของร่างกาย
XRayType VARCHAR(50) ประเภทการตรวจ (PLAIN/CONTRAST/CT/MRI)
Priority VARCHAR(20) ลำดับความสำคัญ (STAT/URGENT/ROUTINE)
ClinicalIndication NTEXT ข้อบ่งชี้ทางคลินิก
OrderedBy VARCHAR(20) FK แพทย์ผู้สั่ง (อ้างอิง DOCTORS)
ExamDateTime DATETIME เวลาตรวจ
ExaminedBy VARCHAR(20) FK ผู้ตรวจ
OrderStatus VARCHAR(20) สถานะ (ORDERED/SCHEDULED/COMPLETED/REPORTED)
ResultDateTime DATETIME เวลาออกผล
IsEmergencyXRay BIT การตรวจฉุกเฉิน
ContrastUsed BIT ใช้สารทึบแสง
Preparation NTEXT การเตรียมตัว
Cost DECIMAL(10,2) ค่าตรวจ
Notes NTEXT หมายเหตุ

8.2.5.3 การส่งต่อ การปรึกษา และการนัดหมาย

Table: PATIENT_REFERRAL (การส่งต่อผู้ป่วย - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการส่งต่อผู้ป่วยที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการส่งต่อหลายรูปแบบตามที่ระบุใน TOR

Field Type Key Description
ReferralID VARCHAR(20) PK รหัสการส่งต่อ (REF-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
ReferralDateTime DATETIME วันเวลาส่งต่อ
ReferralType VARCHAR(20) ประเภทการส่งต่อ (EXTERNAL/INTERNAL/ADMISSION/SURGERY)
ReferralDestination VARCHAR(20) FK ปลายทางการส่งต่อ (อ้างอิง HOSPITALS/DEPARTMENTS)
DestinationDepartment VARCHAR(20) FK แผนกปลายทาง (อ้างอิง DEPARTMENTS)
SpecialistRequired VARCHAR(20) FK ผู้เชี่ยวชาญที่ต้องการ (อ้างอิง DOCTORS)
UrgencyLevel VARCHAR(20) ระดับความเร่งด่วน (IMMEDIATE/URGENT/ROUTINE)
ReferralReason NTEXT เหตุผลการส่งต่อ
ClinicalSummary NTEXT สรุปทางคลินิก
CurrentDiagnosis NTEXT การวินิจฉัยปัจจุบัน
TreatmentGiven NTEXT การรักษาที่ให้แล้ว
SpecialRequirements NTEXT ความต้องการพิเศษ
TransportMethod VARCHAR(50) วิธีการขนส่ง (AMBULANCE/PRIVATE/WALKING)
AccompaniedBy NVARCHAR(100) ผู้ติดตาม
ReferredBy VARCHAR(20) FK แพทย์ผู้ส่งต่อ (อ้างอิง DOCTORS)
ReferralStatus VARCHAR(20) สถานะ (PENDING/ACCEPTED/REJECTED/COMPLETED)
AcceptedBy VARCHAR(20) FK ผู้รับการส่งต่อ
AcceptanceDateTime DATETIME เวลารับการส่งต่อ
RejectionReason NTEXT เหตุผลปฏิเสธ
FollowUpRequired BIT ต้องติดตาม
FollowUpInstructions NTEXT คำแนะนำการติดตาม
DocumentsSent NTEXT เอกสารที่ส่ง
IsEmergencyReferral BIT การส่งต่อฉุกเฉิน

Table: CONSULTATION_REQUEST (การขอปรึกษา - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการขอปรึกษาแพทย์เฉพาะทางที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการระบุความเร่งด่วนและการติดตาม

Field Type Key Description
ConsultationID VARCHAR(20) PK รหัสการปรึกษา (CON-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
RequestDateTime DATETIME วันเวลาขอปรึกษา
ConsultationType VARCHAR(20) ประเภทการปรึกษา (URGENT/ROUTINE/STAT)
SpecialtyRequired VARCHAR(20) FK ความเชี่ยวชาญที่ต้องการ (อ้างอิง SPECIALTIES)
ConsultantDoctorID VARCHAR(20) FK แพทย์ที่ขอปรึกษา (อ้างอิง DOCTORS)
ConsultingDepartment VARCHAR(20) FK แผนกที่ปรึกษา (อ้างอิง DEPARTMENTS)
UrgencyLevel VARCHAR(20) ระดับความเร่งด่วน (IMMEDIATE/URGENT/ROUTINE)
ClinicalQuestion NTEXT คำถามทางคลินิก
PatientHistory NTEXT ประวัติผู้ป่วย
CurrentFindings NTEXT ผลการตรวจปัจจุบัน
SpecificConcerns NTEXT ข้อกังวลเฉพาะ
RequestedBy VARCHAR(20) FK แพทย์ผู้ขอปรึกษา (อ้างอิง DOCTORS)
ConsultationResponse NTEXT คำตอบการปรึกษา
Recommendations NTEXT คำแนะนำ
FollowUpPlan NTEXT แผนการติดตาม
RespondedBy VARCHAR(20) FK แพทย์ผู้ตอบ (อ้างอิง DOCTORS)
ResponseDateTime DATETIME เวลาตอบ
ConsultationStatus VARCHAR(20) สถานะ (PENDING/RESPONDED/COMPLETED/CANCELLED)
RequiresFaceToFace BIT ต้องพบผู้ป่วย
ScheduledMeeting DATETIME เวลานัดพบ
IsEmergencyConsult BIT การปรึกษาฉุกเฉิน
Priority INT ลำดับความสำคัญ

Table: PATIENT_APPOINTMENT (การนัดหมาย - Shared Table)

วัตถุประสงค์: เก็บข้อมูลการนัดหมายผู้ป่วยที่ใช้ร่วมกันระหว่างระบบต่างๆ รองรับการนัดหลายรูปแบบและการเตือนวันหยุด

Field Type Key Description
AppointmentID VARCHAR(20) PK รหัสการนัดหมาย (APT-XXXXXXXXXXX)
SourceSystem VARCHAR(20) ระบบต้นทาง ('HISTORY_TAKING', 'EXAMINATION', 'EMERGENCY')
SourceID VARCHAR(20) รหัสอ้างอิง (HistoryID/ExaminationID/EmergencyCaseID)
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
AppointmentDateTime DATETIME วันเวลานัดหมาย
AppointmentType VARCHAR(20) ประเภทการนัด (FOLLOW_UP/NEW_CASE/EMERGENCY_FOLLOW)
SchedulingMethod VARCHAR(20) วิธีการนัด (SPECIFIC_DATE/WEEKS/MONTHS)
WeeksFromNow INT จำนวนสัปดาห์ (ถ้าระบุเป็นสัปดาห์)
MonthsFromNow INT จำนวนเดือน (ถ้าระบุเป็นเดือน)
DepartmentCode VARCHAR(10) FK รหัสแผนกที่นัด (อ้างอิง DEPARTMENTS)
DoctorID VARCHAR(20) FK แพทย์ที่นัด (อ้างอิง DOCTORS)
ClinicCode VARCHAR(10) FK รหัสคลินิก (อ้างอิง CLINICS)
AppointmentReason NTEXT สาเหตุการนัดหมาย
SpecialInstructions NTEXT คำแนะนำการปฏิบัติตัว
PreparationRequired NTEXT การเตรียมตัวที่ต้องการ
AdvanceLabOrders NTEXT การสั่ง Lab ล่วงหน้า (JSON Format)
AdvanceXRayOrders NTEXT การสั่ง X-Ray ล่วงหน้า (JSON Format)
EstimatedDuration INT เวลาโดยประมาณ (นาที)
AppointmentStatus VARCHAR(20) สถานะ (SCHEDULED/CONFIRMED/COMPLETED/CANCELLED/NO_SHOW)
IsMultipleDepartment BIT นัดหลายแผนก
MultipleAppointments NTEXT แผนกที่นัดเพิ่ม (JSON Format)
HolidayConflict BIT ตรงกับวันหยุด
HolidayWarning NVARCHAR(200) การเตือนวันหยุด
ScheduledBy VARCHAR(50) ผู้นัดหมาย
ScheduledDate DATETIME วันที่นัดหมาย
ReminderSent BIT ส่งการเตือนแล้ว
ConfirmationRequired BIT ต้องยืนยันการนัด
Notes NTEXT หมายเหตุ

8.2.6 ตารางการจัดการระบบและการตรวจสอบ

8.2.6.1 การตรวจสอบยาและการเตือน

Table: DRUG_ALLERGY_ALERT (การเตือนการแพ้ยา)

วัตถุประสงค์: เก็บข้อมูลการเตือนการแพ้ยาเฉพาะสำหรับการรักษาฉุกเฉิน รองรับการ Override ในสถานการณ์ฉุกเฉิน

Field Type Key Description
AllergyAlertID VARCHAR(20) PK รหัสการเตือนแพ้ยา (AA-XXXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
HN VARCHAR(10) FK รหัสผู้ป่วย
DrugCode VARCHAR(20) FK รหัสยา
AllergyType VARCHAR(50) ประเภทการแพ้ (DRUG/FOOD/ENVIRONMENTAL)
AllergyDescription NTEXT รายละเอียดการแพ้
SeverityLevel VARCHAR(20) ระดับความรุนแรง (MILD/MODERATE/SEVERE/CRITICAL)
AlertTriggered DATETIME เวลาที่เตือน
AlertMessage NTEXT ข้อความเตือน
ActionTaken VARCHAR(50) การดำเนินการ (STOPPED/MODIFIED/OVERRIDE)
OverrideReason NTEXT เหตุผล Override
OverrideBy VARCHAR(20) FK ผู้ Override (อ้างอิง DOCTORS)
IsEmergencyOverride BIT Override ฉุกเฉิน
AlternativeDrug VARCHAR(20) FK ยาทดแทน
Notes NTEXT หมายเหตุ

Table: DRUG_INTERACTION_CHECK (การตรวจสอบปฏิสัมพันธ์ยา)

วัตถุประสงค์: เก็บข้อมูลการตรวจสอบปฏิสัมพันธ์ระหว่างยาในการรักษาฉุกเฉิน

Field Type Key Description
InteractionCheckID VARCHAR(20) PK รหัสการตรวจสอบ (IC-XXXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
Drug1Code VARCHAR(20) FK รหัสยาตัวที่ 1
Drug2Code VARCHAR(20) FK รหัสยาตัวที่ 2
InteractionType VARCHAR(50) ประเภทปฏิสัมพันธ์
SeverityLevel VARCHAR(20) ระดับความรุนแรง (MINOR/MODERATE/MAJOR/CONTRAINDICATED)
InteractionDescription NTEXT รายละเอียดปฏิสัมพันธ์
ClinicalEffect NTEXT ผลทางคลินิก
RecommendedAction NTEXT การดำเนินการที่แนะนำ
CheckDateTime DATETIME เวลาตรวจสอบ
AlertGenerated BIT ส่งสัญญาณเตือนแล้ว
ActionTaken VARCHAR(50) การดำเนินการ
OverrideReason NTEXT เหตุผล Override
CheckedBy VARCHAR(20) FK ผู้ตรวจสอบ

8.2.6.2 การสั่งผ่าตัดและการจัดการค่าใช้จ่าย

Table: EMERGENCY_SURGERY_REQUEST (การสั่งผ่าตัดฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลการสั่งผ่าตัดฉุกเฉินและการประสานงานกับระบบห้องผ่าตัด

Field Type Key Description
SurgeryRequestID VARCHAR(20) PK รหัสการสั่งผ่าตัด (SR-XXXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
HN VARCHAR(10) FK รหัสผู้ป่วย
RequestDateTime DATETIME เวลาสั่งผ่าตัด
SurgeryType VARCHAR(50) ประเภทการผ่าตัด
UrgencyLevel VARCHAR(20) ระดับความเร่งด่วน (IMMEDIATE/URGENT/WITHIN_24HR)
SurgeonRequired VARCHAR(20) FK ศัลยแพทย์ที่ต้องการ (อ้างอิง DOCTORS)
AnesthesiologistRequired VARCHAR(20) FK วิสัญญีแพทย์ (อ้างอิง DOCTORS)
OperatingRoomRequired VARCHAR(20) FK ห้องผ่าตัดที่ต้องการ
EstimatedDuration INT เวลาโดยประมาณ (นาที)
SurgicalIndication NTEXT ข้อบ่งชี้การผ่าตัด
PreOpDiagnosis NTEXT การวินิจฉัยก่อนผ่าตัด
PlannedProcedure NTEXT หัตถการที่วางแผน
SpecialEquipment NTEXT อุปกรณ์พิเศษที่ต้องการ
BloodProductsNeeded NTEXT ผลิตภัณฑ์เลือดที่ต้องการ
SpecialConsiderations NTEXT ข้อพิจารณาพิเศษ
RequestedBy VARCHAR(20) FK แพทย์ผู้สั่ง (อ้างอิง DOCTORS)
SurgeryStatus VARCHAR(20) สถานะ (REQUESTED/SCHEDULED/IN_PROGRESS/COMPLETED/CANCELLED)
ScheduledDateTime DATETIME เวลาที่จัดการผ่าตัด
ActualStartTime DATETIME เวลาเริ่มผ่าตัดจริง
ActualEndTime DATETIME เวลาเสร็จสิ้นจริง
SurgeryOutcome NTEXT ผลการผ่าตัด
PostOpInstructions NTEXT คำแนะนำหลังผ่าตัด
ComplicationsNoted NTEXT ภาวะแทรกซ้อน

Table: COST_SUMMARY (สรุปค่าใช้จ่าย)

วัตถุประสงค์: เก็บข้อมูลสรุปค่าใช้จ่ายการรักษาฉุกเฉินเพื่อเชื่อมโยงกับระบบการเงิน

Field Type Key Description
CostSummaryID VARCHAR(20) PK รหัสสรุปค่าใช้จ่าย (CS-XXXXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
HN VARCHAR(10) FK รหัสผู้ป่วย
VisitID VARCHAR(20) FK รหัสการเข้ารับบริการ
CalculationDateTime DATETIME เวลาคำนวณ
ConsultationFee DECIMAL(10,2) ค่าตรวจรักษา
EmergencyFee DECIMAL(10,2) ค่าบริการฉุกเฉิน
ProcedureCost DECIMAL(10,2) ค่าหัตถการ
MedicationCost DECIMAL(10,2) ค่ายา
LabCost DECIMAL(10,2) ค่าตรวจ Lab
RadiologyCost DECIMAL(10,2) ค่าตรวจ X-Ray
RoomCharge DECIMAL(10,2) ค่าห้อง
EquipmentCost DECIMAL(10,2) ค่าอุปกรณ์
EMSCost DECIMAL(10,2) ค่าบริการ EMS
SuppliesCost DECIMAL(10,2) ค่าวัสดุการแพทย์
OtherCharges DECIMAL(10,2) ค่าใช้จ่ายอื่นๆ
SubTotal DECIMAL(10,2) ยอดรวมย่อย
Tax DECIMAL(10,2) ภาษี
TotalCost DECIMAL(10,2) ยอดรวมทั้งสิ้น
InsuranceCoverage DECIMAL(10,2) จำนวนที่ประกันคุ้มครอง
GovernmentScheme DECIMAL(10,2) สิทธิรัฐ
PatientPayment DECIMAL(10,2) จำนวนที่ผู้ป่วยชำระ
Discount DECIMAL(10,2) ส่วนลด
PaymentStatus VARCHAR(20) สถานะการชำระ (PENDING/PARTIAL/PAID/WAIVED)
BillingNotes NTEXT หมายเหตุการเรียกเก็บ
FinanceReferenceID VARCHAR(20) รหัสอ้างอิงระบบการเงิน

8.2.6.3 ใบรับรองและเอกสาร

Table: EMERGENCY_CERTIFICATE (ใบรับรองแพทย์ฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลใบรับรองแพทย์และเอกสารต่างๆ ที่ออกจากห้องฉุกเฉิน รองรับหลายภาษา

Field Type Key Description
CertificateID VARCHAR(20) PK รหัสใบรับรอง (CERT-XXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
HN VARCHAR(10) FK รหัสผู้ป่วย
CertificateType VARCHAR(50) ประเภทใบรับรอง (MEDICAL/SICK_LEAVE/WORK/DISABILITY)
Language VARCHAR(10) ภาษา (THAI/ENGLISH)
IssueDateTime DATETIME วันเวลาออกใบรับรอง
CertificateNumber VARCHAR(50) เลขที่ใบรับรอง
PatientCondition NTEXT สภาพผู้ป่วย
Diagnosis NTEXT การวินิจฉัย
TreatmentSummary NTEXT สรุปการรักษา
RecommendedRest INT วันพักที่แนะนำ
WorkRestrictions NTEXT ข้อจำกัดในการทำงาน
FollowUpRequired BIT ต้องติดตาม
FollowUpInstructions NTEXT คำแนะนำการติดตาม
SpecialNotes NTEXT หมายเหตุพิเศษ
IssuedBy VARCHAR(20) FK แพทย์ผู้ออก (อ้างอิง DOCTORS)
CertificateStatus VARCHAR(20) สถานะ (ISSUED/REVISED/CANCELLED)
PrintedDateTime DATETIME เวลาพิมพ์
PrintedBy VARCHAR(50) ผู้พิมพ์
DocumentPath VARCHAR(255) Path เอกสาร
DigitalSignature VARBINARY(MAX) ลายเซ็นดิจิทัล

8.2.6.4 บันทึกการเปลี่ยนแปลงและการบูรณาการ

Table: AUDIT_LOG (บันทึกการเปลี่ยนแปลง)

วัตถุประสงค์: เก็บประวัติการเปลี่ยนแปลงข้อมูลในระบบห้องฉุกเฉินเพื่อการตรวจสอบและการติดตาม

Field Type Key Description
AuditID VARCHAR(20) PK รหัสการตรวจสอบ (AUD-XXXXXXXXXXX)
TableName VARCHAR(50) ชื่อตาราง
RecordID VARCHAR(20) รหัสเรคอร์ด
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
ActionType VARCHAR(20) ประเภทการทำงาน (INSERT/UPDATE/DELETE)
FieldName VARCHAR(50) ชื่อฟิลด์
OldValue NTEXT ค่าเดิม
NewValue NTEXT ค่าใหม่
ChangeDateTime DATETIME เวลาเปลี่ยนแปลง
ChangedBy VARCHAR(50) ผู้เปลี่ยนแปลง
UserRole VARCHAR(50) บทบาทผู้ใช้
IPAddress VARCHAR(50) IP Address
Reason NTEXT เหตุผลการเปลี่ยนแปลง
IsEmergencyAction BIT การดำเนินการฉุกเฉิน

Table: SYSTEM_INTEGRATION_LOG (บันทึกการเชื่อมโยงระบบ)

วัตถุประสงค์: เก็บบันทึกการติดต่อและแลกเปลี่ยนข้อมูลกับระบบอื่นๆ ในโรงพยาบาล

Field Type Key Description
IntegrationLogID VARCHAR(20) PK รหัสบันทึกการเชื่อมโยง (INT-XXXXXXXXXX)
EmergencyCaseID VARCHAR(20) FK รหัสเคสฉุกเฉิน
TargetSystem VARCHAR(50) ระบบปลายทาง
IntegrationType VARCHAR(50) ประเภทการเชื่อมโยง (API/DATABASE/FILE)
RequestDateTime DATETIME เวลาส่งคำร้อง
ResponseDateTime DATETIME เวลาได้รับตอบกลับ
RequestData NTEXT ข้อมูลที่ส่ง
ResponseData NTEXT ข้อมูลที่ได้รับ
Status VARCHAR(20) สถานะ (SUCCESS/FAILED/TIMEOUT)
ErrorMessage NTEXT ข้อความข้อผิดพลาด
RetryCount INT จำนวนครั้งที่ลองใหม่
ProcessingTime INT เวลาประมวลผล (ms)

8.2.7 ตาราง Master Data และข้อมูลอ้างอิง

8.2.7.1 ข้อมูลพื้นฐานทางการแพทย์ฉุกเฉิน

Table: ICD_CODES (รหัส ICD)

วัตถุประสงค์: เก็บรหัสการจำแนกโรคและหัตถการตามมาตรฐาน ICD ของ WHO และประเทศไทย

Field Type Key Description
ICDCode VARCHAR(10) PK รหัส ICD
ICDVersion VARCHAR(10) เวอร์ชัน (ICD-10/ICD-11/THAI)
ICDType VARCHAR(20) ประเภท (DISEASE/PROCEDURE)
ShortDescription NVARCHAR(100) คำอธิบายสั้น
LongDescription NTEXT คำอธิบายยาว
ThaiDescription NTEXT คำอธิบายภาษาไทย
Category VARCHAR(50) หมวดหมู่
IsEmergencyCode BIT รหัสฉุกเฉิน
UsageFrequency INT ความถี่การใช้
IsActive BIT ใช้งานได้

Table: TRIAGE_CATEGORIES (หมวดการคัดกรอง)

วัตถุประสงค์: เก็บข้อมูลหมวดหมู่การคัดกรองผู้ป่วยตามระดับความเร่งด่วน

Field Type Key Description
TriageLevelID VARCHAR(10) PK รหัสระดับ Triage
LevelName NVARCHAR(50) ชื่อระดับ
LevelDescription NTEXT คำอธิบายระดับ
ColorCode VARCHAR(10) รหัสสี
Priority INT ลำดับความสำคัญ (1=สูงสุด)
MaxWaitTime INT เวลารอสูงสุด (นาที)
TargetResponseTime INT เวลาตอบสนองเป้าหมาย (นาที)
ClinicalCriteria NTEXT เกณฑ์ทางคลินิก
Examples NTEXT ตัวอย่าง
IsActive BIT ใช้งานได้

Table: TREATMENT_GROUPS (กลุ่มการรักษา)

วัตถุประสงค์: เก็บข้อมูลกลุ่มการรักษาตามค่ารักษาพยาบาลพร้อมค่าบริการ

Field Type Key Description
TreatmentGroupID VARCHAR(10) PK รหัสกลุ่มการรักษา
GroupName NVARCHAR(100) ชื่อกลุ่มการรักษา
GroupDescription NTEXT คำอธิบายกลุ่ม
BaseFee DECIMAL(10,2) ค่าบริการพื้นฐาน
EmergencyMultiplier DECIMAL(4,2) ตัวคูณสำหรับฉุกเฉิน
IsEmergencyGroup BIT กลุ่มฉุกเฉิน
IncludedServices NTEXT บริการที่รวม (JSON Format)
ExcludedServices NTEXT บริการที่ไม่รวม
ValidFrom DATE ใช้ได้ตั้งแต่
ValidTo DATE ใช้ได้ถึง
IsActive BIT ใช้งานได้

Table: MEDICATION_TEMPLATES (Template การใช้ยา)

วัตถุประสงค์: เก็บ Template การสั่งยาที่ใช้บ่อยในการรักษาฉุกเฉิน รองรับการใช้ RE-MED

Field Type Key Description
TemplateID VARCHAR(20) PK รหัส Template
TemplateName NVARCHAR(100) ชื่อ Template
TemplateDescription NTEXT คำอธิบาย Template
ConditionCode VARCHAR(10) FK รหัสภาวะ (อ้างอิง ICD_CODES)
IsEmergencyTemplate BIT Template ฉุกเฉิน
MedicationList NTEXT รายการยา (JSON Format)
Instructions NTEXT คำแนะนำการใช้
Precautions NTEXT ข้อควรระวัง
ContraIndications NTEXT ข้อห้าม
CreatedBy VARCHAR(20) FK ผู้สร้าง (อ้างอิง DOCTORS)
UsageCount INT จำนวนครั้งที่ใช้
LastUsed DATETIME ใช้ครั้งล่าสุด
IsActive BIT ใช้งานได้

Table: ACCIDENT_TYPES (ประเภทอุบัติเหตุ)

วัตถุประสงค์: เก็บข้อมูลประเภทอุบัติเหตุต่างๆ สำหรับการจำแนกและรายงาน

Field Type Key Description
AccidentTypeID VARCHAR(10) PK รหัสประเภทอุบัติเหตุ
TypeName NVARCHAR(100) ชื่อประเภท
TypeDescription NTEXT คำอธิบายประเภท
Category VARCHAR(50) หมวดหมู่ (TRANSPORT/WORK/HOME/SPORT/VIOLENCE)
ReportingRequired BIT ต้องรายงาน
LegalImplications BIT มีนัยทางกฎหมาย
InsuranceCoverage BIT คุ้มครองประกัน
CommonInjuries NTEXT การบาดเจ็บที่พบบ่อย
PreventionTips NTEXT คำแนะนำการป้องกัน
IsActive BIT ใช้งานได้

Table: EMERGENCY_PROCEDURES (หัตถการฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลหัตถการฉุกเฉินเฉพาะที่ทำในห้องฉุกเฉิน

Field Type Key Description
EmergencyProcedureID VARCHAR(10) PK รหัสหัตถการฉุกเฉิน
ProcedureName NVARCHAR(200) ชื่อหัตถการ
ProcedureCode VARCHAR(20) FK รหัสหัตถการ (อ้างอิง ICD_CODES)
Category VARCHAR(50) หมวดหมู่ (RESUSCITATION/TRAUMA/CARDIAC/SURGICAL)
UrgencyLevel VARCHAR(20) ระดับความเร่งด่วน
RequiredSkillLevel VARCHAR(20) ระดับทักษะที่ต้องการ
EstimatedDuration INT เวลาโดยประมาณ (นาที)
RequiredEquipment NTEXT อุปกรณ์ที่ต้องการ
StepByStepGuide NTEXT คู่มือทำหัตถการ
Complications NTEXT ภาวะแทรกซ้อนที่อาจเกิด
ContraIndications NTEXT ข้อห้าม
Fee DECIMAL(10,2) ค่าหัตถการ
IsActive BIT ใช้งานได้

8.2.7.2 ข้อมูลอ้างอิงและบุคลากร

Table: DOCTORS (ข้อมูลแพทย์)

วัตถุประสงค์: เก็บข้อมูลแพทย์ที่ปฏิบัติงานในห้องฉุกเฉิน (อ้างอิงจากระบบบุคลากร)

Field Type Key Description
DoctorID VARCHAR(20) PK รหัสแพทย์
LicenseNumber VARCHAR(20) UK เลขที่ใบอนุญาต
TitleID VARCHAR(10) FK คำนำหน้านาม
FirstName NVARCHAR(50) ชื่อ
LastName NVARCHAR(50) นามสกุล
SpecialtyID VARCHAR(10) FK ความเชี่ยวชาญ (อ้างอิง SPECIALTIES)
DepartmentCode VARCHAR(10) FK แผนกสังกัด
EmergencyQualified BIT มีคุณสมบัติปฏิบัติงานฉุกเฉิน
EmergencyCertifications NTEXT ใบรับรองฉุกเฉิน (JSON Format)
ContactNumber VARCHAR(20) หมายเลขติดต่อ
Email VARCHAR(100) อีเมล
IsActive BIT ปฏิบัติงานอยู่

Table: NURSES (ข้อมูลพยาบาล)

วัตถุประสงค์: เก็บข้อมูลพยาบาลที่ปฏิบัติงานในห้องฉุกเฉิน

Field Type Key Description
NurseID VARCHAR(20) PK รหัสพยาบาล
LicenseNumber VARCHAR(20) UK เลขที่ใบอนุญาต
FirstName NVARCHAR(50) ชื่อ
LastName NVARCHAR(50) นามสกุล
NursingLevel VARCHAR(20) ระดับพยาบาล
DepartmentCode VARCHAR(10) FK แผนกสังกัด
EmergencyTrained BIT ผ่านการอบรมฉุกเฉิน
TriageQualified BIT มีคุณสมบัติคัดกรอง
Certifications NTEXT ใบรับรอง (JSON Format)
ContactNumber VARCHAR(20) หมายเลขติดต่อ
IsActive BIT ปฏิบัติงานอยู่

Table: DEPARTMENTS (แผนก)

วัตถุประสงค์: เก็บข้อมูลแผนกต่างๆ ในโรงพยาบาล (อ้างอิงจากระบบหลัก)

Field Type Key Description
DepartmentCode VARCHAR(10) PK รหัสแผนก
DepartmentName NVARCHAR(100) ชื่อแผนก
DepartmentType VARCHAR(50) ประเภทแผนก
ParentDepartment VARCHAR(10) FK แผนกแม่
HeadOfDepartment VARCHAR(20) FK หัวหน้าแผนก
ContactNumber VARCHAR(20) หมายเลขติดต่อ
Location NVARCHAR(100) ที่ตั้ง
AcceptsEmergencyReferral BIT รับส่งต่อฉุกเฉิน
OperatingHours NTEXT เวลาทำการ (JSON Format)
IsActive BIT เปิดใช้งาน

Table: EMERGENCY_ROOMS (ห้องฉุกเฉิน)

วัตถุประสงค์: เก็บข้อมูลห้องต่างๆ ในแผนกฉุกเฉิน

Field Type Key Description
RoomCode VARCHAR(10) PK รหัสห้อง
RoomName NVARCHAR(50) ชื่อห้อง
RoomType VARCHAR(20) ประเภทห้อง (TRAUMA/RESUSCITATION/OBSERVATION/ISOLATION)
Capacity INT ความจุ (เตียง)
SpecialEquipment NTEXT อุปกรณ์พิเศษ
Status VARCHAR(20) สถานะ (AVAILABLE/OCCUPIED/MAINTENANCE/CLOSED)
CurrentPatient VARCHAR(10) FK ผู้ป่วยปัจจุบัน
AssignedNurse VARCHAR(20) FK พยาบาลประจำห้อง
IsIsolationRoom BIT ห้องแยกโรค
IsActive BIT ใช้งานได้

Table: EMS_UNITS (หน่วย EMS)

วัตถุประสงค์: เก็บข้อมูลหน่วย EMS และรถพยาบาล

Field Type Key Description
EMSUnitID VARCHAR(20) PK รหัสหน่วย EMS
UnitName NVARCHAR(100) ชื่อหน่วย
UnitType VARCHAR(50) ประเภทหน่วย (AMBULANCE/RESCUE/AIR_RESCUE)
VehicleID VARCHAR(20) รหัสรถ
CallSign VARCHAR(20) เครื่องหมายเรียกขาน
BaseLocation NVARCHAR(200) ฐานที่ตั้ง
ServiceArea NTEXT พื้นที่ให้บริการ
EquipmentLevel VARCHAR(20) ระดับอุปกรณ์ (BLS/ALS/CRITICAL_CARE)
StaffCapacity INT จำนวนเจ้าหน้าที่
PatientCapacity INT จำนวนผู้ป่วยที่รับได้
ContactFrequency VARCHAR(20) ความถี่วิทยุติดต่อ
Status VARCHAR(20) สถานะ (AVAILABLE/BUSY/MAINTENANCE/OUT_OF_SERVICE)
IsActive BIT ปฏิบัติการอยู่

9. การเชื่อมโยงระบบและ API Integration

9.1 การเชื่อมโยงข้อมูลเข้า (Input Integration)

🔗 ระบบเวชระเบียน (1.2.1): - HN และ VisitID - ข้อมูลผู้ป่วยหลักและการเข้ารับบริการ - ข้อมูลสิทธิการรักษาเบื้องต้น - ประวัติการมารับบริการก่อนหน้า

🔗 ระบบซักประวัติ (1.2.2): - HistoryID และ VitalSignsID - กรณีมีการซักประวัติก่อนเข้าห้องฉุกเฉิน - ข้อมูลประวัติโรคและการแพ้ยา - ข้อมูลสัญญาณชีพเบื้องต้น

🔗 ระบบห้องตรวจแพทย์ (1.2.3): - ข้อมูลการตรวจก่อนหน้า (ถ้ามี) - ผลการวินิจฉัยเบื้องต้น

🔗 ระบบตรวจสอบสิทธิ (1.2.15): - RightsVerificationID - การตรวจสอบสิทธิการรักษาฉุกเฉิน - ข้อมูลความคุ้มครองของประกัน

🔗 ระบบเภสัชกรรม (1.2.13): - Master Data ยาและการตรวจสอบ Drug Interaction - ข้อมูลการแพ้ยาของผู้ป่วย

🔗 ระบบงานชันสูตร (1.2.7): - Master Data รายการตรวจ Lab - ราคาและข้อกำหนดการเก็บตัวอย่าง

🔗 ระบบรังสีวิทยา (1.2.8): - Master Data รายการตรวจ X-Ray - ราคาและข้อกำหนดการตรวจ

🔗 หน่วย EMS ภายนอก: - ข้อมูลการรักษาเบื้องต้นจาก EMS - ประวัติการปฐมพยาบาลและการนำส่ง

9.2 การเชื่อมโยงข้อมูลออก (Output Integration)

🔗 ระบบเภสัชกรรม (1.2.13): - การสั่งยาฉุกเฉิน Priority STAT/ASAP - การใช้ RE-MED และ Template การสั่งยา - การตรวจสอบ Drug Interaction แบบ Real-time

🔗 ระบบงานชันสูตร (1.2.7): - การสั่ง Lab แบบเร่งด่วน (STAT) - การรับผลแบบ Real-time Critical Values - การเตือนผลค่าวิกฤต

🔗 ระบบรังสีวิทยา (1.2.8): - การสั่ง X-Ray แบบเร่งด่วน (STAT) - การรับผลและรูปภาพแบบ Real-time - การปรึกษา Radiologist ด่วน

🔗 ระบบห้องผ่าตัด (1.2.18): - การสั่งผ่าตัดฉุกเฉิน - การจองห้องผ่าตัดด่วน - การประสานงานทีมผ่าตัด

🔗 ระบบผู้ป่วยใน (1.2.17): - การขอรับเข้าผู้ป่วยในจากฉุกเฉิน - การจองเตียงด่วน - การส่งมอบข้อมูลผู้ป่วย

🔗 ระบบการเงิน (1.2.14): - ข้อมูลค่าบริการฉุกเฉิน - การคำนวณค่าใช้จ่ายแบบ Real-time - การเรียกเก็บเงินจากประกัน

9.3 Emergency-Specific Features

🚨 Real-time Critical Alerts: - การเตือนค่า Lab/X-Ray วิกฤตแบบทันที - การแจ้งเตือนการแพ้ยารุนแรง - การเตือน Drug Interaction อันตราย

⚡ STAT Priority Handling: - การจัดลำดับความสำคัญสูงสุดสำหรับคำสั่งฉุกเฉิน - การข้ามคิวสำหรับการตรวจ STAT - การประมวลผลก่อนคำสั่งปกติ

🔴 Emergency Override: - การข้ามการเตือน Drug Interaction ในสถานการณ์ฉุกเฉิน - การ Override ข้อจำกัดการสั่งยา - การบันทึกเหตุผลและผู้อนุมัติ

💰 Automatic Cost Calculation: - การคำนวณค่าใช้จ่ายฉุกเฉินแบบอัตโนมัติ - ตัวคูณพิเศษสำหรับบริการฉุกเฉิน - การจัดการค่าบริการนอกเวลา

🚑 EMS Data Integration: - การรับข้อมูลจากหน่วย EMS โดยตรง - การติดตามสถานะรถพยาบาล - การประสานงานการรับส่งผู้ป่วย

🏥 Mass Casualty Support: - การรองรับผู้ป่วยฉุกเฉินหมู่ - การจัดลำดับความสำคัญแบบ Triage - การประสานงานทรัพยากรในสถานการณ์วิกฤต


10. Database Relationships และ Constraints

10.1 Primary Key Constraints

  • EMERGENCY_CASE.EmergencyCaseID - PK หลักของระบบ
  • TRIAGE_ASSESSMENT.TriageID - เชื่อมกับ EMERGENCY_CASE (1:1)
  • ACCIDENT_RECORDS.AccidentID - เชื่อมกับ EMERGENCY_CASE (1:0..1)
  • EMS_RECORDS.EMSRecordID - เชื่อมกับ EMERGENCY_CASE (1:0..1)
  • OBSERVATION_RECORDS.ObservationID - เชื่อมกับ EMERGENCY_CASE (1:0..N)

10.2 Foreign Key Relationships

การเชื่อมโยงหลัก:

EMERGENCY_CASE.HN  PATIENT.HN (ระบบเวชระเบียน)
EMERGENCY_CASE.VisitID  VISIT.VisitID (ระบบเวชระเบียน)
EMERGENCY_CASE.HistoryID  PATIENT_HISTORY.HistoryID (ระบบซักประวัติ)
EMERGENCY_CASE.AttendingDoctorID  DOCTORS.DoctorID
EMERGENCY_CASE.ShiftID  EMERGENCY_SHIFTS.ShiftID

การเชื่อมโยง Shared Tables:

MEDICAL_DIAGNOSIS.SourceID  EMERGENCY_CASE.EmergencyCaseID (WHERE SourceSystem='EMERGENCY')
MEDICAL_PROCEDURE.SourceID  EMERGENCY_CASE.EmergencyCaseID (WHERE SourceSystem='EMERGENCY')
MEDICATION_ORDER.SourceID  EMERGENCY_CASE.EmergencyCaseID (WHERE SourceSystem='EMERGENCY')
LAB_ORDER.SourceID  EMERGENCY_CASE.EmergencyCaseID (WHERE SourceSystem='EMERGENCY')
RADIOLOGY_ORDER.SourceID  EMERGENCY_CASE.EmergencyCaseID (WHERE SourceSystem='EMERGENCY')

10.3 Check Constraints

ข้อจำกัดทางธุรกิจ:

-- เวลาเสร็จสิ้นต้องมากกว่าเวลาเริ่ม
CHECK (TreatmentEndTime > TreatmentStartTime)

-- ระดับ Triage ต้องอยู่ในช่วง 1-5
CHECK (TriageLevel BETWEEN 1 AND 5)

-- ค่าใช้จ่ายต้องเป็นบวก
CHECK (TotalCost >= 0)

-- Priority Score ต้องอยู่ในช่วง 1-10
CHECK (PriorityScore BETWEEN 1 AND 10)

10.4 Index Recommendations

Performance Indexes:

-- หาข้อมูลเคสตาม HN รวดเร็ว
CREATE INDEX IX_EMERGENCY_CASE_HN ON EMERGENCY_CASE(HN)

-- หาข้อมูลตาม VisitID
CREATE INDEX IX_EMERGENCY_CASE_VISIT ON EMERGENCY_CASE(VisitID)

-- หาข้อมูลตามวันที่
CREATE INDEX IX_EMERGENCY_CASE_DATE ON EMERGENCY_CASE(EmergencyDateTime)

-- หาข้อมูลตามสถานะ
CREATE INDEX IX_EMERGENCY_CASE_STATUS ON EMERGENCY_CASE(CaseStatus)

-- Shared Tables Indexes
CREATE INDEX IX_MEDICAL_DIAGNOSIS_SOURCE ON MEDICAL_DIAGNOSIS(SourceSystem, SourceID)
CREATE INDEX IX_MEDICATION_ORDER_SOURCE ON MEDICATION_ORDER(SourceSystem, SourceID)
CREATE INDEX IX_LAB_ORDER_SOURCE ON LAB_ORDER(SourceSystem, SourceID)


11. ข้อมูลสำคัญและข้อจำกัด

11.1 ข้อมูลสำคัญ

ครอบคลุม TOR ครบถ้วน: - การจัดการข้อมูลพื้นฐานและรหัส ICD (TOR 1.2.4.1) - การตรวจรักษาฉุกเฉินและอุบัติเหตุ (TOR 1.2.4.2) - การนัดหมายหลายรูปแบบ (TOR 1.2.4.3) - การขอปรึกษาแพทย์ (TOR 1.2.4.4) - การพิมพ์เอกสารหลายภาษา (TOR 1.2.4.5)

Shared Tables Architecture: - ลดความซ้ำซ้อนกับระบบซักประวัติ (1.2.2) และห้องตรวจ (1.2.3) - Data Consistency ระหว่างระบบ - Easy Integration และ Maintenance

Emergency-Specific Features: - การคัดกรอง (Triage) มาตรฐานสากล - การจัดการ EMS และ Observation - การสั่งยา/Lab/X-Ray แบบเร่งด่วน (STAT) - การส่งต่อและการผ่าตัดฉุกเฉิน - การจัดการเวร 24/7

Integration Points: - เชื่อมโยงกับ 8+ ระบบหลัก - Real-time Critical Alerts - API-based Communication - Emergency Override Mechanisms

11.2 ข้อจำกัดและข้อควรระวัง

⚠️ Performance Considerations: - ระบบต้องรองรับการใช้งานหนักในเวลาเร่งด่วน - การ Query Shared Tables ต้องใช้ Index อย่างเหมาะสม - การ Backup และ Recovery ต้องรวดเร็ว

⚠️ Data Integrity: - การ Synchronization ระหว่าง Shared Tables - การจัดการ Transaction ข้ามระบบ - การ Rollback ในกรณีข้อผิดพลาด

⚠️ Security Requirements: - การเข้าถึงข้อมูลผู้ป่วยต้องมีการควบคุม - การ Audit Log ต้องครบถ้วน - การ Encryption สำหรับข้อมูลสำคัญ

⚠️ Compliance: - ต้องสอดคล้องกับมาตรฐานสากล - การรายงานต่อหน่วยงานราชการ - การเก็บข้อมูลตามกฎหมาย

11.3 การขยายระบบในอนาคต

🚀 Future Enhancements: - ระบบ AI สำหรับ Triage อัตโนมัติ - การเชื่อมต่อกับ Telemedicine - การ Integration กับ IoT Medical Devices - Mobile App สำหรับ EMS - การ Analytics แบบ Real-time


12. สรุป

เอกสาร Schema นี้ออกแบบมาเพื่อรองรับการดำเนินงานของระบบห้องฉุกเฉินที่มีประสิทธิภาพและสอดคล้องกับมาตรฐานสากล โดยมีจุดเด่นคือ:

  1. การใช้ Shared Tables ที่ลดความซ้ำซ้อนและเพิ่มความสอดคล้องของข้อมูล
  2. การรองรับ Emergency-Specific Requirements อย่างครบถ้วน
  3. การ Integration ที่แน่นแฟ้นกับระบบอื่นๆ ในโรงพยาบาล
  4. ความยืดหยุ่น ในการขยายและปรับปรุงระบบ
  5. ประสิทธิภาพ ในการทำงานแบบ 24/7

ระบบนี้จะช่วยให้การดูแลผู้ป่วยฉุกเฉินมีประสิทธิภาพมากขึ้น ลดเวลาการรอคอย และเพิ่มความปลอดภัยของผู้ป่วยในสถานการณ์วิกฤต


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