package models

type VMOrgPatients struct {
	ID                           int64                `gorm:"column:id" json:"id" form:"id"`
	UserOrgId                    int64                `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	UserId                       int64                `gorm:"column:user_id" json:"user_id" form:"user_id"`
	Avatar                       string               `gorm:"column:avatar" json:"avatar" form:"avatar"`
	PatientType                  int64                `gorm:"column:patient_type" json:"patient_type" form:"patient_type"`
	DialysisNo                   string               `gorm:"column:dialysis_no" json:"dialysis_no" form:"dialysis_no"`
	AdmissionNumber              string               `gorm:"column:admission_number" json:"admission_number" form:"admission_number"`
	Source                       int64                `gorm:"column:source" json:"source" form:"source"`
	Lapseto                      int64                `gorm:"column:lapseto" json:"lapseto" form:"lapseto"`
	PartitionId                  int64                `gorm:"column:partition_id" json:"partition_id" form:"partition_id"`
	BedId                        int64                `gorm:"column:bed_id" json:"bed_id" form:"bed_id"`
	Name                         string               `gorm:"column:name" json:"name" form:"name"`
	Alias                        string               `gorm:"column:alias" json:"alias" form:"alias"`
	Gender                       int64                `gorm:"column:gender" json:"gender" form:"gender"`
	Nation                       string               `gorm:"column:nation" json:"nation" form:"nation"`
	NativePlace                  string               `gorm:"column:native_place" json:"native_place" form:"native_place"`
	MaritalStatus                int64                `gorm:"column:marital_status" json:"marital_status" form:"marital_status"`
	IdCardNo                     string               `gorm:"column:id_card_no" json:"id_card_no" form:"id_card_no"`
	Birthday                     int64                `gorm:"column:birthday" json:"birthday" form:"birthday"`
	ReimbursementWayId           int64                `gorm:"column:reimbursement_way_id" json:"reimbursement_way_id" form:"reimbursement_way_id"`
	HealthCareType               int64                `gorm:"column:health_care_type" json:"health_care_type" form:"health_care_type"`
	HealthCareNo                 string               `gorm:"column:health_care_no" json:"health_care_no" form:"health_care_no"`
	HealthCareDueDate            int64                `gorm:"column:health_care_due_date" json:"health_care_due_date" form:"health_care_due_date"`
	Height                       int64                `gorm:"column:height" json:"height" form:"height"`
	BloodType                    int64                `gorm:"column:blood_type" json:"blood_type" form:"blood_type"`
	Rh                           int64                `gorm:"column:rh" json:"rh" form:"rh"`
	HealthCareDueAlertDate       int64                `gorm:"column:health_care_due_alert_date" json:"health_care_due_alert_date" form:"health_care_due_alert_date"`
	EducationLevel               int64                `gorm:"column:education_level" json:"education_level" form:"education_level"`
	Profession                   int64                `gorm:"column:profession" json:"profession" form:"profession"`
	Phone                        string               `gorm:"column:phone" json:"phone" form:"phone"`
	HomeTelephone                string               `gorm:"column:home_telephone" json:"home_telephone" form:"home_telephone"`
	RelativePhone                string               `gorm:"column:relative_phone" json:"relative_phone" form:"relative_phone"`
	RelativeRelations            string               `gorm:"column:relative_relations" json:"relative_relations" form:"relative_relations"`
	HomeAddress                  string               `gorm:"column:home_address" json:"home_address" form:"home_address"`
	WorkUnit                     string               `gorm:"column:work_unit" json:"work_unit" form:"work_unit"`
	UnitAddress                  string               `gorm:"column:unit_address" json:"unit_address" form:"unit_address"`
	Children                     int64                `gorm:"column:children" json:"children" form:"children"`
	ReceivingDate                int64                `gorm:"column:receiving_date" json:"receiving_date" form:"receiving_date"`
	IsHospitalFirstDialysis      int64                `gorm:"column:is_hospital_first_dialysis" json:"is_hospital_first_dialysis" form:"is_hospital_first_dialysis"`
	FirstDialysisDate            int64                `gorm:"column:first_dialysis_date" json:"first_dialysis_date" form:"first_dialysis_date"`
	FirstDialysisHospital        string               `gorm:"column:first_dialysis_hospital" json:"first_dialysis_hospital" form:"first_dialysis_hospital"`
	PredialysisCondition         string               `gorm:"column:predialysis_condition" json:"predialysis_condition" form:"predialysis_condition"`
	PreHospitalDialysisFrequency string               `gorm:"column:pre_hospital_dialysis_frequency" json:"pre_hospital_dialysis_frequency" form:"pre_hospital_dialysis_frequency"`
	PreHospitalDialysisTimes     int64                `gorm:"column:pre_hospital_dialysis_times" json:"pre_hospital_dialysis_times" form:"pre_hospital_dialysis_times"`
	HospitalFirstDialysisDate    int64                `gorm:"column:hospital_first_dialysis_date" json:"hospital_first_dialysis_date" form:"hospital_first_dialysis_date"`
	InductionPeriod              int64                `gorm:"column:induction_period" json:"induction_period" form:"induction_period"`
	InitialDialysis              int64                `gorm:"column:initial_dialysis" json:"initial_dialysis" form:"initial_dialysis"`
	TotalDialysis                int64                `gorm:"column:total_dialysis" json:"total_dialysis" form:"total_dialysis"`
	AttendingDoctorId            int64                `gorm:"column:attending_doctor_id" json:"attending_doctor_id" form:"attending_doctor_id"`
	HeadNurseId                  int64                `gorm:"column:head_nurse_id" json:"head_nurse_id" form:"head_nurse_id"`
	Evaluate                     string               `gorm:"column:evaluate" json:"evaluate" form:"evaluate"`
	Diagnose                     string               `gorm:"column:diagnose" json:"diagnose" form:"diagnose"`
	Remark                       string               `gorm:"column:remark" json:"remark" form:"remark"`
	RegistrarsId                 int64                `gorm:"column:registrars_id" json:"registrars_id" form:"registrars_id"`
	Registrars                   string               `gorm:"column:registrars" json:"registrars" form:"registrars"`
	QrCode                       string               `gorm:"column:qr_code" json:"qr_code" form:"qr_code"`
	BindingState                 int64                `gorm:"column:binding_state" json:"binding_state" form:"binding_state"`
	PatientComplains             string               `gorm:"column:patient_complains" json:"patient_complains"` // 主诉
	PresentHistory               string               `gorm:"column:present_history" json:"present_history"`     // 现病史
	PastHistory                  string               `gorm:"column:past_history" json:"past_history"`           // 既往史
	Temperature                  float64              `gorm:"column:temperature" json:"temperature"`             // 体格检查-体温
	Pulse                        int64                `gorm:"column:pulse" json:"pulse"`                         // 体格检查-脉搏
	Respiratory                  int64                `gorm:"column:respiratory" json:"respiratory"`             // 体格检查-呼吸频率
	SBP                          int64                `gorm:"column:sbp" json:"sbp"`                             // 体格检查-收缩压
	DBP                          int64                `gorm:"column:dbp" json:"dbp"`                             // 体格检查-舒张压
	Status                       int64                `gorm:"column:status" json:"status" form:"status"`
	CreatedTime                  int64                `gorm:"column:created_time" json:"created_time" form:"created_time"`
	UpdatedTime                  int64                `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
	DialysisSolutions            []DialysisSolution   `json:"solutions" gorm:"foreignkey:PatientId"`
	Age                          int64                `gorm:"column:age" json:"age"`
	Schedules                    []Schedule           `json:"schedules" gorm:"foreignkey:PatientId"`
	Contagions                   []InfectiousDiseases `json:"contagions" gorm:"foreignkey:PatientId"`
	Diseases                     []ChronicDiseases    `json:"diseases" gorm:"foreignkey:PatientId"`

	InfectiousNextRecordTime int64  `gorm:"column:infectious_next_record_time" json:"infectious_next_record_time"`
	IsInfectious             int64  `gorm:"column:is_infectious" json:"is_infectious"`
	RemindCycle              int64  `gorm:"column:remind_cycle" json:"remind_cycle"`
	ResponseResult           string `gorm:"column:response_result" json:"response_result"`
	IsOpenRemind             int64  `gorm:"column:is_open_remind" json:"is_open_remind"`
	DialysisAge              int64  `gorm:"column:dialysis_age" json:"dialysis_age" form:"dialysis_age"`
	ExpenseKind              int64  `gorm:"column:expense_kind" json:"expense_kind" form:"expense_kind"`
	TellPhone                string `gorm:"column:tell_phone" json:"tell_phone" form:"tell_phone"`
	FirstTreatmentDate       int64  `gorm:"column:first_treatment_date" json:"first_treatment_date" form:"first_treatment_date"`
	ContactName              string `gorm:"column:contact_name" json:"contact_name" form:"contact_name"`
	UserSysBeforeCount       int64  `gorm:"column:user_sys_before_count" json:"user_sys_before_count" form:"user_sys_before_count"`
	SchRemark                string `gorm:"column:sch_remark" json:"sch_remark" form:"sch_remark"`
	ContagionIds             string `json:"contagion_ids" gorm:"-"`
}

