From f7edee1ac5fb011bf1c9b40c5422a3b0a938c3d4 Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Mon, 29 Sep 2025 10:45:16 +0700 Subject: [PATCH] add soapiTypeCode, adjust soapi --- .../migrations/20250929034321.sql | 2 ++ .../migrations/20250929034428.sql | 2 ++ cmd/main-migration/migrations/atlas.sum | 6 ++++-- internal/domain/main-entities/soapi/entity.go | 20 +++++++++++-------- .../domain/references/clinical/clinical.go | 9 +++++++-- .../references/organization/organization.go | 2 ++ 6 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 cmd/main-migration/migrations/20250929034321.sql create mode 100644 cmd/main-migration/migrations/20250929034428.sql diff --git a/cmd/main-migration/migrations/20250929034321.sql b/cmd/main-migration/migrations/20250929034321.sql new file mode 100644 index 00000000..bfdc5021 --- /dev/null +++ b/cmd/main-migration/migrations/20250929034321.sql @@ -0,0 +1,2 @@ +-- Modify "Soapi" table +ALTER TABLE "public"."Soapi" ADD COLUMN "TypeCode" text NULL; diff --git a/cmd/main-migration/migrations/20250929034428.sql b/cmd/main-migration/migrations/20250929034428.sql new file mode 100644 index 00000000..84a214a5 --- /dev/null +++ b/cmd/main-migration/migrations/20250929034428.sql @@ -0,0 +1,2 @@ +-- Modify "Soapi" table +ALTER TABLE "public"."Soapi" ALTER COLUMN "TypeCode" TYPE character varying(11); diff --git a/cmd/main-migration/migrations/atlas.sum b/cmd/main-migration/migrations/atlas.sum index b33a1e5c..9bdd6275 100644 --- a/cmd/main-migration/migrations/atlas.sum +++ b/cmd/main-migration/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:n2YbCQPYchOWsVSLUNPCl29Xx3RMTi7vdulwPRHXL4E= +h1:xkdKsHk/4s72juNsRgWubyMR4XEXjEQ38+XI4m/e/jM= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= @@ -16,4 +16,6 @@ h1:n2YbCQPYchOWsVSLUNPCl29Xx3RMTi7vdulwPRHXL4E= 20250918073742.sql h1:+cEsnJTJFybe2fR69ZoOiX2R6c6iITl4m6WTZ1hjyzY= 20250918074745.sql h1:2hNVQCXF/dVYXAh+T/7oBFgERGWxzVb2FXJjwkFWGCI= 20250923025134.sql h1:Ykz/qpHiGDXPsCsWTjydQFVSibZP2D+h2fIeb2h2JGA= -20250924051317.sql h1:vbbuylW434V23raIl6Y6Ima6aZVItLrdIpk+xehVsJc= +20250924051317.sql h1:yQuW6SwJxIOM5fcxeAaie5lSm1oLysU/C2hH2xNCVoQ= +20250929034321.sql h1:Pjs8W2zK7Q6Nwta/xpYE7YdfT+JfIMHjgWfDK2hnaEI= +20250929034428.sql h1:w3JomY0HxQJIdHA6Pq7mixJNi1YcO8NpQMjIfhNw+oA= diff --git a/internal/domain/main-entities/soapi/entity.go b/internal/domain/main-entities/soapi/entity.go index f6c6b5e9..7e457ca9 100644 --- a/internal/domain/main-entities/soapi/entity.go +++ b/internal/domain/main-entities/soapi/entity.go @@ -1,18 +1,22 @@ package soapi import ( + "time" + ecore "simrs-vx/internal/domain/base-entities/core" eem "simrs-vx/internal/domain/main-entities/employee" ee "simrs-vx/internal/domain/main-entities/encounter" - "time" + + erc "simrs-vx/internal/domain/references/clinical" ) type Soapi struct { - ecore.Main // adjust this according to the needs - Encounter_Id *uint `json:"encounter_id"` - Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` - Employee_Id *uint `json:"employee_id"` - Employee *eem.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` - Time *time.Time `json:"time"` - Value *string `json:"value"` + ecore.Main // adjust this according to the needs + Encounter_Id *uint `json:"encounter_id"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` + Employee_Id *uint `json:"employee_id"` + Employee *eem.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` + Time *time.Time `json:"time"` + TypeCode erc.SoapiTypeCode `json:"type_code" gorm:"size:11"` + Value *string `json:"value"` } diff --git a/internal/domain/references/clinical/clinical.go b/internal/domain/references/clinical/clinical.go index d76770fe..505298af 100644 --- a/internal/domain/references/clinical/clinical.go +++ b/internal/domain/references/clinical/clinical.go @@ -8,11 +8,12 @@ type ( PlanCode string InstructionCode string McuUrgencyLevelCode string + SoapiTypeCode string ) const ( - SCPrimaryComplaint SubjectCode = "pri-compl" // Keluhan Utama - SCSecComplaint SubjectCode = "sec-compl" // Secondary Complaint + SCPrimaryComplaint SubjectCode = "pri-complain" // Keluhan Utama + SCSecComplaint SubjectCode = "sec-complain" // Secondary Complaint SCCurrentDiseaseHistory SubjectCode = "cur-disea-hist" // Current Disease History SCPastDiseaseHistory SubjectCode = "pas-disea-hist" // Past Disease History SCFamilyDiseaseHistory SubjectCode = "fam-disea-hist" // Family Disease History @@ -47,4 +48,8 @@ const ( MULCBG McuUrgencyLevelCode = "blood-gas" MULCPF McuUrgencyLevelCode = "priority-form" MULCRT McuUrgencyLevelCode = "routine" + + STCEarly SoapiTypeCode = "early" // Kajian Awal Medis + STCERehab SoapiTypeCode = "early-rehab" // Kajian Awal Rehab Medik + STCFunc SoapiTypeCode = "function" // Assessment Fungsi ) diff --git a/internal/domain/references/organization/organization.go b/internal/domain/references/organization/organization.go index 30aa25b5..894257c8 100644 --- a/internal/domain/references/organization/organization.go +++ b/internal/domain/references/organization/organization.go @@ -15,6 +15,8 @@ const ( UPCLab UserPosisitionCode = "laborant" // Laboran UPCPha UserPosisitionCode = "pharmacy" // Farmasi UPCPay UserPosisitionCode = "payment" // Pembayaran + UPCHur UserPosisitionCode = "human-resource" // Sumber Daya Manusia + UPCGea UserPosisitionCode = "general-affair" // Bagian Umu UPCPav UserPosisitionCode = "payment-verificator" // Konfirmasi pembayaran UPCMan UserPosisitionCode = "management" // Manajemen UPCInt UserPosisitionCode = "specialist-intern" // PPDS