package models

type DrugDic struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	Code        string `gorm:"column:code" json:"code" form:"code"`
	Name        string `gorm:"column:name" json:"name" form:"name"`
	Spec        string `gorm:"column:spec" json:"spec" form:"spec"`
	SpecUnit    string `gorm:"column:spec_unit" json:"spec_unit" form:"spec_unit"`
	Form        string `gorm:"column:form" json:"form" form:"form"`
	FormUnit    string `gorm:"column:form_unit" json:"form_unit" form:"form_unit"`
	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"`
	OrgId       int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Creator     int64  `gorm:"column:creator" json:"creator" form:"creator"`
}

func (DrugDic) TableName() string {
	return "xt_drug_dic"
}

type DrugwayDic struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	Code        string `gorm:"column:code" json:"code" form:"code"`
	Name        string `gorm:"column:name" json:"name" form:"name"`
	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"`
	OrgId       int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Creator     int64  `gorm:"column:creator" json:"creator" form:"creator"`
}

func (DrugwayDic) TableName() string {
	return "xt_drugway_dic"
}

type ExecutionFrequencyDic struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	Code        string `gorm:"column:code" json:"code" form:"code"`
	Name        string `gorm:"column:name" json:"name" form:"name"`
	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"`
	OrgId       int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	Creator     int64  `gorm:"column:creator" json:"creator" form:"creator"`
}

func (ExecutionFrequencyDic) TableName() string {
	return "xt_execution_frequency_dic"
}

type DoctorAdviceTemplate struct {
	ID                      int64                   `gorm:"column:id" json:"id" form:"id"`
	OrgId                   int64                   `gorm:"column:org_id" json:"org_id" form:"org_id"`
	AdviceName              string                  `gorm:"column:advice_name" json:"advice_name" form:"advice_name"`
	AdviceDesc              string                  `gorm:"column:advice_desc" json:"advice_desc" form:"advice_desc"`
	SingleDose              float64                 `gorm:"column:single_dose" json:"single_dose" form:"single_dose"`
	SingleDoseUnit          string                  `gorm:"column:single_dose_unit" json:"single_dose_unit" form:"single_dose_unit"`
	PrescribingNumber       float64                 `gorm:"column:prescribing_number" json:"prescribing_number" form:"prescribing_number"`
	PrescribingNumberUnit   string                  `gorm:"column:prescribing_number_unit" json:"prescribing_number_unit" form:"prescribing_number_unit"`
	DeliveryWay             string                  `gorm:"column:delivery_way" json:"delivery_way" form:"delivery_way"`
	ExecutionFrequency      string                  `gorm:"column:execution_frequency" json:"execution_frequency" form:"execution_frequency"`
	AdviceDoctor            int64                   `gorm:"column:advice_doctor" json:"advice_doctor" form:"advice_doctor"`
	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"`
	TemplateId              int64                   `gorm:"column:template_id" json:"template_id"`
	DrugSpec                string                  `gorm:"column:drug_spec" json:"drug_spec" form:"drug_spec"`
	DrugSpecUnit            string                  `gorm:"column:drug_spec_unit" json:"drug_spec_unit" form:"drug_spec_unit"`
	ParentId                int64                   `gorm:"column:parent_id" json:"parent_id"`
	AdviceType              int64                   `gorm:"column:advice_type" json:"advice_type"`
	DayCount                int64                   `gorm:"column:day_count" json:"day_count"`
	WeekDays                string                  `gorm:"column:week_days" json:"week_days"`
	FrequencyType           int64                   `gorm:"column:frequency_type" json:"frequency_type"`
	DrugId                  int64                   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
	Way                     int64                   `gorm:"column:way" json:"way" form:"way"`
	DrugNameId              int64                   `gorm:"column:drug_name_id" json:"drug_name_id" form:"drug_name_id"`
	SubDoctorAdviceTemplate []*DoctorAdviceTemplate `gorm:"ForeignKey:ParentId;AssociationForeignKey:ID" json:"child"`
}

