package models

type PrintPatient 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"`
	Name                    string                  `gorm:"column:name" json:"name" form:"name"`
	Age                     string                  `gorm:"column:age" json:"age" form:"age"`
	Gender                  int64                   `gorm:"column:gender" json:"gender" form:"gender"`
	HomeAddress             string                  `gorm:"column:home_address" json:"home_address" form:"home_address"`
	Phone                   string                  `gorm:"column:phone" json:"phone" form:"phone"`
	Lapseto                 int64                   `gorm:"column:lapseto" json:"lapseto" form:"lapseto"`
	Status                  int64                   `gorm:"column:status" json:"status" form:"status"`
	HisPrintPatient         HisPrintPatient         `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"his_patient"`
	HisHospitalCheckRecord  HisHospitalCheckRecord  `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"his_record_patient"`
	HisPrescriptionInfoTwo  HisPrescriptionInfoTwo  `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"info"`
	HisPrintPrescription    []*HisPrintPrescription `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"prescriptions"`
	NewHisPrintPrescription []*HisPrintPrescription `json:"new_prescriptions"`
}

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

type HisPrintPatient struct {
	ID                     int64   `gorm:"column:id" json:"id" form:"id"`
	BalanceAccountsType    int64   `gorm:"column:balance_accounts_type" json:"balance_accounts_type" form:"balance_accounts_type"`
	MedicalInsuranceNumber string  `gorm:"column:medical_insurance_number" json:"medical_insurance_number" form:"medical_insurance_number"`
	Name                   string  `gorm:"column:name" json:"name" form:"name"`
	Gender                 int64   `gorm:"column:gender" json:"gender" form:"gender"`
	IdType                 int64   `gorm:"column:id_type" json:"id_type" form:"id_type"`
	RecordDate             int64   `gorm:"column:record_date" json:"record_date" form:"record_date"`
	PhoneNumber            string  `gorm:"column:phone_number" json:"phone_number" form:"phone_number"`
	IdCardNo               string  `gorm:"column:id_card_no" json:"id_card_no" form:"id_card_no"`
	RegisterType           int64   `gorm:"column:register_type" json:"register_type" form:"register_type"`
	AdminUserId            int64   `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
	Departments            int64   `gorm:"column:departments" json:"departments" form:"departments"`
	Total                  float64 `gorm:"column:total" json:"total" form:"total"`
	UserOrgId              int64   `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	Status                 int64   `gorm:"column:status" json:"status" form:"status"`
	PatientId              int64   `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	Number                 string  `gorm:"column:number" json:"number" form:"number"`
	Doctor                 int64   `gorm:"column:doctor" json:"doctor" form:"doctor"`
	IsReturn               int64   `gorm:"column:is_return" json:"is_return" form:"is_return"`
	PsnNo                  string  `gorm:"column:psn_no" json:"psn_no" form:"psn_no"`
	PsnCertType            string  `gorm:"column:psn_cert_type" json:"psn_cert_type" form:"psn_cert_type"`
	Certno                 string  `gorm:"column:certno" json:"certno" form:"certno"`
	PsnName                string  `gorm:"column:psn_name" json:"psn_name" form:"psn_name"`
	Gend                   string  `gorm:"column:gend" json:"gend" form:"gend"`
	Naty                   string  `gorm:"column:naty" json:"naty" form:"naty"`
	Brdy                   string  `gorm:"column:brdy" json:"brdy" form:"brdy"`
	Iinfo                  string  `gorm:"column:iinfo" json:"iinfo" form:"iinfo"`
	Idetinfo               string  `gorm:"column:idetinfo" json:"idetinfo" form:"idetinfo"`
	IptOtpNo               string  `gorm:"column:ipt_otp_no" json:"ipt_otp_no" form:"ipt_otp_no"`
	Phone                  string  `gorm:"column:phone" json:"phone" form:"phone"`
	SocialType             int64   `gorm:"column:social_type" json:"social_type" form:"social_type"`
	IdCardType             int64   `gorm:"column:id_card_type" json:"id_card_type" form:"id_card_type"`
	PType                  int64   `gorm:"column:p_type" json:"p_type" form:"p_type"`
	Diagnosis              string  `gorm:"column:diagnosis" json:"diagnosis" form:"diagnosis"`
	SickType               int64   `gorm:"column:sick_type" json:"sick_type" form:"sick_type"`
	PatientInfo            string  `gorm:"column:patient_info" json:"patient_info" form:"patient_info"`
}

func (HisPrintPatient) TableName() string {
	return "his_patient"
}

type HisPrintPrescription 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"`
	RecordDate             int64                          `gorm:"column:record_date" json:"record_date" form:"record_date"`
	PatientId              int64                          `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	HisPatientId           int64                          `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_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"`
	Number                 string                         `gorm:"column:number" json:"number" form:"number"`
	Type                   int64                          `gorm:"column:type" json:"type" form:"type"`
	Doctor                 string                         `gorm:"column:doctor" json:"doctor" form:"doctor"`
	Creator                int64                          `gorm:"column:creator" json:"creator" form:"creator"`
	Modifier               int64                          `gorm:"column:modifier" json:"modifier" form:"modifier"`
	OrderStatus            int64                          `gorm:"column:order_status" json:"order_status" form:"order_status"`
	PreTime                int64                          `gorm:"column:pre_time" json:"pre_time" form:"pre_time"`
	BatchNumber            string                         `gorm:"column:batch_number" json:"batch_number" form:"batch_number"`
	PrescriptionNumber     string                         `gorm:"column:prescription_number" json:"prescription_number" form:"prescription_number"`
	HisDoctorAdviceInfo    []*HisDoctorAdviceInfo         `gorm:"ForeignKey:PrescriptionId;AssociationForeignKey:ID" json:"advices"`
	HisPrescriptionProject []*HisPrintPrescriptionProject `gorm:"ForeignKey:PrescriptionId;AssociationForeignKey:ID" json:"project"`
	Total                  string                         `gorm:"-" json:"total" form:"total"`
	PType                  int64                          `gorm:"column:p_type" json:"p_type" form:"p_type"`
	MedType                string                         `gorm:"column:med_type" json:"med_type" form:"med_type"`
}