func (VMOrgPatients) TableName() string {
	return "xt_patients"
}

type VMDeviceGroup struct {
	ID     int64  `gorm:"column:id" json:"id" form:"id"`
	OrgId  int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Name   string `gorm:"column:name" json:"name" form:"name"`
	Status int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime  int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime  int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMDeviceGroup) TableName() string {
	return "xt_device_group"
}

type VMDeviceZone struct {
	ID     int64  `gorm:"column:id" json:"id" form:"id"`
	OrgId  int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Name   string `gorm:"column:name" json:"name" form:"name"`
	Type   int64  `gorm:"column:type" json:"type" form:"type"`
	Status int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime  int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime  int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMDeviceZone) TableName() string {
	return "xt_device_zone"
}

type VMDeviceNumber struct {
	ID      int64  `gorm:"column:id" json:"id" form:"id"`
	OrgId   int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Number  string `gorm:"column:number" json:"number" form:"number"`
	GroupId int64  `gorm:"column:group_id" json:"group_id" form:"group_id"`
	ZoneId  int64  `gorm:"column:zone_id" json:"zone_id" form:"zone_id"`
	Status  int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime   int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime   int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMDeviceNumber) TableName() string {
	return "xt_device_number"
}

type VMSchedule struct {
	ID           int64 `gorm:"column:id" json:"id" form:"id"`
	UserOrgId    int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	PartitionId  int64 `gorm:"column:partition_id" json:"partition_id" form:"partition_id"`
	BedId        int64 `gorm:"column:bed_id" json:"bed_id" form:"bed_id"`
	PatientId    int64 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	ScheduleDate int64 `gorm:"column:schedule_date" json:"schedule_date" form:"schedule_date"`
	ScheduleType int64 `gorm:"column:schedule_type" json:"schedule_type" form:"schedule_type"`
	ScheduleWeek int64 `gorm:"column:schedule_week" json:"schedule_week" form:"schedule_week"`
	ModeId       int64 `gorm:"column:mode_id" json:"mode_id" form:"mode_id"`
	Status       int64 `gorm:"column:status" json:"status" form:"status"`
	CreatedTime  int64 `gorm:"column:created_time" json:"created_time" form:"created_time"`
	UpdatedTime  int64 `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
	IsExport     int64 `gorm:"column:is_export" json:"is_export" form:"is_export"`
}

func (VMSchedule) TableName() string {
	return "xt_schedule"
}

type VMApp_Role struct {
	Id          int64  `gorm:"PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	AdminUserId int64  `gorm:"column:admin_user_id" json:"admin_user_id"`
	OrgId       int64  `gorm:"column:org_id" json:"org_id"`
	Org         []*Org `gorm:"ForeignKey:ID;AssociationForeignKey:OrgId" json:"orgs"`
}

