47 lines
2.9 KiB
Go
47 lines
2.9 KiB
Go
package encounter
|
|
|
|
import (
|
|
ecore "simrs-vx/internal/domain/base-entities/core"
|
|
ea "simrs-vx/internal/domain/main-entities/appointment"
|
|
ed "simrs-vx/internal/domain/main-entities/doctor"
|
|
ep "simrs-vx/internal/domain/main-entities/patient"
|
|
es "simrs-vx/internal/domain/main-entities/specialist"
|
|
ess "simrs-vx/internal/domain/main-entities/subspecialist"
|
|
eu "simrs-vx/internal/domain/main-entities/unit"
|
|
erc "simrs-vx/internal/domain/references/common"
|
|
ere "simrs-vx/internal/domain/references/encounter"
|
|
"time"
|
|
)
|
|
|
|
type Encounter struct {
|
|
ecore.Main // adjust this according to the needs
|
|
Patient_Id *uint `json:"patient_id"`
|
|
Patient *ep.Patient `json:"patient,omitempty" gorm:"foreignKey:Patient_Id;references:Id"`
|
|
RegisteredAt *time.Time `json:"registeredAt"`
|
|
Class_Code ere.EncounterClassCode `json:"class_code" gorm:"not null;size:10"`
|
|
Unit_Id *uint `json:"unit_id"`
|
|
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Id;references:Id"`
|
|
Specialist_Id *uint16 `json:"specialist_id"`
|
|
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Id;references:Id"`
|
|
Subspecialist_Id *uint16 `json:"subspecialist_id"`
|
|
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Id;references:Id"`
|
|
VisitDate time.Time `json:"visitDate"`
|
|
Appointment_Doctor_Id *uint `json:"appointment_doctor_id"`
|
|
Appointment_Doctor *ed.Doctor `json:"appointment_doctor,omitempty" gorm:"foreignKey:Appointment_Doctor_Id;references:Id"`
|
|
Responsible_Doctor_Id *uint `json:"responsible_doctor_id"`
|
|
Responsible_Doctor *ed.Doctor `json:"responsible_doctor,omitempty" gorm:"foreignKey:Responsible_Doctor_Id;references:Id"`
|
|
DischargeMethod_Code *ere.DischargeMethodCode `json:"dischargeMethod_code" gorm:"size:10"`
|
|
RefSource_Name *string `json:"refSource_name" gorm:"size:100"`
|
|
Appointment_Id *uint `json:"appointment_id"`
|
|
Appointment *ea.Appointment `json:"appointment,omitempty" gorm:"foreignKey:Appointment_Id;references:Id"`
|
|
EarlyEducation *string `json:"earlyEducation"`
|
|
MedicalDischargeEducation *string `json:"medicalDischargeEducation"`
|
|
AdmDischargeEducation *string `json:"admDischargeEducation"`
|
|
DischargeReason *string `json:"dischargeReason"`
|
|
Status_Code erc.DataStatusCode `json:"status_code" gorm:"size:10"`
|
|
}
|
|
|
|
func (d Encounter) IsDone() bool {
|
|
return d.Status_Code == erc.DSCDone
|
|
}
|