-- Create "DiagnoseSrc" table CREATE TABLE "public"."DiagnoseSrc" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(2048) NULL, "IndName" character varying(2048) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_DiagnoseSrc_Code" UNIQUE ("Code") ); -- Create "PharmacyCompany" table CREATE TABLE "public"."PharmacyCompany" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(100) NULL, "Regency_Code" character varying(4) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_PharmacyCompany_Code" UNIQUE ("Code") ); -- Create "Uom" table CREATE TABLE "public"."Uom" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Uom_Code" UNIQUE ("Code") ); -- Create "Counter" table CREATE TABLE "public"."Counter" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(30) NULL, "Number" smallint NULL, "Parent_Id" integer NULL, "Type_Code" text NULL, "Queue_Code" character varying(5) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Counter_Code" UNIQUE ("Code") ); -- Create "Item" table CREATE TABLE "public"."Item" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(50) NULL, "Name" character varying(100) NULL, "ItemGroup_Code" character varying(10) NULL, "Uom_Code" character varying(10) NULL, "Infra_Id" integer NULL, "Stock" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Item_Code" UNIQUE ("Code"), CONSTRAINT "fk_Item_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Infra" table CREATE TABLE "public"."Infra" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "InfraGroup_Code" character varying(10) NULL, "Parent_Id" integer NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Infra_Code" UNIQUE ("Code"), CONSTRAINT "fk_Infra_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Device" table CREATE TABLE "public"."Device" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NOT NULL, "Uom_Code" character varying(10) NULL, "Infra_Id" integer NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Device_Code" UNIQUE ("Code"), CONSTRAINT "fk_Device_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Device_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Device_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Province" table CREATE TABLE "public"."Province" ( "Id" smallserial NOT NULL, "Code" character varying(2) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Province_Code" UNIQUE ("Code") ); -- Create "Regency" table CREATE TABLE "public"."Regency" ( "Id" serial NOT NULL, "Province_Code" character varying(2) NULL, "Code" character varying(4) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Regency_Code" UNIQUE ("Code"), CONSTRAINT "fk_Province_Regencies" FOREIGN KEY ("Province_Code") REFERENCES "public"."Province" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "District" table CREATE TABLE "public"."District" ( "Id" bigserial NOT NULL, "Regency_Code" character varying(4) NULL, "Code" character varying(6) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_District_Code" UNIQUE ("Code"), CONSTRAINT "fk_Regency_Districts" FOREIGN KEY ("Regency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Division" table CREATE TABLE "public"."Division" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "Parent_Id" smallint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Division_Code" UNIQUE ("Code") ); -- Create "DivisionPosition" table CREATE TABLE "public"."DivisionPosition" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Division_Id" integer NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_DivisionPosition_Code" UNIQUE ("Code"), CONSTRAINT "fk_DivisionPosition_Division" FOREIGN KEY ("Division_Id") REFERENCES "public"."Division" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Ethnic" table CREATE TABLE "public"."Ethnic" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Ethnic_Code" UNIQUE ("Code") ); -- Create "Language" table CREATE TABLE "public"."Language" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Language_Code" UNIQUE ("Code") ); -- Create "Person" table CREATE TABLE "public"."Person" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Name" character varying(150) NOT NULL, "FrontTitle" character varying(50) NULL, "EndTitle" character varying(50) NULL, "BirthDate" timestamptz NULL, "BirthRegency_Code" character varying(4) NULL, "Gender_Code" character varying(10) NULL, "ResidentIdentityNumber" character varying(16) NULL, "PassportNumber" character varying(20) NULL, "DrivingLicenseNumber" character varying(20) NULL, "Religion_Code" character varying(10) NULL, "Education_Code" character varying(10) NULL, "Ocupation_Code" character varying(15) NULL, "Ocupation_Name" character varying(50) NULL, "Ethnic_Code" character varying(20) NULL, "Language_Code" character varying(10) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Person_DrivingLicenseNumber" UNIQUE ("DrivingLicenseNumber"), CONSTRAINT "uni_Person_PassportNumber" UNIQUE ("PassportNumber"), CONSTRAINT "uni_Person_ResidentIdentityNumber" UNIQUE ("ResidentIdentityNumber"), CONSTRAINT "fk_Person_Ethnic" FOREIGN KEY ("Ethnic_Code") REFERENCES "public"."Ethnic" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Person_Language" FOREIGN KEY ("Language_Code") REFERENCES "public"."Language" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "User" table CREATE TABLE "public"."User" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Name" character varying(25) NOT NULL, "Password" character varying(255) NOT NULL, "Status_Code" character varying(10) NOT NULL, "FailedLoginCount" smallint NULL, "Position_Code" character varying(20) NOT NULL, "LoginAttemptCount" bigint NULL, "LastSuccessLogin" timestamptz NULL, "LastAllowdLogin" timestamptz NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_User_Name" UNIQUE ("Name") ); -- Create "Employee" table CREATE TABLE "public"."Employee" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "User_Id" bigint NULL, "Person_Id" bigint NULL, "Division_Code" character varying(10) NULL, "Number" character varying(20) NULL, "Status_Code" character varying(10) NOT NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Employee_Division" FOREIGN KEY ("Division_Code") REFERENCES "public"."Division" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Employee_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Employee_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Installation" table CREATE TABLE "public"."Installation" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "EncounterClass_Code" character varying(10) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Installation_Code" UNIQUE ("Code") ); -- Create "Unit" table CREATE TABLE "public"."Unit" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Installation_Id" integer NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "Type_Code" text NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Unit_Code" UNIQUE ("Code"), CONSTRAINT "fk_Unit_Installation" FOREIGN KEY ("Installation_Id") REFERENCES "public"."Installation" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Specialist" table CREATE TABLE "public"."Specialist" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "Unit_Id" integer NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Specialist_Code" UNIQUE ("Code"), CONSTRAINT "fk_Specialist_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Subspecialist" table CREATE TABLE "public"."Subspecialist" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "Specialist_Id" integer NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Subspecialist_Code" UNIQUE ("Code"), CONSTRAINT "fk_Subspecialist_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Doctor" table CREATE TABLE "public"."Doctor" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Employee_Id" bigint NULL, "IHS_Number" character varying(20) NULL, "SIP_Number" character varying(20) NULL, "Unit_Id" integer NULL, "Specialist_Id" integer NULL, "Subspecialist_Id" integer NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Doctor_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Doctor_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Doctor_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Doctor_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "DoctorFee" table CREATE TABLE "public"."DoctorFee" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Doctor_Id" bigint NULL, "FeeType_Code" character varying(11) NULL, "Price" numeric NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_DoctorFee_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_DoctorFee_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Patient" table CREATE TABLE "public"."Patient" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Person_Id" bigint NULL, "RegisteredAt" timestamptz NULL, "Status_Code" character varying(10) NOT NULL, "Number" character varying(15) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Patient_Number" UNIQUE ("Number"), CONSTRAINT "fk_Patient_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Encounter" table CREATE TABLE "public"."Encounter" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Patient_Id" bigint NULL, "RegisteredAt" timestamptz NULL, "Class_Code" character varying(10) NOT NULL, "Unit_Id" bigint NULL, "Specialist_Id" integer NULL, "Subspecialist_Id" integer NULL, "VisitDate" timestamptz NULL, "Assignment_Doctor_Id" bigint NULL, "Responsible_Doctor_Id" bigint NULL, "DischardeMethod_Code" character varying(10) NULL, "RefSource_Name" character varying(100) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Encounter_Assignment_Doctor" FOREIGN KEY ("Assignment_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Encounter_Patient" FOREIGN KEY ("Patient_Id") REFERENCES "public"."Patient" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Encounter_Responsible_Doctor" FOREIGN KEY ("Responsible_Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Encounter_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Encounter_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Encounter_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "InsuranceCompany" table CREATE TABLE "public"."InsuranceCompany" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(50) NULL, "Regency_Code" character varying(4) NULL, "Address" character varying(100) NULL, "PhoneNumber" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_InsuranceCompany_Code" UNIQUE ("Code"), CONSTRAINT "fk_InsuranceCompany_Regency" FOREIGN KEY ("Regency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "ItemPrice" table CREATE TABLE "public"."ItemPrice" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Item_Id" bigint NULL, "Price" numeric NULL, "InsuranceCompany_Code" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_ItemPrice_InsuranceCompany" FOREIGN KEY ("InsuranceCompany_Code") REFERENCES "public"."InsuranceCompany" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_ItemPrice_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Laborant" table CREATE TABLE "public"."Laborant" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Employee_Id" bigint NULL, "IHS_Number" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Laborant_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Material" table CREATE TABLE "public"."Material" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "Uom_Code" character varying(10) NULL, "Infra_Id" integer NULL, "Stock" bigint NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Material_Code" UNIQUE ("Code"), CONSTRAINT "fk_Material_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Material_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Material_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "McuSrcCategory" table CREATE TABLE "public"."McuSrcCategory" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(50) NULL, "Scope_Code" character varying(10) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_McuSrcCategory_Code" UNIQUE ("Code") ); -- Create "McuSrc" table CREATE TABLE "public"."McuSrc" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(50) NULL, "CheckupCategory_Code" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_McuSrc_Code" UNIQUE ("Code"), CONSTRAINT "fk_McuSrc_CheckupCategory" FOREIGN KEY ("CheckupCategory_Code") REFERENCES "public"."McuSrcCategory" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "MedicalActionSrc" table CREATE TABLE "public"."MedicalActionSrc" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(20) NULL, "Name" character varying(50) NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_MedicalActionSrc_Code" UNIQUE ("Code"), CONSTRAINT "fk_MedicalActionSrc_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "ProcedureSrc" table CREATE TABLE "public"."ProcedureSrc" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(2048) NULL, "IndName" character varying(2048) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_ProcedureSrc_Code" UNIQUE ("Code") ); -- Create "MedicalActionSrcItem" table CREATE TABLE "public"."MedicalActionSrcItem" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "MedicalActionSrc_Id" bigint NULL, "ProcedureSrc_Id" bigint NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_MedicalActionSrcItem_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_MedicalActionSrcItem_MedicalActionSrc" FOREIGN KEY ("MedicalActionSrc_Id") REFERENCES "public"."MedicalActionSrc" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_MedicalActionSrcItem_ProcedureSrc" FOREIGN KEY ("ProcedureSrc_Id") REFERENCES "public"."ProcedureSrc" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "MedicineGroup" table CREATE TABLE "public"."MedicineGroup" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_MedicineGroup_Code" UNIQUE ("Code") ); -- Create "MedicineMethod" table CREATE TABLE "public"."MedicineMethod" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_MedicineMethod_Code" UNIQUE ("Code") ); -- Create "Medicine" table CREATE TABLE "public"."Medicine" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, "MedicineGroup_Code" character varying(10) NULL, "MedicineMethod_Code" character varying(10) NULL, "Uom_Code" character varying(10) NULL, "Dose" smallint NULL, "Infra_Id" integer NULL, "Stock" bigint NULL, "Item_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Medicine_Code" UNIQUE ("Code"), CONSTRAINT "fk_Medicine_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Medicine_Item" FOREIGN KEY ("Item_Id") REFERENCES "public"."Item" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Medicine_MedicineGroup" FOREIGN KEY ("MedicineGroup_Code") REFERENCES "public"."MedicineGroup" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Medicine_MedicineMethod" FOREIGN KEY ("MedicineMethod_Code") REFERENCES "public"."MedicineMethod" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Medicine_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "MedicineMix" table CREATE TABLE "public"."MedicineMix" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id") ); -- Create "MedicineMixItem" table CREATE TABLE "public"."MedicineMixItem" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "MedicineMix_Id" bigint NULL, "Medicine_Id" bigint NULL, "Dose" smallint NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_MedicineMixItem_Medicine" FOREIGN KEY ("Medicine_Id") REFERENCES "public"."Medicine" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_MedicineMixItem_MedicineMix" FOREIGN KEY ("MedicineMix_Id") REFERENCES "public"."MedicineMix" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Nurse" table CREATE TABLE "public"."Nurse" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Employee_Id" bigint NULL, "IHS_Number" character varying(20) NULL, "Unit_Id" integer NULL, "Infra_Id" integer NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Nurse_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Nurse_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Nurse_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Nutritionist" table CREATE TABLE "public"."Nutritionist" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Employee_Id" bigint NULL, "IHS_Number" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Nutritionist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "PersonAddress" table CREATE TABLE "public"."PersonAddress" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Person_Id" bigint NULL, "Address" character varying(150) NULL, "Rt" character varying(2) NULL, "Rw" character varying(2) NULL, "Village_Code" character varying(10) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Person_Addresses" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "PersonContact" table CREATE TABLE "public"."PersonContact" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Person_Id" bigint NULL, "Type_Code" character varying(15) NULL, "Value" character varying(100) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Person_Contacts" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Village" table CREATE TABLE "public"."Village" ( "Id" bigserial NOT NULL, "District_Code" character varying(6) NULL, "Code" character varying(10) NULL, "Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "uni_Village_Code" UNIQUE ("Code"), CONSTRAINT "fk_District_Villages" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "PersonRelative" table CREATE TABLE "public"."PersonRelative" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Person_Id" bigint NULL, "Relationship_Code" character varying(100) NOT NULL, "Name" character varying(100) NULL, "Address" character varying(100) NULL, "Village_Code" character varying(10) NULL, "Gender_Code" character varying(10) NULL, "PhoneNumber" character varying(30) NULL, "Education_Code" character varying(10) NULL, "Occupation_Code" character varying(10) NULL, "Occupation_Name" character varying(50) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_PersonRelative_Village" FOREIGN KEY ("Village_Code") REFERENCES "public"."Village" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Person_Relatives" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Pharmacist" table CREATE TABLE "public"."Pharmacist" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Employee_Id" bigint NULL, "IHS_Number" character varying(20) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Pharmacist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "PracticeSchedule" table CREATE TABLE "public"."PracticeSchedule" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Doctor_Id" bigint NULL, "Unit_Code" character varying(10) NULL, "Day_Code" smallint NULL, "StartTime" character varying(5) NULL, "EndTime" character varying(5) NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_PracticeSchedule_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_PracticeSchedule_Unit" FOREIGN KEY ("Unit_Code") REFERENCES "public"."Unit" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "Room" table CREATE TABLE "public"."Room" ( "Id" serial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Infra_Id" integer NULL, "Unit_Id" integer NULL, "Specialist_Id" integer NULL, "Subspecialist_Id" integer NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_Room_Infra" FOREIGN KEY ("Infra_Id") REFERENCES "public"."Infra" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Room_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Room_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_Room_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION ); -- Create "SpecialistIntern" table CREATE TABLE "public"."SpecialistIntern" ( "Id" bigserial NOT NULL, "CreatedAt" timestamptz NULL, "UpdatedAt" timestamptz NULL, "DeletedAt" timestamptz NULL, "Person_Id" bigint NULL, "Specialist_Id" integer NULL, "Subspecialist_Id" integer NULL, "User_Id" bigint NULL, PRIMARY KEY ("Id"), CONSTRAINT "fk_SpecialistIntern_Person" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_SpecialistIntern_Specialist" FOREIGN KEY ("Specialist_Id") REFERENCES "public"."Specialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_SpecialistIntern_Subspecialist" FOREIGN KEY ("Subspecialist_Id") REFERENCES "public"."Subspecialist" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT "fk_SpecialistIntern_User" FOREIGN KEY ("User_Id") REFERENCES "public"."User" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION );