adjust for prescription item, medicinemix, medication item

This commit is contained in:
dpurbosakti
2025-09-30 09:56:25 +07:00
parent f7edee1ac5
commit 7fd8bca3f8
7 changed files with 41 additions and 15 deletions
@@ -0,0 +1,6 @@
-- Modify "MedicationItem" table
ALTER TABLE "public"."MedicationItem" ALTER COLUMN "Usage" TYPE character varying(255), ADD COLUMN "Frequency" integer NULL, ADD COLUMN "Dose" numeric NULL;
-- Modify "PrescriptionItem" table
ALTER TABLE "public"."PrescriptionItem" ALTER COLUMN "Usage" TYPE character varying(255), ADD COLUMN "Frequency" integer NULL, ADD COLUMN "Dose" numeric NULL;
-- Modify "MedicineMix" table
ALTER TABLE "public"."MedicineMix" ADD COLUMN "Uom_Code" character varying(10) NULL, ADD CONSTRAINT "fk_MedicineMix_Uom" FOREIGN KEY ("Uom_Code") REFERENCES "public"."Uom" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
+4 -3
View File
@@ -1,4 +1,4 @@
h1:xkdKsHk/4s72juNsRgWubyMR4XEXjEQ38+XI4m/e/jM=
h1:Q2e6TNVbdE4yvg1W/bZvcNzYuBjy1kIT2z0QVbyWDYY=
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
@@ -17,5 +17,6 @@ h1:xkdKsHk/4s72juNsRgWubyMR4XEXjEQ38+XI4m/e/jM=
20250918074745.sql h1:2hNVQCXF/dVYXAh+T/7oBFgERGWxzVb2FXJjwkFWGCI=
20250923025134.sql h1:Ykz/qpHiGDXPsCsWTjydQFVSibZP2D+h2fIeb2h2JGA=
20250924051317.sql h1:yQuW6SwJxIOM5fcxeAaie5lSm1oLysU/C2hH2xNCVoQ=
20250929034321.sql h1:Pjs8W2zK7Q6Nwta/xpYE7YdfT+JfIMHjgWfDK2hnaEI=
20250929034428.sql h1:w3JomY0HxQJIdHA6Pq7mixJNi1YcO8NpQMjIfhNw+oA=
20250929034321.sql h1:101FJ8VH12mrZWlt/X1gvKUGOhoiF8tFbjiapAjnHzg=
20250929034428.sql h1:i+pROD9p+g5dOmmZma6WF/0Hw5g3Ha28NN85iTo1K34=
20250930025550.sql h1:cUvQcYn+4BoID3BGn2JriESuD7WactMf/fp48EFwtAA=
@@ -13,10 +13,13 @@ type CreateDto struct {
IsMix bool `json:"isMix"`
Medicine_Id *uint `json:"medicine_id"`
MedicineMix_Id *uint `json:"medicineMix_id"`
Usage float64 `json:"usage"`
Frequency *uint16 `json:"frequency"`
Dose float64 `json:"dose"`
Usage string `json:"usage"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
IsRedeemed bool `json:"isRedeemed"`
Quantity float64 `json:"quantity"`
}
type ReadListDto struct {
@@ -67,7 +70,7 @@ type ResponseDto struct {
Medicine *em.Medicine `json:"medicine,omitempty"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty"`
Usage float64 `json:"usage"`
Usage string `json:"usage"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
IsRedeemed bool `json:"isRedeemed"`
@@ -18,7 +18,9 @@ type MedicationItem struct {
Medicine *em.Medicine `json:"medicine,omitempty" gorm:"foreignKey:Medicine_Id;references:Id"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty" gorm:"foreignKey:MedicineMix_Id;references:Id"`
Usage float64 `json:"usage"`
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"`
IsRedeemed bool `json:"isRedeemed"`
@@ -3,10 +3,13 @@ package medicinemix
import (
ecore "simrs-vx/internal/domain/base-entities/core"
emmi "simrs-vx/internal/domain/main-entities/medicine-mix-item"
eu "simrs-vx/internal/domain/main-entities/uom"
)
type MedicineMix struct {
ecore.Main // adjust this according to the needs
Name string `json:"name" gorm:"size:50"`
Uom_Code *string `json:"uom_code" gorm:"size:10"`
Uom *eu.Uom `json:"uom" gorm:"foreignKey:Uom_Code;references:Code"`
MixItems []*emmi.MedicineMixItem `json:"mixItems" gorm:"foreignKey:MedicineMix_Id;references:Id"`
}
@@ -9,13 +9,16 @@ import (
)
type CreateDto struct {
Prescription_Id *uint `json:"prescription_id"`
IsMix bool `json:"isMix"`
Medicine_Id *uint `json:"medicine_id"`
MedicineMix_Id *uint `json:"medicineMix_id"`
Usage float64 `json:"usage"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
Prescription_Id *uint `json:"prescription_id"`
IsMix bool `json:"isMix"`
Medicine_Id *uint `json:"medicine_id"`
MedicineMix_Id *uint `json:"medicineMix_id"`
Frequency *uint16 `json:"frequency"`
Dose float64 `json:"dose"`
Usage float64 `json:"usage"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
IntervalMultiplier *uint16 `json:"intervalMultiplier"`
}
type ReadListDto struct {
@@ -65,9 +68,12 @@ type ResponseDto struct {
Medicine *em.Medicine `json:"medicine,omitempty"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty"`
Usage float64 `json:"usage"`
Frequency *uint16 `json:"frequency"`
Dose float64 `json:"dose"`
Usage string `json:"usage"`
Interval uint8 `json:"interval"`
IntervalUnit_Code erc.TimeUnitCode `json:"intervalUnit_code"`
Quantity float64 `json:"quantity"`
}
func (d PrescriptionItem) ToResponse() ResponseDto {
@@ -79,9 +85,12 @@ func (d PrescriptionItem) ToResponse() ResponseDto {
Medicine: d.Medicine,
MedicineMix_Id: d.MedicineMix_Id,
MedicineMix: d.MedicineMix,
Frequency: d.Frequency,
Dose: d.Dose,
Usage: d.Usage,
Interval: d.Interval,
IntervalUnit_Code: d.IntervalUnit_Code,
Quantity: d.Quantity,
}
resp.Main = d.Main
return resp
@@ -18,7 +18,9 @@ type PrescriptionItem struct {
Medicine *em.Medicine `json:"medicine,omitempty" gorm:"foreignKey:Medicine_Id;references:Id"`
MedicineMix_Id *uint `json:"medicineMix_id"`
MedicineMix *emm.MedicineMix `json:"medicineMix,omitempty" gorm:"foreignKey:MedicineMix_Id;references:Id"`
Usage float64 `json:"usage"`
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"`