func (VMApp_Role) TableName() string {
	return "sgj_user_admin_role"
}

type VMAdminUser struct {
	ID         int64         `gorm:"PRIMARY_KEY;AUTO_INCREMENT" json:"id"` // 管理员用户 ID
	Org        []*Org        `gorm:"ForeignKey:Creator;AssociationForeignKey:ID" json:"orgs"`
	VMApp_Role []*VMApp_Role `gorm:"ForeignKey:AdminUserId;AssociationForeignKey:ID" json:"roles"`
}

func (VMAdminUser) TableName() string {
	return "sgj_user_admin"
}

type VMAdminBanner struct {
	ID     int64  `gorm:"column:id" json:"id" form:"id"`
	Thumb  string `gorm:"column:thumb" json:"thumb" form:"thumb"`
	Url    string `gorm:"column:url" json:"url" form:"url"`
	Status int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime  int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime  int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
	Title  string `gorm:"column:title" json:"title" form:"title"`
	Desc   string `gorm:"column:desc" json:"desc" form:"desc"`
}

func (VMAdminBanner) TableName() string {
	return "sgj_admin_banner"
}

type VMPatientScheduleTemplateId struct {
	ID     int64 `gorm:"column:id" json:"id" form:"id"`
	OrgId  int64 `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Status int64 `gorm:"column:status" json:"status" form:"status"`
	Ctime  int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime  int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMPatientScheduleTemplateId) TableName() string {
	return "xt_patient_schedule_template_id"
}

type VMPatientScheduleTemplateItem struct {
	ID             int64 `gorm:"column:id" json:"id" form:"id"`
	OrgId          int64 `gorm:"column:org_id" json:"org_id" form:"org_id"`
	TemplateId     int64 `gorm:"column:template_id" json:"template_id" form:"template_id"`
	DeviceNumberId int64 `gorm:"column:device_number_id" json:"device_number_id" form:"device_number_id"`
	PatientId      int64 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	TreatMode      int64 `gorm:"column:treat_mode" json:"treat_mode" form:"treat_mode"`
	Weekday        int64 `gorm:"column:weekday" json:"weekday" form:"weekday"`
	TimeType       int64 `gorm:"column:time_type" json:"time_type" form:"time_type"`
	Status         int64 `gorm:"column:status" json:"status" form:"status"`
	Ctime          int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime          int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMPatientScheduleTemplateItem) TableName() string {
	return "xt_patient_schedule_template_item"
}

type VMPatientScheduleTemplateMode struct {
	ID           int64 `gorm:"column:id" json:"id" form:"id"`
	OrgId        int64 `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Mode         int64 `gorm:"column:mode" json:"mode" form:"mode"`
	ExecuteTimes int64 `gorm:"column:execute_times" json:"execute_times" form:"execute_times"`
	Status       int64 `gorm:"column:status" json:"status" form:"status"`
	Ctime        int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime        int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMPatientScheduleTemplateMode) TableName() string {
	return "xt_patient_schedule_template_mode"
}

