hospital-log/backend/api/prisma/migrations/0_init/migration.sql

92 lines
2.8 KiB
SQL

-- CreateSchema
CREATE SCHEMA IF NOT EXISTS "public";
-- CreateTable
CREATE TABLE "public"."blockchain_log_queue" (
"id" BIGSERIAL NOT NULL,
"status" VARCHAR(20) NOT NULL DEFAULT 'PENDING',
"event" VARCHAR(50) NOT NULL,
"user_id" BIGINT NOT NULL,
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
"payload" JSONB NOT NULL,
"processed_at" TIMESTAMPTZ(6),
"transactionid" VARCHAR(64),
CONSTRAINT "blockchain_log_queue_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "public"."pemberian_obat" (
"id" SERIAL NOT NULL,
"id_visit" VARCHAR(25) NOT NULL,
"obat" VARCHAR(100) NOT NULL,
"jumlah_obat" INTEGER NOT NULL,
"aturan_pakai" TEXT,
CONSTRAINT "pemberian_obat_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "public"."pemberian_tindakan" (
"id" SERIAL NOT NULL,
"id_visit" VARCHAR(25) NOT NULL,
"tindakan" VARCHAR(100) NOT NULL,
"kategori_tindakan" VARCHAR(50),
"kelompok_tindakan" VARCHAR(50),
CONSTRAINT "pemberian_tindakan_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "public"."rekam_medis" (
"id_visit" VARCHAR(25) NOT NULL,
"waktu_visit" TIMESTAMP(6) NOT NULL,
"no_rm" VARCHAR(20) NOT NULL,
"nama_pasien" VARCHAR(100) NOT NULL,
"umur" INTEGER,
"jenis_kelamin" VARCHAR(10),
"gol_darah" VARCHAR(3),
"pekerjaan" VARCHAR(100),
"suku" VARCHAR(100),
"kode_diagnosa" VARCHAR(20),
"diagnosa" TEXT,
"anamnese" TEXT,
"sistolik" INTEGER,
"diastolik" INTEGER,
"nadi" INTEGER,
"suhu" DECIMAL(4,1),
"nafas" INTEGER,
"tinggi_badan" DECIMAL(10,5),
"berat_badan" DECIMAL(10,5),
"jenis_kasus" VARCHAR(50),
"tindak_lanjut" TEXT,
CONSTRAINT "rekam_medis_pkey" PRIMARY KEY ("id_visit")
);
-- CreateTable
CREATE TABLE "public"."users" (
"id" BIGSERIAL NOT NULL,
"nama_lengkap" VARCHAR(255) NOT NULL,
"username" VARCHAR(255) NOT NULL,
"password_hash" VARCHAR(255) NOT NULL,
"role" VARCHAR(50) DEFAULT 'user',
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "users_username_key" ON "public"."users"("username" ASC);
-- AddForeignKey
ALTER TABLE "public"."blockchain_log_queue" ADD CONSTRAINT "fk_log_user" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE CASCADE ON UPDATE NO ACTION;
-- AddForeignKey
ALTER TABLE "public"."pemberian_obat" ADD CONSTRAINT "fk_pemberian_obat_visit" FOREIGN KEY ("id_visit") REFERENCES "public"."rekam_medis"("id_visit") ON DELETE CASCADE ON UPDATE NO ACTION;
-- AddForeignKey
ALTER TABLE "public"."pemberian_tindakan" ADD CONSTRAINT "fk_tindakan_visit" FOREIGN KEY ("id_visit") REFERENCES "public"."rekam_medis"("id_visit") ON DELETE CASCADE ON UPDATE NO ACTION;