package consultation

import (
	"time"

	ecore "simrs-vx/internal/domain/base-entities/core"
	ed "simrs-vx/internal/domain/main-entities/doctor"
	ee "simrs-vx/internal/domain/main-entities/encounter"
	eu "simrs-vx/internal/domain/main-entities/unit"
)

type Consultation struct {
	ecore.Main                 // adjust this according to the needs
	Encounter_Id *uint         `json:"encounter_id"`
	Encounter    *ee.Encounter `json:"encounter" gorm:"foreignKey:Encounter_Id;references:Id"`
	Date         *time.Time    `json:"date"`

	Problem        *string    `json:"case" gorm:"size:10240"`
	Solution       *string    `json:"solution" gorm:"size:10240"`
	DstUnit_Code   *string    `json:"dstUnit_code"`
	DstUnit        *eu.Unit   `json:"dstUnit" gorm:"foreignKey:DstUnit_Code;references:Code"`
	DstDoctor_Code *string    `json:"dstDoctor_code"`
	DstDoctor      *ed.Doctor `json:"dstDoctor" gorm:"foreignKey:DstDoctor_Code;references:Code"`
	RepliedAt      *time.Time `json:"repliedAt"`
}