func (HisPrintPrescription) TableName() string {
	return "his_prescription"
}

type HisPrescriptionInfoTwo 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"`
	RecordDate         int64  `gorm:"column:record_date" json:"record_date" form:"record_date"`
	PatientId          int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	HisPatientId       int64  `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_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"`
	Creator            int64  `gorm:"column:creator" json:"creator" form:"creator"`
	Modifier           int64  `gorm:"column:modifier" json:"modifier" form:"modifier"`
	Diagnosis          string `gorm:"column:diagnosis" json:"diagnosis" form:"diagnosis"`
	RegisterType       int64  `gorm:"column:register_type" json:"register_type" form:"register_type"`
	Doctor             string `gorm:"column:doctor" json:"doctor" form:"doctor"`
	Departments        string `gorm:"column:departments" json:"departments" form:"departments"`
	SickHistory        string `gorm:"column:sick_history" json:"sick_history" form:"sick_history"`
	PrescriptionNumber string `gorm:"column:prescription_number" json:"prescription_number" form:"prescription_number"`
	BatchNumber        string `gorm:"column:batch_number" json:"batch_number" form:"batch_number"`
	PrescriptionStatus int64  `gorm:"column:prescription_status" json:"prescription_status" form:"prescription_status"`
	DoctorId           int64  `gorm:"column:doctor_id" json:"doctor_id" form:"doctor_id"`
	DepartmentId       int64  `gorm:"column:department_id" json:"department_id" form:"department_id"`
	SickType           int64  `gorm:"column:sick_type" json:"sick_type" form:"sick_type"`
}

func (HisPrescriptionInfoTwo) TableName() string {
	return "his_prescription_info"
}