func (DoctorAdviceTemplate) TableName() string {
	return "xt_doctor_advice_template"
}

type DoctorAdviceParentTemplate struct {
	ID                   int64                   `gorm:"column:id" json:"id"`
	OrgId                int64                   `gorm:"column:org_id" json:"org_id"`
	Name                 string                  `gorm:"column:name" json:"name"`
	Status               int64                   `gorm:"column:status" json:"status"`
	CreatedTime          int64                   `gorm:"column:created_time" json:"created_time"`
	UpdatedTime          int64                   `gorm:"column:updated_time" json:"updated_time"`
	DoctorAdviceTemplate []*DoctorAdviceTemplate `gorm:"ForeignKey:TemplateId;AssociationForeignKey:ID"`
	AdviceType           int64                   `gorm:"column:advice_type" json:"advice_type"`
}

func (DoctorAdviceParentTemplate) TableName() string {
	return "xt_doctor_advice_parent_template"
}

type VMDoctorAdviceParentTemplate struct {
	ID                   int64                   `gorm:"column:id" json:"id"`
	OrgId                int64                   `gorm:"column:org_id" json:"org_id"`
	Name                 string                  `gorm:"column:name" json:"name"`
	Status               int64                   `gorm:"column:status" json:"status"`
	CreatedTime          int64                   `gorm:"column:created_time" json:"created_time"`
	UpdatedTime          int64                   `gorm:"column:updated_time" json:"updated_time"`
	DoctorAdviceTemplate []*DoctorAdviceTemplate `gorm:"ForeignKey:TemplateId;AssociationForeignKey:ID" json:"advice_template"`
	AdviceType           int64                   `gorm:"column:advice_type" json:"advice_type"`
}

func (VMDoctorAdviceParentTemplate) TableName() string {
	return "xt_doctor_advice_parent_template"
}

type AdviceRemind struct {
	ID            int64  `gorm:"column:id" json:"id"`
	UserOrgId     int64  `gorm:"column:user_org_id" json:"user_org_id"`
	PatientId     int64  `gorm:"column:patient_id" json:"patient_id"`
	RemindType    int64  `gorm:"column:remind_type" json:"remind_type"`
	FrequencyType int64  `gorm:"column:frequency_type" json:"frequency_type"`
	DayCount      int64  `gorm:"column:day_count" json:"day_count"`
	WeekDay       string `gorm:"column:week_day" json:"week_day"`
	Ctime         int64  `gorm:"column:ctime" json:"ctime"`
	Mtime         int64  `gorm:"column:mtime" json:"mtime"`
	Status        int64  `gorm:"column:status" json:"status"`
	AdviceDate    int64  `gorm:"column:advice_date" json:"advice_date"`
}

func (AdviceRemind) TableName() string {
	return "xt_advice_remind"
}

type AdviceInit 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"`
	CreateTime int64 `gorm:"column:create_time" json:"create_time" form:"create_time"`
	UpdateTime int64 `gorm:"column:update_time" json:"update_time" form:"update_time"`
	Status     int64 `gorm:"column:status" json:"status" form:"status"`
	IsInit     int64 `gorm:"column:is_init" json:"is_init" form:"is_init"`
}

func (AdviceInit) TableName() string {
	return "xt_advice_init"
}

type DoctorAdviceConfig 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"`
	CreateTime   int64 `gorm:"column:create_time" json:"create_time" form:"create_time"`
	UpdateTime   int64 `gorm:"column:update_time" json:"update_time" form:"update_time"`
	Status       int64 `gorm:"column:status" json:"status" form:"status"`
	IsOpenRemind int64 `gorm:"column:is_open_remind" json:"is_open_remind" form:"is_open_remind"`
}

func (DoctorAdviceConfig) TableName() string {
	return "xt_doctor_config"
}
