From 4b1a359b0e1eff240b6dc3941b669e2adcf8beec Mon Sep 17 00:00:00 2001 From: vanilia Date: Tue, 21 Oct 2025 11:00:07 +0700 Subject: [PATCH 1/3] add new main erd and update const list --- cmd/main-migration/migrations/atlas.sum | 4 +- .../main-entities/death-cause-src/dto.go | 70 ++++++++++++++++++ .../main-entities/death-cause-src/entity.go | 12 +++ .../main-entities/edu-assessment/entity.go | 17 +++++ .../main-entities/general-consent/entity.go | 13 ++++ .../main-entities/therapy-protol/entity.go | 31 ++++++++ .../domain/references/clinical/clinical.go | 73 ++++++++++++++++++- 7 files changed, 215 insertions(+), 5 deletions(-) create mode 100644 internal/domain/main-entities/death-cause-src/dto.go create mode 100644 internal/domain/main-entities/death-cause-src/entity.go create mode 100644 internal/domain/main-entities/edu-assessment/entity.go create mode 100644 internal/domain/main-entities/general-consent/entity.go create mode 100644 internal/domain/main-entities/therapy-protol/entity.go diff --git a/cmd/main-migration/migrations/atlas.sum b/cmd/main-migration/migrations/atlas.sum index 42b47eae..ffc79610 100644 --- a/cmd/main-migration/migrations/atlas.sum +++ b/cmd/main-migration/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:ymfgaEhen/ZEJoOaBP0BLfKbsTZRjKjQqNbO58caXLU= +h1:gsXdmKB45GiCscxejrBzxDakY0yPHDnnP5KKD5X6a40= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= @@ -50,4 +50,4 @@ h1:ymfgaEhen/ZEJoOaBP0BLfKbsTZRjKjQqNbO58caXLU= 20251017060617.sql h1:4T3t9ifWrEQTPMSM0XJ98pF7Qdt+UfgtMui17bhrnWI= 20251017082207.sql h1:8vLG1l/saRRMHXkyA4nelJyjaSddhZd6r7R+Uo4JS/c= 20251019093915.sql h1:vWqTEc9bZpnAj53DLNKaTYbEoiSqdQJ9Mx4Qv9zmXU8= -20251020062553.sql h1:llHc4558mdcMjVYMdrCb6ZClnjUd56DnJuwYGbae/Ms= +20251020062553.sql h1:TMlFzG+6P/rqIDzF6y8OLrWy4vusEDonVHhfRwRhrqw= diff --git a/internal/domain/main-entities/death-cause-src/dto.go b/internal/domain/main-entities/death-cause-src/dto.go new file mode 100644 index 00000000..6266484a --- /dev/null +++ b/internal/domain/main-entities/death-cause-src/dto.go @@ -0,0 +1,70 @@ +package diagnosesrc + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type CreateDto struct { + Code string `json:"code" validate:"maxLength=10"` + Name string `json:"name" validate:"maxLength=2048"` + IndName string `json:"indName" validate:"maxLength=2048"` +} + +type ReadListDto struct { + FilterDto + Includes string `json:"includes"` + Sort string `json:"sort"` + Pagination ecore.Pagination +} + +type FilterDto struct { + Code string `json:"code"` + Name string `json:"name"` + IndName string `json:"indName"` + Search string `json:"search" gormhelper:"searchColumns=Code,Name"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Code *string `json:"code"` +} + +type UpdateDto struct { + Id uint16 `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint16 `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Code string `json:"code"` + Name string `json:"name"` + IndName string `json:"indName"` +} + +func (d DiagnoseSrc) ToResponse() ResponseDto { + resp := ResponseDto{ + Code: d.Code, + Name: d.Name, + IndName: d.IndName, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []DiagnoseSrc) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/death-cause-src/entity.go b/internal/domain/main-entities/death-cause-src/entity.go new file mode 100644 index 00000000..82d55bb5 --- /dev/null +++ b/internal/domain/main-entities/death-cause-src/entity.go @@ -0,0 +1,12 @@ +package diagnosesrc + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type DiagnoseSrc struct { + ecore.Main // adjust this according to the needs + Code string `json:"code" gorm:"unique;size:10"` + Name string `json:"name" gorm:"size:2048"` + IndName string `json:"indName" gorm:"size:2048"` +} diff --git a/internal/domain/main-entities/edu-assessment/entity.go b/internal/domain/main-entities/edu-assessment/entity.go new file mode 100644 index 00000000..8f037c5a --- /dev/null +++ b/internal/domain/main-entities/edu-assessment/entity.go @@ -0,0 +1,17 @@ +package edu_assessment + +import ( + "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/encounter" +) + +type EduAssessment struct { + core.Main + Encounter_Id *uint `json:"encounter_id" gorm:"not null"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` + + GeneralEdus *string `json:"generalEdus"` + SpecialEdus *string `json:"specialEdus"` + Assessments *string `json:"assessments"` + Plan *string `json:"plan"` +} diff --git a/internal/domain/main-entities/general-consent/entity.go b/internal/domain/main-entities/general-consent/entity.go new file mode 100644 index 00000000..96758406 --- /dev/null +++ b/internal/domain/main-entities/general-consent/entity.go @@ -0,0 +1,13 @@ +package general_consent + +import ( + "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/encounter" +) + +type GeneralConsent 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 new file mode 100644 index 00000000..8d0ad775 --- /dev/null +++ b/internal/domain/main-entities/therapy-protol/entity.go @@ -0,0 +1,31 @@ +package therapy_protol + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ed "simrs-vx/internal/domain/main-entities/doctor" + ee "simrs-vx/internal/domain/main-entities/encounter" + + common "simrs-vx/internal/domain/references/common" +) + +type TherapyEntity struct { + ecore.Main + Encounter_Id *uint `json:"encounter_id" gorm:"not null"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` + + Doctor_Id *uint `json:"doctor_id"` + Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Id;references:Id"` + + Anamnesis *string `json:"anamnesis" gorm:"size:2048"` + MedicalDiagnoses *string `json:"medicalDiagnoses"` + FunctionDiagnoses *string `json:"functionDiagnoses"` + Procedures *string `json:"procedures"` + SupportingExams *string `json:"supportingExams" gorm:"size:2048"` + Instruction *string `json:"instruction" gorm:"size:2048"` + Evaluation *string `json:"evaluation" gorm:"size:2048"` + WorkCauseStatus *string `json:"workCauseStatus" gorm:"size:2048"` + Frequency *uint `json:"frequency"` + IntervalUnit_Code *common.TimeUnitCode `json:"intervalUnit_Code" gorm:"size:10"` + Duration *uint `json:"duration"` + DurationUnit_Code *common.TimeUnitCode `json:"durationUnit_Code" gorm:"size:10"` +} diff --git a/internal/domain/references/clinical/clinical.go b/internal/domain/references/clinical/clinical.go index 47872aa5..c0eb3594 100644 --- a/internal/domain/references/clinical/clinical.go +++ b/internal/domain/references/clinical/clinical.go @@ -12,6 +12,15 @@ type ( SoapiTypeCode string MedicalAction string VehicleTypeCode string + GeneralEduCode string + SpecialEduCode string + EduAssessmentCode string + AbilityCode string + WillCode string + MedObstacleCode string + LearnMethodCode string + LangClassCode string + TranslatorSrcCode string ) const ( @@ -54,9 +63,15 @@ const ( OCHeight ObjectCode = "height" // Tinggi Badan OCHeadToToe ObjectCode = "head-to-toe" // Kepala Sampai Kaki - ACEarlyDiag AssessmentCode = "early-diag" // Diagnosis Awal - ACLateDiag AssessmentCode = "late-diag" // Diagnosis Akhir - ACSecDiag AssessmentCode = "sec-diag" // Diagnosis Sekunder + ACEarlyDiag AssessmentCode = "early-diag" // Diagnosis Awal + ACLateDiag AssessmentCode = "late-diag" // Diagnosis Akhir + ACSecDiag AssessmentCode = "sec-diag" // Diagnosis Sekunder + ACEarlyMedDiag AssessmentCode = "early-med-diag" // Diagnosis Medis Awal + ACLateMedDiag AssessmentCode = "late-med-diag" // Diagnosis Medis Akhir + ACSecMedDiag AssessmentCode = "sec-med-diag" // Diagnosis Medis Sekunder + ACEarlyFuncDiag AssessmentCode = "early-func-diag" // Diagnosis Fungsi Awal + ACLateFuncDiag AssessmentCode = "late-func-diag" // Diagnosis Fungsi Akhir + ACSecFuncDiag AssessmentCode = "sec-func-diag" // Diagnosis Fungsi Sekunder PCPlan PlanCode = "plan" // Rencana @@ -113,6 +128,58 @@ const ( VTCAmbulance VehicleTypeCode = "ambulance" // Ambulans VTCTransport VehicleTypeCode = "transport" // Transport VTCHearse VehicleTypeCode = "hearse" // Jenazah + + GECRightObg GeneralEduCode = "right-obg" // Hak dan kewajiban pasien dan keluarga + GECGeneralConsent GeneralEduCode = "general-consent" // General Consent + GECService GeneralEduCode = "service" // Pelayanan yang disediakan (jam pelayanan, akses pelayanan dan proses pelayanan) + GECAltCareSrc GeneralEduCode = "alt-care-src" // Sumber alternatif asuhan di tempat lain/faskes lain + GECHomePlan GeneralEduCode = "home-plan" // Rencana tindakan di rumah + GECHomeCare GeneralEduCode = "home-care" // Kebutuhan perawatan di rumah + GECOrientation GeneralEduCode = "orientation" // Orientasi ruangan + GECFallRiskPrevention GeneralEduCode = "fall-risk-prevention" // Pencegahan risiko jatuh + GECAltCare GeneralEduCode = "alt-care" // Alternatif pelayanan + GECActDelay GeneralEduCode = "act-delay" // Penundaan Tindakan + GECOthers GeneralEduCode = "others" // Lain - lain + + SECDiseaseDiagDev SpecialEduCode = "disease-diag-dev" // Diagnosa penyakit dan perkembangannya + SECSafeMedUsage SpecialEduCode = "safe-med-usage" // Penggunaan obat yang aman, + SECSideEffect SpecialEduCode = "side-effect" // Efek samping dan reaksi obat + SECDiet SpecialEduCode = "diet" // Diet/Nutrisi + SECPainMgmt SpecialEduCode = "pain-mgmt" // Managemen nyeri + SECMedicalEqUsage SpecialEduCode = "medical-eq-usage" // Penggunaan Peralatan Medis + SECRehabTechnique SpecialEduCode = "rehab-technique" // Teknik Rehabilitasi + SECPreventionAct SpecialEduCode = "prevention-act" // Tindakan pencegahan (cuci tangan, pemasangan gelang) + + EACLearnAbility EduAssessmentCode = "learn-ability" // Kemampuan Belajar + EACLearnWill EduAssessmentCode = "learn-will" // Kemauan Belajar + EACObstacle EduAssessmentCode = "obstacle" // Hambatan + EACLearnMethod EduAssessmentCode = "learn-method" // Metode Pembelajaran + EACLang EduAssessmentCode = "lang" // Bahasa + EACLangObstacle EduAssessmentCode = "lang-obstacle" // Hambatan Bahasa + EACBelief EduAssessmentCode = "belief" // Keyakinan + + ACAble AbilityCode = "able" // Mampu + ACNotAble AbilityCode = "not-able" // Tidak Mampu + + WCReady WillCode = "ready" // Siap + WCInterested WillCode = "interested" // Tertarik + WCNotInterested WillCode = "not-interested" // Tidak Tertarik + + MOCHearing MedObstacleCode = "hearing" // Pendengaran + MOCSight MedObstacleCode = "sight" // Penglihatan + MOCPhysical MedObstacleCode = "physical" // Fisik + MOCEmotional MedObstacleCode = "emotional" // Emosional + MOCCognitif MedObstacleCode = "cognitif" // Kognitif + + LMCDemo LearnMethodCode = "demo" // Demonstrasi + LMCDiscussLeaflet LearnMethodCode = "discuss-leaflet" // Diskusi Leaflet + + LCCInd LangClassCode = "ind" // Indonesia + LCCRegion LangClassCode = "region" // Daerah + LCCForeign LangClassCode = "foreign" // Asing + + TSCTeam TranslatorSrcCode = "team" // Tim Penerjemah + TSCFamily TranslatorSrcCode = "family" // Keluarga ) type Soapi struct { From 591c49d6616c80ef5960186a60bc5b74936e3e73 Mon Sep 17 00:00:00 2001 From: vanilia Date: Tue, 21 Oct 2025 11:11:49 +0700 Subject: [PATCH 2/3] add migration sql --- .../migrations/20251021041042.sql | 60 +++++++++++++++++++ cmd/main-migration/migrations/atlas.sum | 3 +- .../main-entities/death-cause/entity.go | 13 ++++ .../main-entities/therapy-protol/entity.go | 2 +- internal/interface/migration/main-entities.go | 8 +++ 5 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 cmd/main-migration/migrations/20251021041042.sql create mode 100644 internal/domain/main-entities/death-cause/entity.go 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{}, } } From bf126a9b57ec4e1287a7458002c2fc26e90b3e1d Mon Sep 17 00:00:00 2001 From: vanilia Date: Tue, 21 Oct 2025 11:15:03 +0700 Subject: [PATCH 3/3] remove deatch cause src --- .../main-entities/death-cause-src/dto.go | 70 ------------------- .../main-entities/death-cause-src/entity.go | 12 ---- 2 files changed, 82 deletions(-) delete mode 100644 internal/domain/main-entities/death-cause-src/dto.go delete mode 100644 internal/domain/main-entities/death-cause-src/entity.go diff --git a/internal/domain/main-entities/death-cause-src/dto.go b/internal/domain/main-entities/death-cause-src/dto.go deleted file mode 100644 index 6266484a..00000000 --- a/internal/domain/main-entities/death-cause-src/dto.go +++ /dev/null @@ -1,70 +0,0 @@ -package diagnosesrc - -import ( - ecore "simrs-vx/internal/domain/base-entities/core" -) - -type CreateDto struct { - Code string `json:"code" validate:"maxLength=10"` - Name string `json:"name" validate:"maxLength=2048"` - IndName string `json:"indName" validate:"maxLength=2048"` -} - -type ReadListDto struct { - FilterDto - Includes string `json:"includes"` - Sort string `json:"sort"` - Pagination ecore.Pagination -} - -type FilterDto struct { - Code string `json:"code"` - Name string `json:"name"` - IndName string `json:"indName"` - Search string `json:"search" gormhelper:"searchColumns=Code,Name"` -} - -type ReadDetailDto struct { - Id uint16 `json:"id"` - Code *string `json:"code"` -} - -type UpdateDto struct { - Id uint16 `json:"id"` - CreateDto -} - -type DeleteDto struct { - Id uint16 `json:"id"` -} - -type MetaDto struct { - PageNumber int `json:"page_number"` - PageSize int `json:"page_size"` - Count int `json:"count"` -} - -type ResponseDto struct { - ecore.Main - Code string `json:"code"` - Name string `json:"name"` - IndName string `json:"indName"` -} - -func (d DiagnoseSrc) ToResponse() ResponseDto { - resp := ResponseDto{ - Code: d.Code, - Name: d.Name, - IndName: d.IndName, - } - resp.Main = d.Main - return resp -} - -func ToResponseList(data []DiagnoseSrc) []ResponseDto { - resp := make([]ResponseDto, len(data)) - for i, u := range data { - resp[i] = u.ToResponse() - } - return resp -} diff --git a/internal/domain/main-entities/death-cause-src/entity.go b/internal/domain/main-entities/death-cause-src/entity.go deleted file mode 100644 index 82d55bb5..00000000 --- a/internal/domain/main-entities/death-cause-src/entity.go +++ /dev/null @@ -1,12 +0,0 @@ -package diagnosesrc - -import ( - ecore "simrs-vx/internal/domain/base-entities/core" -) - -type DiagnoseSrc struct { - ecore.Main // adjust this according to the needs - Code string `json:"code" gorm:"unique;size:10"` - Name string `json:"name" gorm:"size:2048"` - IndName string `json:"indName" gorm:"size:2048"` -}