File size: 1,816 Bytes
d160281 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import sqlite3
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
DB_PATH = os.path.join(BASE_DIR, "database.db")
conn = sqlite3.connect(DB_PATH)
cur = conn.cursor()
# -----------------------------
# USERS TABLE
# -----------------------------
cur.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
role TEXT DEFAULT 'patient'
)
""")
# -----------------------------
# DOCTORS TABLE
# -----------------------------
cur.execute("""
CREATE TABLE IF NOT EXISTS doctors (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
specialization TEXT NOT NULL,
photo TEXT,
description TEXT,
experience TEXT,
fees TEXT,
hospital TEXT,
disease_key TEXT
)
""")
# -----------------------------
# REPORTS TABLE
# -----------------------------
cur.execute("""
CREATE TABLE IF NOT EXISTS reports (
id INTEGER PRIMARY KEY AUTOINCREMENT,
patient_name TEXT NOT NULL,
patient_email TEXT,
symptoms TEXT,
predicted_disease TEXT,
predicted_doctor TEXT,
specialization TEXT,
confidence REAL,
created_at TEXT,
pdf_path TEXT
)
""")
# -----------------------------
# APPOINTMENTS TABLE
# -----------------------------
cur.execute("""
CREATE TABLE IF NOT EXISTS appointments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
patient_name TEXT NOT NULL,
patient_email TEXT NOT NULL,
doctor_name TEXT NOT NULL,
specialization TEXT NOT NULL,
appointment_date TEXT NOT NULL,
notes TEXT,
status TEXT DEFAULT 'Pending',
created_at TEXT
)
""")
conn.commit()
conn.close()
print("✅ Database setup completed successfully.") |