package chemo

import (
	"time"

	ecore "simrs-vx/internal/domain/base-entities/core"
	ee "simrs-vx/internal/domain/main-entities/encounter"
	eun "simrs-vx/internal/domain/main-entities/unit"
	eus "simrs-vx/internal/domain/main-entities/user"

	erc "simrs-vx/internal/domain/references/common"
)

type Chemo 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"`
	Status_Code        erc.DataVerifiedCode `json:"status_code"`
	VerifiedAt         *time.Time           `json:"verifiedAt"`
	VerifiedBy_User_Id *uint                `json:"verifiedBy_user_id"`
	VerifiedBy         *eus.User            `json:"verifiedBy,omitempty" gorm:"foreignKey:VerifiedBy_User_Id;references:Id"`
	SrcUnit_Code       *string              `json:"src_unit_code"`
	SrcUnit            *eun.Unit            `json:"src_unit,omitempty" gorm:"foreignKey:SrcUnit_Code;references:Code"`
	Bed                *string              `json:"bed" gorm:"size:1024"`
	Needs              *string              `json:"needs" gorm:"size:2048"`
}
