diff --git a/cmd/main-migration/migrations/20251021041042.sql b/cmd/main-migration/migrations/20251021041042.sql new file mode 100644 index 00000000..43701307 --- /dev/null +++ b/cmd/main-migration/migrations/20251021041042.sql @@ -0,0 +1,60 @@ +-- Create "DeathCause" table +CREATE TABLE "public"."DeathCause" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Encounter_Id" bigint NOT NULL, + "Value" text NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_DeathCause_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "EduAssessment" table +CREATE TABLE "public"."EduAssessment" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Encounter_Id" bigint NOT NULL, + "GeneralEdus" text NULL, + "SpecialEdus" text NULL, + "Assessments" text NULL, + "Plan" text NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_EduAssessment_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "GeneralConsent" table +CREATE TABLE "public"."GeneralConsent" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Encounter_Id" bigint NOT NULL, + "Value" text NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_GeneralConsent_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "TherapyProtocol" table +CREATE TABLE "public"."TherapyProtocol" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Encounter_Id" bigint NOT NULL, + "Doctor_Id" bigint NULL, + "Anamnesis" character varying(2048) NULL, + "MedicalDiagnoses" text NULL, + "FunctionDiagnoses" text NULL, + "Procedures" text NULL, + "SupportingExams" character varying(2048) NULL, + "Instruction" character varying(2048) NULL, + "Evaluation" character varying(2048) NULL, + "WorkCauseStatus" character varying(2048) NULL, + "Frequency" bigint NULL, + "IntervalUnit_Code" character varying(10) NULL, + "Duration" bigint NULL, + "DurationUnit_Code" character varying(10) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_TherapyProtocol_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT "fk_TherapyProtocol_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); diff --git a/cmd/main-migration/migrations/atlas.sum b/cmd/main-migration/migrations/atlas.sum index ffc79610..e04c529e 100644 --- a/cmd/main-migration/migrations/atlas.sum +++ b/cmd/main-migration/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:gsXdmKB45GiCscxejrBzxDakY0yPHDnnP5KKD5X6a40= +h1:zICJO08EuquqIcIfyqTkv+GpOZ22zFBOogzkklwngEQ= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= @@ -51,3 +51,4 @@ h1:gsXdmKB45GiCscxejrBzxDakY0yPHDnnP5KKD5X6a40= 20251017082207.sql h1:8vLG1l/saRRMHXkyA4nelJyjaSddhZd6r7R+Uo4JS/c= 20251019093915.sql h1:vWqTEc9bZpnAj53DLNKaTYbEoiSqdQJ9Mx4Qv9zmXU8= 20251020062553.sql h1:TMlFzG+6P/rqIDzF6y8OLrWy4vusEDonVHhfRwRhrqw= +20251021041042.sql h1:2aeUaTJzswayaHg8FC0hQkR0tyKENYHWJygALq7Cuco= diff --git a/internal/domain/main-entities/death-cause/entity.go b/internal/domain/main-entities/death-cause/entity.go new file mode 100644 index 00000000..c00885ff --- /dev/null +++ b/internal/domain/main-entities/death-cause/entity.go @@ -0,0 +1,13 @@ +package death_cause + +import ( + "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/encounter" +) + +type DeathCause struct { + core.Main + Encounter_Id *uint `json:"encounter_id" gorm:"not null"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` + Value *string `json:"value"` +} diff --git a/internal/domain/main-entities/therapy-protol/entity.go b/internal/domain/main-entities/therapy-protol/entity.go index 8d0ad775..5d895593 100644 --- a/internal/domain/main-entities/therapy-protol/entity.go +++ b/internal/domain/main-entities/therapy-protol/entity.go @@ -8,7 +8,7 @@ import ( common "simrs-vx/internal/domain/references/common" ) -type TherapyEntity struct { +type TherapyProtocol struct { ecore.Main Encounter_Id *uint `json:"encounter_id" gorm:"not null"` Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` diff --git a/internal/interface/migration/main-entities.go b/internal/interface/migration/main-entities.go index 131b2972..09e8d893 100644 --- a/internal/interface/migration/main-entities.go +++ b/internal/interface/migration/main-entities.go @@ -8,6 +8,7 @@ import ( chemo "simrs-vx/internal/domain/main-entities/chemo" consultation "simrs-vx/internal/domain/main-entities/consultation" counter "simrs-vx/internal/domain/main-entities/counter" + deathcause "simrs-vx/internal/domain/main-entities/death-cause" device "simrs-vx/internal/domain/main-entities/device" deviceorder "simrs-vx/internal/domain/main-entities/device-order" deviceorderitem "simrs-vx/internal/domain/main-entities/device-order-item" @@ -17,10 +18,12 @@ import ( divisionposition "simrs-vx/internal/domain/main-entities/division-position" doctor "simrs-vx/internal/domain/main-entities/doctor" doctorfee "simrs-vx/internal/domain/main-entities/doctor-fee" + eduassesment "simrs-vx/internal/domain/main-entities/edu-assessment" emergency "simrs-vx/internal/domain/main-entities/emergency" employee "simrs-vx/internal/domain/main-entities/employee" encounter "simrs-vx/internal/domain/main-entities/encounter" ethnic "simrs-vx/internal/domain/main-entities/ethnic" + generalconsent "simrs-vx/internal/domain/main-entities/general-consent" infra "simrs-vx/internal/domain/main-entities/infra" inpatient "simrs-vx/internal/domain/main-entities/inpatient" installation "simrs-vx/internal/domain/main-entities/installation" @@ -74,6 +77,7 @@ import ( specialist "simrs-vx/internal/domain/main-entities/specialist" specialistintern "simrs-vx/internal/domain/main-entities/specialist-intern" subspecialist "simrs-vx/internal/domain/main-entities/subspecialist" + therapyprotocol "simrs-vx/internal/domain/main-entities/therapy-protol" unit "simrs-vx/internal/domain/main-entities/unit" uom "simrs-vx/internal/domain/main-entities/uom" user "simrs-vx/internal/domain/main-entities/user" @@ -171,5 +175,9 @@ func getMainEntities() []any { &vehicle.Vehicle{}, &vehiclehist.VehicleHist{}, &ambulancetransportreq.AmbulanceTransportReq{}, + &therapyprotocol.TherapyProtocol{}, + &eduassesment.EduAssessment{}, + &generalconsent.GeneralConsent{}, + &deathcause.DeathCause{}, } }