38960-vm/db/migrations/20260316_create_patient_queue.sql
2026-03-17 02:41:09 +00:00

20 lines
884 B
SQL

-- Create patient_queue table
CREATE TABLE IF NOT EXISTS patient_queue (
id INT AUTO_INCREMENT PRIMARY KEY,
patient_id INT NOT NULL,
department_id INT NOT NULL,
doctor_id INT NULL,
visit_id INT NULL,
token_number INT NOT NULL,
status ENUM('waiting', 'serving', 'completed', 'cancelled') DEFAULT 'waiting',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(id) ON DELETE CASCADE,
FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE,
FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE SET NULL,
FOREIGN KEY (visit_id) REFERENCES visits(id) ON DELETE SET NULL
);
-- Index for faster searching of today's queue
CREATE INDEX idx_queue_date_dept ON patient_queue(created_at, department_id);