Merge branch 'migration' of https://github.com/dikstub-rssa/simrs-be into migration-vanilia

# Conflicts:
#	cmd/main-migration/migrations/atlas.sum
This commit is contained in:
vanilia
2025-11-17 11:07:12 +07:00
58 changed files with 1560 additions and 350 deletions
@@ -0,0 +1,14 @@
package deviceorderitem
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ed "simrs-vx/internal/domain/main-entities/device"
)
type DeviceOrderItem struct {
ecore.Main // adjust this according to the needs
DeviceOrder_Id *uint `json:"deviceOrder_id"`
Device_Code *string `json:"device_code"`
Device *ed.Device `json:"device,omitempty" gorm:"foreignKey:Device_Code;references:Code"`
Quantity uint8 `json:"quantity"`
}
@@ -9,7 +9,7 @@ import (
type CreateDto struct {
DeviceOrder_Id *uint `json:"deviceOrder_id"`
Device_Code *string `json:"device_code"`
Count uint8 `json:"count"`
Quantity uint8 `json:"quantity"`
}
type ReadListDto struct {
@@ -19,9 +19,9 @@ type ReadListDto struct {
}
type FilterDto struct {
DeviceOrder_Id *uint `json:"deviceOrder-id"`
DeviceOrder_Id *uint `json:"device-order-id"`
Device_Code *string `json:"device-code"`
Count uint8 `json:"count"`
Quantity uint8 `json:"quantity"`
}
type ReadDetailDto struct {
Id uint16 `json:"id"`
@@ -48,7 +48,7 @@ type ResponseDto struct {
DeviceOrder *edo.DeviceOrder `json:"deviceOrder,omitempty"`
Device_Code *string `json:"device_code"`
Device *ed.Device `json:"device,omitempty"`
Count uint8 `json:"count"`
Quantity uint8 `json:"quantity"`
}
func (d DeviceOrderItem) ToResponse() ResponseDto {
@@ -57,7 +57,7 @@ func (d DeviceOrderItem) ToResponse() ResponseDto {
DeviceOrder: d.DeviceOrder,
Device_Code: d.Device_Code,
Device: d.Device,
Count: d.Count,
Quantity: d.Quantity,
}
resp.Main = d.Main
return resp
@@ -2,15 +2,12 @@ package deviceorderitem
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ed "simrs-vx/internal/domain/main-entities/device"
edo "simrs-vx/internal/domain/main-entities/device-order"
eb "simrs-vx/internal/domain/main-entities/device-order-item/base"
)
type DeviceOrderItem struct {
ecore.Main // adjust this according to the needs
DeviceOrder_Id *uint `json:"deviceOrder_id"`
DeviceOrder *edo.DeviceOrder `json:"deviceOrder,omitempty" gorm:"foreignKey:DeviceOrder_Id;references:Id"`
Device_Code *string `json:"device_code"`
Device *ed.Device `json:"device,omitempty" gorm:"foreignKey:Device_Code;references:Code"`
Count uint8 `json:"count"`
ecore.Main // adjust this according to the needs
eb.DeviceOrderItem
DeviceOrder *edo.DeviceOrder `json:"deviceOrder,omitempty" gorm:"foreignKey:DeviceOrder_Id;references:Id"`
}
@@ -11,6 +11,7 @@ import (
erc "simrs-vx/internal/domain/references/common"
// internal - domain - main-entities
edoi "simrs-vx/internal/domain/main-entities/device-order-item/base"
ed "simrs-vx/internal/domain/main-entities/doctor"
ee "simrs-vx/internal/domain/main-entities/encounter"
)
@@ -55,11 +56,12 @@ type MetaDto struct {
type ResponseDto struct {
ecore.Main
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
Status_Code erc.DataStatusCode `json:"status_code"`
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
Status_Code erc.DataStatusCode `json:"status_code"`
Items []edoi.DeviceOrderItem `json:"items"`
}
func (d DeviceOrder) ToResponse() ResponseDto {
@@ -69,6 +71,7 @@ func (d DeviceOrder) ToResponse() ResponseDto {
Doctor_Code: d.Doctor_Code,
Doctor: d.Doctor,
Status_Code: d.Status_Code,
Items: d.Items,
}
resp.Main = d.Main
return resp
@@ -1,20 +1,22 @@
package deviceorder
import (
erc "simrs-vx/internal/domain/references/common"
ecore "simrs-vx/internal/domain/base-entities/core"
edoi "simrs-vx/internal/domain/main-entities/device-order-item/base"
ed "simrs-vx/internal/domain/main-entities/doctor"
ee "simrs-vx/internal/domain/main-entities/encounter"
erc "simrs-vx/internal/domain/references/common"
)
type DeviceOrder 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"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
Status_Code erc.DataStatusCode `json:"status_code"`
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"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
Status_Code erc.DataStatusCode `json:"status_code"`
Items []edoi.DeviceOrderItem `json:"items" gorm:"foreignKey:DeviceOrder_Id;references:Id"`
}
func (d DeviceOrder) IsCompleted() bool {
@@ -104,10 +104,14 @@ type UpdateDto struct {
type UpdateStatusDto struct {
Id uint16 `json:"id"`
StatusCode erc.DataStatusCode `json:"status_code"`
pa.AuthInfo
}
type DeleteDto struct {
Id uint16 `json:"id"`
pa.AuthInfo
}
type MetaDto struct {
@@ -8,6 +8,7 @@ import (
)
type CreateDto struct {
Id *uint `json:"id"`
Code *string `json:"code" validate:"maxLength=10"`
Name string `json:"name" validate:"maxLength=50"`
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" validate:"maxLength=10"`
@@ -0,0 +1,25 @@
package prescriptionitem
import (
ecore "simrs-vx/internal/domain/base-entities/core"
em "simrs-vx/internal/domain/main-entities/medicine"
emm "simrs-vx/internal/domain/main-entities/medicine-mix"
erc "simrs-vx/internal/domain/references/common"
)
type PrescriptionItem struct {
ecore.Main // adjust this according to the needs
Prescription_Id *uint `json:"prescription_id"`
IsMix bool `json:"isMix"`
Medicine_Code *string `json:"medicine_code"`
Medicine *em.Medicine `json:"medicine,omitempty" gorm:"foreignKey:Medicine_Code;references:Code"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty" gorm:"foreignKey:MedicineMix_Id;references:Id"`
Frequency *uint16 `json:"frequency"`
Dose float64 `json:"dose"`
Usage string `json:"usage" gorm:"size:255"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
Quantity float64 `json:"quantity"`
}
@@ -27,6 +27,7 @@ type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
Sort string `json:"sort"`
}
type FilterDto struct {
@@ -2,26 +2,12 @@ package prescriptionitem
import (
ecore "simrs-vx/internal/domain/base-entities/core"
em "simrs-vx/internal/domain/main-entities/medicine"
emm "simrs-vx/internal/domain/main-entities/medicine-mix"
ep "simrs-vx/internal/domain/main-entities/prescription"
erc "simrs-vx/internal/domain/references/common"
epib "simrs-vx/internal/domain/main-entities/prescription-item/base"
)
type PrescriptionItem struct {
ecore.Main // adjust this according to the needs
Prescription_Id *uint `json:"prescription_id"`
Prescription *ep.Prescription `json:"prescription,omitempty" gorm:"foreignKey:Prescription_Id;references:Id"`
IsMix bool `json:"isMix"`
Medicine_Code *string `json:"medicine_code"`
Medicine *em.Medicine `json:"medicine,omitempty" gorm:"foreignKey:Medicine_Code;references:Code"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty" gorm:"foreignKey:MedicineMix_Id;references:Id"`
Frequency *uint16 `json:"frequency"`
Dose float64 `json:"dose"`
Usage string `json:"usage" gorm:"size:255"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
Quantity float64 `json:"quantity"`
ecore.Main // adjust this according to the needs
epib.PrescriptionItem
Prescription *ep.Prescription `json:"prescription,omitempty" gorm:"foreignKey:Prescription_Id;references:Id"`
}
@@ -6,6 +6,7 @@ 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"
epi "simrs-vx/internal/domain/main-entities/prescription-item/base"
pa "simrs-vx/internal/lib/auth"
@@ -56,12 +57,13 @@ type MetaDto struct {
type ResponseDto struct {
ecore.Main
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
IssuedAt *time.Time `json:"issuedAt"`
Status_Code erc.DataStatusCode `json:"status_code"`
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
IssuedAt *time.Time `json:"issuedAt"`
Status_Code erc.DataStatusCode `json:"status_code"`
Items []epi.PrescriptionItem `json:"items" gorm:"foreignKey:Prescription_Id;references:Id"`
}
func (d Prescription) ToResponse() ResponseDto {
@@ -72,6 +74,7 @@ func (d Prescription) ToResponse() ResponseDto {
Doctor: d.Doctor,
IssuedAt: d.IssuedAt,
Status_Code: d.Status_Code,
Items: d.Items,
}
resp.Main = d.Main
return resp
@@ -4,6 +4,7 @@ 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"
epi "simrs-vx/internal/domain/main-entities/prescription-item/base"
"time"
@@ -11,13 +12,14 @@ import (
)
type Prescription 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"`
Doctor_Code *string `json:"doctor_code" gorm:"size:20"`
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
IssuedAt *time.Time `json:"issuedAt"`
Status_Code erc.DataStatusCode `json:"status_code"`
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"`
Doctor_Code *string `json:"doctor_code" gorm:"size:20"`
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
IssuedAt *time.Time `json:"issuedAt"`
Status_Code erc.DataStatusCode `json:"status_code"`
Items []epi.PrescriptionItem `json:"items" gorm:"foreignKey:Prescription_Id;references:Id"`
}
func (d Prescription) IsNotNew() bool {
@@ -4,24 +4,27 @@ 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"
"simrs-vx/internal/domain/references/common"
erc "simrs-vx/internal/domain/references/common"
pa "simrs-vx/internal/lib/auth"
)
type CreateDto struct {
Encounter_Id *uint `json:"encounter_id"`
Doctor_Code *string `json:"doctor_code"`
Anamnesis *string `json:"anamnesis" validate:"maxLength=2048"`
MedicalDiagnoses *string `json:"medicalDiagnoses"`
FunctionDiagnoses *string `json:"functionDiagnoses"`
Procedures *string `json:"procedures"`
SupportingExams *string `json:"supportingExams" validate:"maxLength=2048"`
Instruction *string `json:"instruction" validate:"maxLength=2048"`
Evaluation *string `json:"evaluation" validate:"maxLength=2048"`
WorkCauseStatus *string `json:"workCauseStatus"`
Frequency *uint `json:"frequency"`
IntervalUnit_Code *common.TimeUnitCode `json:"intervalUnit_code" validate:"maxLength=10"`
Duration *uint `json:"duration"`
DurationUnit_Code *common.TimeUnitCode `json:"durationUnit_code" validate:"maxLength=10"`
Encounter_Id *uint `json:"encounter_id"`
Doctor_Code *string `json:"doctor_code"`
Anamnesis *string `json:"anamnesis" validate:"maxLength=2048"`
MedicalDiagnoses *string `json:"medicalDiagnoses"`
FunctionDiagnoses *string `json:"functionDiagnoses"`
Procedures *string `json:"procedures"`
SupportingExams *string `json:"supportingExams" validate:"maxLength=2048"`
Instruction *string `json:"instruction" validate:"maxLength=2048"`
Evaluation *string `json:"evaluation" validate:"maxLength=2048"`
WorkCauseStatus *string `json:"workCauseStatus"`
Frequency *uint `json:"frequency"`
IntervalUnit_Code *erc.TimeUnitCode `json:"intervalUnit_code" validate:"maxLength=10"`
Duration *uint `json:"duration"`
DurationUnit_Code *erc.TimeUnitCode `json:"durationUnit_code" validate:"maxLength=10"`
Status_Code *erc.DataVerifiedCode `json:"status_code"`
}
type ReadListDto struct {
@@ -49,6 +52,13 @@ type DeleteDto struct {
Id uint `json:"id"`
}
type VerifyDto struct {
Id uint `json:"id"`
Status_Code erc.DataVerifiedCode `json:"status_code"`
pa.AuthInfo
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
@@ -57,22 +67,23 @@ type MetaDto struct {
type ResponseDto struct {
ecore.Main
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
Anamnesis *string `json:"anamnesis"`
MedicalDiagnoses *string `json:"medicalDiagnoses"`
FunctionDiagnoses *string `json:"functionDiagnoses"`
Procedures *string `json:"procedures"`
SupportingExams *string `json:"supportingExams"`
Instruction *string `json:"instruction"`
Evaluation *string `json:"evaluation"`
WorkCauseStatus *string `json:"workCauseStatus"`
Frequency *uint `json:"frequency"`
IntervalUnit_Code *common.TimeUnitCode `json:"intervalUnit_code"`
Duration *uint `json:"duration"`
DurationUnit_Code *common.TimeUnitCode `json:"durationUnit_code"`
Encounter_Id *uint `json:"encounter_id"`
Encounter *ee.Encounter `json:"encounter,omitempty"`
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty"`
Anamnesis *string `json:"anamnesis"`
MedicalDiagnoses *string `json:"medicalDiagnoses"`
FunctionDiagnoses *string `json:"functionDiagnoses"`
Procedures *string `json:"procedures"`
SupportingExams *string `json:"supportingExams"`
Instruction *string `json:"instruction"`
Evaluation *string `json:"evaluation"`
WorkCauseStatus *string `json:"workCauseStatus"`
Frequency *uint `json:"frequency"`
IntervalUnit_Code *erc.TimeUnitCode `json:"intervalUnit_code"`
Duration *uint `json:"duration"`
DurationUnit_Code *erc.TimeUnitCode `json:"durationUnit_code"`
Status_Code *erc.DataVerifiedCode `json:"status_code"`
}
func (d TherapyProtocol) ToResponse() ResponseDto {
@@ -93,6 +104,7 @@ func (d TherapyProtocol) ToResponse() ResponseDto {
IntervalUnit_Code: d.IntervalUnit_Code,
Duration: d.Duration,
DurationUnit_Code: d.DurationUnit_Code,
Status_Code: d.Status_Code,
}
resp.Main = d.Main
return resp
@@ -16,16 +16,21 @@ type TherapyProtocol struct {
Doctor_Code *string `json:"doctor_code"`
Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
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"`
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"`
Status_Code *common.DataVerifiedCode `json:"status_code" gorm:"size:10"`
}
func (d TherapyProtocol) IsNew() bool {
return d.Status_Code != nil && *d.Status_Code == common.DVCNew
}
+12
View File
@@ -0,0 +1,12 @@
package log
import (
erc "simrs-vx/internal/domain/references/common"
)
type SimxLogDto struct {
Payload any `json:"payload"`
IsSuccess bool `json:"isSuccess"`
ErrMessage *string `json:"errMessage"`
Method erc.CrudCode `json:"method"`
}