diff --git a/cmd/main-migration/migrations/20251209022744.sql b/cmd/main-migration/migrations/20251209022744.sql new file mode 100644 index 00000000..a8a18481 --- /dev/null +++ b/cmd/main-migration/migrations/20251209022744.sql @@ -0,0 +1,2 @@ +-- Modify "ChemoPlan" table +ALTER TABLE "public"."ChemoPlan" ADD COLUMN "Encounter_Id" bigint NULL, ADD CONSTRAINT "fk_ChemoPlan_Encounter" FOREIGN KEY ("Encounter_Id") REFERENCES "public"."Encounter" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION; diff --git a/cmd/main-migration/migrations/20251209025908.sql b/cmd/main-migration/migrations/20251209025908.sql new file mode 100644 index 00000000..5a8522d7 --- /dev/null +++ b/cmd/main-migration/migrations/20251209025908.sql @@ -0,0 +1,2 @@ +-- Modify "Chemo" table +ALTER TABLE "public"."Chemo" ADD COLUMN "Class_Code" text NULL; diff --git a/cmd/main-migration/migrations/atlas.sum b/cmd/main-migration/migrations/atlas.sum index 3880e01e..ac03c936 100644 --- a/cmd/main-migration/migrations/atlas.sum +++ b/cmd/main-migration/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:o4jOACV/QY64oiqrbnZvGei0J65px0JBwAXakl8h+Oc= +h1:SSn9Za93bvbyBNVuGwpy9R/E/+1hm802NevovuLsplc= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= @@ -145,10 +145,12 @@ h1:o4jOACV/QY64oiqrbnZvGei0J65px0JBwAXakl8h+Oc= 20251202180207.sql h1:IHmSMIO3ia+YV5GULixbdlV1joaUAWtnjQHPd8+HKiM= 20251202231005.sql h1:lua0KKoeBptSfs/6ehZE6Azo6YUlNkOJwGFyb1HQWkY= 20251203205052.sql h1:nk0VK2Uv4bHE3SBfHo/aevVZxtHzr7zAzvmMU8TCCtk= -20251207020537.sql h1:uqqIQaBoZGoOXVQKkalNXwF2awcA+rhjNVevWEzIIok= -20251207212015.sql h1:muRdWqRKfJQFMfezj2B4n0E6bbjIz1GrzHEyhoxy2mk= -20251207221222.sql h1:+mU/25n3hQLRU6MK8B+Uwzl9YBRezX3xWDtIKnweN78= -20251205073858.sql h1:Ep03jQ9hJAJILDJfKVcmi3Z6fqmTHSq9gKQtwf070PE= -20251205211957.sql h1:zRHcvLY+nfLdUyMcfpgI8vYQcPzJUWbfjkc4cK0QGHU= -20251205214433.sql h1:tgHB/fNy9XwAOWIqNI6GCqGXeJgSuZs2aHiCEj3BHZA= -20251205221124.sql h1:VthPlq3XcQOYz5VsFivb4Wof8jCAG36fAaerKmM4/OA= +20251205073858.sql h1:46qqXnArgJmzGE/WO7v7Ev8Jh7BudDiGbdANexq/5Dk= +20251205211957.sql h1:3fvtZ/mBWsTIXllXMFOuCLJsp4MivVP56dunehlU0yo= +20251205214433.sql h1:rn3++FEfX7ntcJcOmCEuOMnr27TZqH0KMGRppzFwFTc= +20251205221124.sql h1:CRruUvGZqlVDBmbQSVEl4wFm+uq30AurMMDI6sb8jxg= +20251207020537.sql h1:JspoBMoP1Yk854vtNniepvATINUpODQ9idKiMkNL0OU= +20251207212015.sql h1:pEH0+QnQ5WXNizxcToLk+8XYaAb6q6WJ1/MJViRVtNQ= +20251207221222.sql h1:gpl3V4/3AGqO3WLCpWW2GAtwuhpmNuBqXMiP61wVHX0= +20251209022744.sql h1:0WXCKpMDFAe/aVnosMGmCYp3mw+FIu+foX14sYmq750= +20251209025908.sql h1:MgO50it1hj7Jj8BD5yKjW8OLC9qS3FFEdelqIsLT1v8= diff --git a/internal/domain/main-entities/chemo-plan/entity.go b/internal/domain/main-entities/chemo-plan/entity.go index 6bb156b3..2dc5a363 100644 --- a/internal/domain/main-entities/chemo-plan/entity.go +++ b/internal/domain/main-entities/chemo-plan/entity.go @@ -1,6 +1,7 @@ package chemo_plan import ( + ee "simrs-vx/internal/domain/main-entities/encounter" "time" ecore "simrs-vx/internal/domain/base-entities/core" @@ -10,12 +11,14 @@ import ( type ChemoPlan struct { ecore.Main - Parent_Id *uint `json:"parent_id"` // chemo.Id - Protocol_Id *uint `json:"protocol_id"` - SeriesNumber *uint16 `json:"seriesNumber"` // series ke - - CycleNumber *uint `json:"cycleNumber"` // cycle ke - - PlanDate *time.Time `json:"planDate"` - RealizationDate *time.Time `json:"realizationDate"` - Notes *string `json:"notes"` - Status *ere.StatusProtocolChemo `json:"status"` + Parent_Id *uint `json:"parent_id"` // chemo.Id + Protocol_Id *uint `json:"protocol_id"` + SeriesNumber *uint16 `json:"seriesNumber"` // series ke - + CycleNumber *uint `json:"cycleNumber"` // cycle ke - + PlanDate *time.Time `json:"planDate"` + RealizationDate *time.Time `json:"realizationDate"` + Notes *string `json:"notes"` + Status ere.StatusProtocolChemo `json:"status"` + Encounter_Id *uint `json:"encounter_id"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` } diff --git a/internal/domain/main-entities/chemo/entity.go b/internal/domain/main-entities/chemo/entity.go index 682333ed..cc828835 100644 --- a/internal/domain/main-entities/chemo/entity.go +++ b/internal/domain/main-entities/chemo/entity.go @@ -1,6 +1,7 @@ package chemo import ( + ere "simrs-vx/internal/domain/references/encounter" "time" ecore "simrs-vx/internal/domain/base-entities/core" @@ -27,4 +28,5 @@ type Chemo struct { Doctor_Code *string `json:"doctor_code"` Doctor *ed.Doctor `json:"doctor" gorm:"foreignKey:Doctor_Code;references:Code"` NextChemoDate *time.Time `json:"nextChemoDate"` + Class_Code ere.ChemoClassCode `json:"class_code"` } diff --git a/internal/use-case/main-use-case/chemo-protocol/helper.go b/internal/use-case/main-use-case/chemo-protocol/helper.go index b3989d98..36ff70a6 100644 --- a/internal/use-case/main-use-case/chemo-protocol/helper.go +++ b/internal/use-case/main-use-case/chemo-protocol/helper.go @@ -5,15 +5,17 @@ Any functions that are used internally by the use-case package chemo_protocol import ( - ec "simrs-vx/internal/domain/main-entities/chemo" - e "simrs-vx/internal/domain/main-entities/chemo-protocol" - erc "simrs-vx/internal/domain/references/common" - ere "simrs-vx/internal/domain/references/encounter" pl "simrs-vx/pkg/logger" pu "simrs-vx/pkg/use-case-helper" dg "github.com/karincake/apem/db-gorm-pg" gh "github.com/karincake/getuk" + + erc "simrs-vx/internal/domain/references/common" + ere "simrs-vx/internal/domain/references/encounter" + + ec "simrs-vx/internal/domain/main-entities/chemo" + e "simrs-vx/internal/domain/main-entities/chemo-protocol" ) func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.ChemoProtocol) {