type VMDeviceMode struct {
	ID         int64  `gorm:"column:id" json:"id" form:"id"`
	DeviceMode string `gorm:"column:device_mode" json:"device_mode" form:"device_mode"`
	Status     int64  `gorm:"column:status" json:"status" form:"status"`
	UserOrgId  int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	Ctime      int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime      int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMDeviceMode) TableName() string {
	return "xt_device_mode"
}

type VmDeviceAddmacher struct {
	ID                  int64  `gorm:"column:id" json:"id" form:"id"`
	SerialNumber        string `gorm:"column:serial_number" json:"serial_number" form:"serial_number"`
	DeviceType          int64  `gorm:"column:device_type" json:"device_type" form:"device_type"`
	BedNumber           string `gorm:"column:bed_number" json:"bed_number" form:"bed_number"`
	DeviceName          string `gorm:"column:device_name" json:"device_name" form:"device_name"`
	ManufactureFactory  string `gorm:"column:manufacture_factory" json:"manufacture_factory" form:"manufacture_factory"`
	ServiceManufacturer string `gorm:"column:service_manufacturer" json:"service_manufacturer" form:"service_manufacturer"`
	UnitType            int64  `gorm:"column:unit_type" json:"unit_type" form:"unit_type"`
	UseSection          string `gorm:"column:use_section" json:"use_section" form:"use_section"`
	SectionNumber       string `gorm:"column:section_number" json:"section_number" form:"section_number"`
	BuyDate             int64  `gorm:"column:buy_date" json:"buy_date" form:"buy_date"`
	InstallDate         int64  `gorm:"column:install_date" json:"install_date" form:"install_date"`
	StartDate           int64  `gorm:"column:start_date" json:"start_date" form:"start_date"`
	MaintenaceEngineer  string `gorm:"column:maintenace_engineer" json:"maintenace_engineer" form:"maintenace_engineer"`
	Telephone           string `gorm:"column:telephone" json:"telephone" form:"telephone"`
	GuaranteeDate       string `gorm:"column:guarantee_date" json:"guarantee_date" form:"guarantee_date"`
	MachineStatus       int64  `gorm:"column:machine_status" json:"machine_status" form:"machine_status"`
	UserTotal           string `gorm:"column:user_total" json:"user_total" form:"user_total"`
	DisinfectionMode    int64  `gorm:"column:disinfection_mode" json:"disinfection_mode" form:"disinfection_mode"`
	Remarks             string `gorm:"column:remarks" json:"remarks" form:"remarks"`
	RubbishDate         int64  `gorm:"column:rubbish_date" json:"rubbish_date" form:"rubbish_date"`
	RubbishReason       int64  `gorm:"column:rubbish_reason" json:"rubbish_reason" form:"rubbish_reason"`
	UserYear            string `gorm:"column:user_year" json:"user_year" form:"user_year"`
	WorkTime            string `gorm:"column:work_time" json:"work_time" form:"work_time"`
	ReversMode          int64  `gorm:"column:revers_mode" json:"revers_mode" form:"revers_mode"`
	UserOrgId           int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	Status              int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime               int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime               int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
	ZoneId              int64  `gorm:"column:zone_id" json:"zone_id" form:"zone_id"`
	BedId               int64  `gorm:"column:bed_id" json:"bed_id" form:"bed_id"`
}

