package internal_reference

import (
	erc "simrs-vx/internal/domain/references/common"

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

type InternalReference struct {
	ecore.Main
	Encounter_Id   *uint                 `json:"encounter_id"`
	Unit_Code      *string               `json:"unit_code"`
	Unit           *eu.Unit              `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
	Doctor_Code    *string               `json:"doctor_code"`
	Doctor         *ed.Doctor            `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"`
	Status_Code    *erc.DataApprovalCode `json:"status_code"`
	SrcDoctor_Code *string               `json:"srcDoctor_code"`
	SrcDoctor      *ed.Doctor            `json:"srcDoctor,omitempty" gorm:"foreignKey:SrcDoctor_Code;references:Code"`
	SrcNurse_Code  *string               `json:"srcNurse_code"`
	SrcNurse       *en.Nurse             `json:"srcNurse,omitempty" gorm:"foreignKey:SrcNurse_Code;references:Code"`
	Nurse_Code     *string               `json:"nurse_code"`
	Nurse          *en.Nurse             `json:"nurse,omitempty" gorm:"foreignKey:Nurse_Code;references:Code"`
}
