From e471ad6101643fbd84589ea3311f32c171ae2667 Mon Sep 17 00:00:00 2001 From: chihaya Date: Mon, 26 May 2025 11:47:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E8=AE=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/init_database.sql | 123 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sql/init_database.sql diff --git a/sql/init_database.sql b/sql/init_database.sql new file mode 100644 index 0000000..001b97b --- /dev/null +++ b/sql/init_database.sql @@ -0,0 +1,123 @@ +CREATE DATABASE IF NOT EXISTS medical_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +USE medical_system; + +CREATE TABLE departments ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) NOT NULL, + description TEXT, + phone VARCHAR(20), + location VARCHAR(200), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE doctors ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) NOT NULL, + gender ENUM('男', '女') NOT NULL, + phone VARCHAR(20), + email VARCHAR(100), + specialty VARCHAR(100), + department_id INT, + license_number VARCHAR(50) UNIQUE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (department_id) REFERENCES departments(id) +); + +CREATE TABLE patients ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) NOT NULL, + gender ENUM('男', '女') NOT NULL, + birth_date DATE, + phone VARCHAR(20), + id_card VARCHAR(18) UNIQUE, + address TEXT, + emergency_contact VARCHAR(100), + emergency_phone VARCHAR(20), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE medications ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(200) NOT NULL, + specification VARCHAR(100), + unit VARCHAR(20), + manufacturer VARCHAR(200), + price DECIMAL(10,2), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE diagnoses ( + id INT AUTO_INCREMENT PRIMARY KEY, + code VARCHAR(20) NOT NULL UNIQUE, + name VARCHAR(200) NOT NULL, + category VARCHAR(50) NOT NULL, + description TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE medical_records ( + id INT AUTO_INCREMENT PRIMARY KEY, + patient_id INT NOT NULL, + doctor_id INT NOT NULL, + department_id INT NOT NULL, + visit_date DATETIME DEFAULT CURRENT_TIMESTAMP, + chief_complaint TEXT, + present_illness TEXT, + physical_examination TEXT, + diagnosis TEXT, + treatment_plan TEXT, + prescription TEXT, + notes TEXT, + status ENUM('待诊', '就诊中', '已完成') DEFAULT '待诊', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (patient_id) REFERENCES patients(id), + FOREIGN KEY (doctor_id) REFERENCES doctors(id), + FOREIGN KEY (department_id) REFERENCES departments(id) +); + +CREATE TABLE prescriptions ( + id INT AUTO_INCREMENT PRIMARY KEY, + record_id INT NOT NULL, + medication_id INT NOT NULL, + dosage VARCHAR(100), + frequency VARCHAR(100), + duration VARCHAR(100), + instructions TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (record_id) REFERENCES medical_records(id), + FOREIGN KEY (medication_id) REFERENCES medications(id) +); + +INSERT INTO departments (name, description, phone, location) VALUES +('内科', '内科疾病诊治', '010-12345678', '1楼101室'), +('外科', '外科手术治疗', '010-12345679', '2楼201室'), +('儿科', '儿童疾病专科', '010-12345680', '3楼301室'), +('妇科', '妇科疾病诊治', '010-12345681', '4楼401室'), +('急诊科', '急诊抢救治疗', '010-12345682', '1楼急诊大厅'); + +INSERT INTO doctors (name, gender, phone, email, specialty, department_id, license_number) VALUES +('张医生', '男', '13800138001', 'zhang@hospital.com', '心血管内科', 1, 'DOC001'), +('李医生', '女', '13800138002', 'li@hospital.com', '普通外科', 2, 'DOC002'), +('王医生', '女', '13800138003', 'wang@hospital.com', '儿科急症', 3, 'DOC003'), +('赵医生', '男', '13800138004', 'zhao@hospital.com', '妇科肿瘤', 4, 'DOC004'), +('刘医生', '男', '13800138005', 'liu@hospital.com', '急诊医学', 5, 'DOC005'); + +INSERT INTO medications (name, specification, unit, manufacturer, price) VALUES +('阿莫西林胶囊', '0.25g*24粒', '盒', '华北制药', 15.80), +('布洛芬缓释胶囊', '0.3g*20粒', '盒', '中美天津史克', 28.50), +('甲硝唑片', '0.2g*100片', '瓶', '石药集团', 12.30), +('头孢克肟胶囊', '0.1g*12粒', '盒', '齐鲁制药', 45.60), +('复方甘草片', '50片', '瓶', '太极集团', 8.90); + +INSERT INTO diagnoses (code, name, category, description) VALUES +('J00.9', '急性鼻咽炎(感冒)', '内科', '上呼吸道病毒感染,常见症状包括鼻塞、流涕、咽痛等'), +('K59.1', '功能性便秘', '内科', '排便困难或排便次数减少,无器质性病变'), +('I10', '原发性高血压', '内科', '血压持续升高,收缩压≥140mmHg或舒张压≥90mmHg'), +('K35.9', '急性阑尾炎', '外科', '阑尾急性炎症,常需要手术治疗'), +('S72.0', '股骨颈骨折', '外科', '髋部外伤常见类型,多发生于老年人'), +('N92.0', '月经过多', '妇科', '月经量明显增多或经期延长'), +('A09', '感染性腹泻', '儿科', '多种病原体引起的腹泻,常见于婴幼儿'), +('J06.9', '急性上呼吸道感染', '儿科', '儿童常见疾病,包括咽炎、喉炎等'), +('H10.9', '结膜炎', '眼科', '结膜充血、分泌物增多'), +('L30.9', '皮炎', '皮肤科', '皮肤炎性反应,表现为红斑、瘙痒等'); \ No newline at end of file