func (VmDeviceAddmacher) TableName() string {
	return "xt_device_addmacher"
}

type VmDeviceTreatmentmode struct {
	ID         int64 `gorm:"column:id" json:"id" form:"id"`
	MachineId  int64 `gorm:"column:machine_id" json:"machine_id" form:"machine_id"`
	Status     int64 `gorm:"column:status" json:"status" form:"status"`
	Ctime      int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime      int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
	UserOrgId  int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	TreateMode int64 `gorm:"column:treate_mode" json:"treate_mode" form:"treate_mode"`
}

func (VmDeviceTreatmentmode) TableName() string {
	return "xt_device_treatmentmode"
}

type VMUserRoleAndPurview struct {
	ID               int64  `gorm:"column:id" json:"id" form:"id"`
	RoleName         string `gorm:"column:role_name" json:"role_name" form:"role_name"`
	RoleIntroduction string `gorm:"column:role_introduction" json:"role_introduction" form:"role_introduction"`
	Creator          int64  `gorm:"column:creator" json:"creator" form:"creator"`
	OrgId            int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	AppId            int64  `gorm:"column:app_id" json:"app_id" form:"app_id"`
	IsSuperAdmin     bool   `gorm:"column:is_super_admin" json:"is_super_admin" form:"is_super_admin"`
	Status           int64  `gorm:"column:status" json:"status" form:"status"`
	Ctime            int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime            int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
	Number           int64  `gorm:"column:number" json:"number" form:"number"`
	PurviewIds       string `gorm:"-" json:"purview_ids" form:"purview_ids"`
	FuncIds          string `gorm:"-" json:"func_ids" form:"func_ids"`
	IsSystem         int64  `gorm:"column:is_system" json:"is_system" form:"is_system"`
}

func (VMUserRoleAndPurview) TableName() string {
	return "sgj_user_role"
}

type VMGobalTemplate struct {
	ID         int64 `gorm:"column:id" json:"id" form:"id"`
	OrgId      int64 `gorm:"column:org_id" json:"org_id" form:"org_id"`
	TemplateId int64 `gorm:"column:template_id" json:"template_id" form:"template_id"`
	Status     int64 `gorm:"column:status" json:"status" form:"status"`
	Ctime      int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime      int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
}

func (VMGobalTemplate) TableName() string {
	return "xt_gobal_template"
}

type VMGoodsType struct {
	ID       int64  `gorm:"column:id" json:"id"`
	TypeCode string `gorm:"column:type_code" json:"type_code"`
	TypeName string `gorm:"column:type_name" json:"type_name"`
	Remark   string `gorm:"column:remark" json:"remark"`
	Ctime    int64  `gorm:"column:ctime" json:"ctime"`
	Mtime    int64  `gorm:"column:mtime" json:"mtime"`
	Creater  int64  `gorm:"column:creater" json:"creater"`
	Modifier int64  `gorm:"column:modifier" json:"modifier"`
	OrgId    int64  `gorm:"column:org_id" json:"org_id"`
	Status   int64  `gorm:"column:status" json:"status"`
	Type     int64  `gorm:"column:type" json:"type"`
	Number   int64  `gorm:"column:number" json:"number"`
	OutStock int64  `gorm:"column:out_stock" json:"out_stock" form:"out_stock"`
}

func (VMGoodsType) TableName() string {
	return "xt_goods_type"
}
