package models

type HisChargePrescriptionProject struct {
	ID         int64  `gorm:"column:id" json:"id" form:"id"`
	ProjectId  int64  `gorm:"column:project_id" json:"project_id" form:"project_id"`
	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"`
	RecordDate int64  `gorm:"column:record_date" json:"record_date" form:"record_date"`
	Count      string `gorm:"column:count" json:"count" form:"count"`
	Type       int64  `gorm:"column:type" json:"type" form:"type"`

	HisChargeProject  HisChargeProject  `gorm:"ForeignKey:ProjectId;AssociationForeignKey:ID" json:"project"`
	HisChargeGoodInfo HisChargeGoodInfo `gorm:"ForeignKey:ProjectId;AssociationForeignKey:ID" json:"good_info"`
}

func (HisChargePrescriptionProject) TableName() string {
	return "his_prescription_project"
}

type HisChargeDoctorAdviceInfo 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"`
	PatientId  int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	AdviceName string `gorm:"column:advice_name" json:"advice_name" form:"advice_name"`
	Status     int64  `gorm:"column:status" json:"status" form:"status"`
	DrugId     int64  `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
	Drug       Drug   `gorm:"ForeignKey:ID;AssociationForeignKey:DrugId" json:"drug"`
}

func (HisChargeDoctorAdviceInfo) TableName() string {
	return "his_doctor_advice_info"
}

type HisChargeOrderInfo struct {
	ID                           int64                        `gorm:"column:id" json:"id" form:"id"`
	OrderNumber                  string                       `gorm:"column:order_number" json:"order_number" form:"order_number"`
	AdviceId                     int64                        `gorm:"column:advice_id" json:"advice_id" form:"advice_id"`
	DetItemFeeSumamt             float64                      `gorm:"column:det_item_fee_sumamt" json:"det_item_fee_sumamt" form:"det_item_fee_sumamt"`
	Cnt                          float64                      `gorm:"column:cnt" json:"cnt" form:"cnt"`
	Pric                         float64                      `gorm:"column:pric" json:"pric" form:"pric"`
	MedChrgitmType               string                       `gorm:"column:med_chrgitm_type" json:"med_chrgitm_type" form:"med_chrgitm_type"`
	Status                       int64                        `gorm:"column:status" json:"status" form:"status"`
	ChldMedcFlag                 string                       `gorm:"column:chld_medc_flag" json:"chld_medc_flag" form:"chld_medc_flag"`
	ChrgitmLv                    string                       `gorm:"column:chrgitm_lv" json:"chrgitm_lv" form:"chrgitm_lv"`
	UserOrgId                    int64                        `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	ProjectId                    int64                        `gorm:"column:project_id" json:"project_id" form:"project_id"`
	Type                         int64                        `gorm:"column:type" json:"type" form:"type"`
	HisChargePrescriptionProject HisChargePrescriptionProject `gorm:"ForeignKey:ID;AssociationForeignKey:ProjectId" json:"project"`
	HisChargeDoctorAdviceInfo    HisChargeDoctorAdviceInfo    `gorm:"ForeignKey:AdviceId;AssociationForeignKey:ID" json:"advice"`
}

func (HisChargeOrderInfo) TableName() string {
	return "his_order_info"
}

type ChargePatient 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"`
	Lapseto        int64             `gorm:"column:lapseto" json:"lapseto" form:"lapseto"`
	Status         int64             `gorm:"column:status" json:"status" form:"status"`
	HisChargeOrder []*HisChargeOrder `gorm:"ForeignKey:PatientID;AssociationForeignKey:ID" json:"orders"`
}

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

type SettlePatient 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"`
	Lapseto              int64                   `gorm:"column:lapseto" json:"lapseto" form:"lapseto"`
	Status               int64                   `gorm:"column:status" json:"status" form:"status"`
	HisChargeSettleOrder []*HisChargeSettleOrder `gorm:"ForeignKey:PatientID;AssociationForeignKey:ID" json:"orders"`
}

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

type HisChargeOrder 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"`
	HisPatientId       int64                 `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"`
	SettleAccountsDate int64                 `gorm:"column:settle_accounts_date" json:"settle_accounts_date" form:"settle_accounts_date"`
	Status             int64                 `gorm:"column:status" json:"status" form:"status"`
	Number             string                `gorm:"column:number" json:"number" form:"number"`
	OrderStatus        int64                 `gorm:"column:order_status" json:"order_status" form:"order_status"`
	MdtrtId            string                `gorm:"column:mdtrt_id" json:"mdtrt_id" form:"mdtrt_id"`
	PatientId          int64                 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	HisChargeOrderInfo []*HisChargeOrderInfo `gorm:"ForeignKey:OrderNumber;AssociationForeignKey:Number" json:"order_info"`
}

func (HisChargeOrder) TableName() string {
	return "his_order"
}

type HisChargeSettleOrder 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"`
	HisPatientId        int64   `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"`
	SettleAccountsDate  int64   `gorm:"column:settle_accounts_date" json:"settle_accounts_date" form:"settle_accounts_date"`
	Status              int64   `gorm:"column:status" json:"status" form:"status"`
	PatientId           int64   `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	Infcode             int64   `gorm:"column:infcode" json:"infcode" form:"infcode"`
	WarnMsg             string  `gorm:"column:warn_msg" json:"warn_msg" form:"warn_msg"`
	Cainfo              string  `gorm:"column:cainfo" json:"cainfo" form:"cainfo"`
	ErrMsg              string  `gorm:"column:err_msg" json:"err_msg" form:"err_msg"`
	RespondTime         string  `gorm:"column:respond_time" json:"respond_time" form:"respond_time"`
	InfRefmsgid         string  `gorm:"column:inf_refmsgid" json:"inf_refmsgid" form:"inf_refmsgid"`
	OrderStatus         int64   `gorm:"column:order_status" json:"order_status" form:"order_status"`
	MdtrtId             string  `gorm:"column:mdtrt_id" json:"mdtrt_id" form:"mdtrt_id"`
	SetlId              string  `gorm:"column:setl_id" json:"setl_id" form:"setl_id"`
	Insutype            string  `gorm:"column:insutype" json:"insutype" form:"insutype"`
	PsnType             string  `gorm:"column:psn_type" json:"psn_type" form:"psn_type"`
	CvlservFlag         string  `gorm:"column:cvlserv_flag" json:"cvlserv_flag" form:"cvlserv_flag"`
	SetlTime            string  `gorm:"column:setl_time" json:"setl_time" form:"setl_time"`
	MdtrtCertType       string  `gorm:"column:mdtrt_cert_type" json:"mdtrt_cert_type" form:"mdtrt_cert_type"`
	MedType             string  `gorm:"column:med_type" json:"med_type" form:"med_type"`
	MedfeeSumamt        float64 `gorm:"column:medfee_sumamt" json:"medfee_sumamt" form:"medfee_sumamt"`
	FulamtOwnpayAmt     float64 `gorm:"column:fulamt_ownpay_amt" json:"fulamt_ownpay_amt" form:"fulamt_ownpay_amt"`
	OverlmtSelfPay      float64 `gorm:"column:overlmt_self_pay" json:"overlmt_self_pay" form:"overlmt_self_pay"`
	PreselfpayAmt       float64 `gorm:"column:preselfpay_amt" json:"preselfpay_amt" form:"preselfpay_amt"`
	InscpScpAmt         float64 `gorm:"column:inscp_scp_amt" json:"inscp_scp_amt" form:"inscp_scp_amt"`
	ActPayDedc          float64 `gorm:"column:act_pay_dedc" json:"act_pay_dedc" form:"act_pay_dedc"`
	HifpPay             float64 `gorm:"column:hifp_pay" json:"hifp_pay" form:"hifp_pay"`
	CvlservPay          float64 `gorm:"column:cvlserv_pay" json:"cvlserv_pay" form:"cvlserv_pay"`
	PoolPropSelfpay     float64 `gorm:"column:pool_prop_selfpay" json:"pool_prop_selfpay" form:"pool_prop_selfpay"`
	HifesPay            float64 `gorm:"column:hifes_pay" json:"hifes_pay" form:"hifes_pay"`
	HifmiPay            float64 `gorm:"column:hifmi_pay" json:"hifmi_pay" form:"hifmi_pay"`
	HifobPay            float64 `gorm:"column:hifob_pay" json:"hifob_pay" form:"hifob_pay"`
	MafPay              float64 `gorm:"column:maf_pay" json:"maf_pay" form:"maf_pay"`
	OthPay              float64 `gorm:"column:oth_pay" json:"oth_pay" form:"oth_pay"`
	FundPaySumamt       float64 `gorm:"column:fund_pay_sumamt" json:"fund_pay_sumamt" form:"fund_pay_sumamt"`
	PsnPartAmt          float64 `gorm:"column:psn_part_amt" json:"psn_part_amt" form:"psn_part_amt"`
	AcctPay             float64 `gorm:"column:acct_pay" json:"acct_pay" form:"acct_pay"`
	PsnCashPay          float64 `gorm:"column:psn_cash_pay" json:"psn_cash_pay" form:"psn_cash_pay"`
	HospPartAmt         float64 `gorm:"column:hosp_part_amt" json:"hosp_part_amt" form:"hosp_part_amt"`
	Balc                float64 `gorm:"column:balc" json:"balc" form:"balc"`
	AcctMulaidPay       float64 `gorm:"column:acct_mulaid_pay" json:"acct_mulaid_pay" form:"acct_mulaid_pay"`
	MedinsSetlId        string  `gorm:"column:medins_setl_id" json:"medins_setl_id" form:"medins_setl_id"`
	ClrOptins           string  `gorm:"column:clr_optins" json:"clr_optins" form:"clr_optins"`
	ClrWay              string  `gorm:"column:clr_way" json:"clr_way" form:"clr_way"`
	ClrType             string  `gorm:"column:clr_type" json:"clr_type" form:"clr_type"`
	SetlDetail          string  `gorm:"column:setl_detail" json:"setl_detail" form:"setl_detail"`
	IsMedicineInsurance int64   `gorm:"column:is_medicine_insurance" json:"is_medicine_insurance" form:"is_medicine_insurance"`
	PType               int64   `gorm:"column:p_type" json:"p_type" form:"p_type"`
	SettleType          int64   `gorm:"column:settle_type" json:"settle_type" form:"settle_type"`
	SettleStartTime     int64   `gorm:"column:settle_start_time" json:"settle_start_time" form:"settle_start_time"`
	SettleEndTime       int64   `gorm:"column:settle_end_time" json:"settle_end_time" form:"settle_end_time"`
	IsPre               int64   `gorm:"column:is_pre" json:"is_pre" form:"is_pre"`
}

func (HisChargeSettleOrder) TableName() string {
	return "his_order"
}

type HisChargeProject struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	ProjectName string `gorm:"column:project_name" json:"project_name" form:"project_name"`
	Unit        string `gorm:"column:unit" json:"unit" form:"unit"`
}

func (HisChargeProject) TableName() string {
	return "xt_his_project"
}

type HisChargeGoodInfo struct {
	ID                 int64  `gorm:"column:id" json:"id" form:"id"`
	GoodName           string `gorm:"column:good_name" json:"good_name" form:"good_name"`
	GoodUnit           int64  `gorm:"column:good_unit" json:"good_unit"`
	SpecificationnName string `gorm:"column:specification_name" json:"specification_name" form:"specification_name"`
	RegisterNumber     string `gorm:"column:register_number" json:"register_number" form:"register_number"`
}

func (HisChargeGoodInfo) TableName() string {
	return "xt_good_information"
}

type HisLabelPrintInfo struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	PatientId   int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	Number      string `gorm:"column:number" json:"number" form:"number"`
	Ctime       int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime       int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
	DoctorId    int64  `gorm:"column:doctor_id" json:"doctor_id" form:"doctor_id"`
	Status      int64  `gorm:"column:status" json:"status" form:"status"`
	ProjectName string `gorm:"column:project_name" json:"project_name" form:"project_name"`
	ProjectId   int64  `gorm:"column:project_id" json:"project_id" form:"project_id"`
	IsPrint     int64  `gorm:"column:is_print" json:"is_print" form:"is_print"`
	RecordDate  int64  `gorm:"column:record_date" json:"record_date" form:"record_date"`
	ItemId      int64  `gorm:"column:item_id" json:"item_id" form:"item_id"`
	UserOrgId   int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	PProjectId  int64  `gorm:"column:p_project_id" json:"p_project_id" form:"p_project_id"`

	FeedetlSn   string `gorm:"column:feedetl_sn" json:"feedetl_sn" form:"feedetl_sn"`
	DoctorName  string `gorm:"column:doctor_name" json:"doctor_name" form:"doctor_name"`
	PatientName string `gorm:"column:patient_name" json:"patient_name" form:"patient_name"`
}

func (HisLabelPrintInfo) TableName() string {
	return "his_label_print_info"
}

type HisFapiaoRecord struct {
	ID           int64  `gorm:"column:id" json:"id" form:"id"`
	FapiaoCode   string `gorm:"column:fapiao_code" json:"fapiao_code" form:"fapiao_code"`
	FapiaoNumber string `gorm:"column:fapiao_number" json:"fapiao_number" form:"fapiao_number"`
	IsUse        int64  `gorm:"column:is_use" json:"is_use" form:"is_use"`
	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"`
}

func (HisFapiaoRecord) TableName() string {
	return "his_fapiao_record"
}

type GdybPsnNcdsRecord 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"`
	PatientId     int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	PsnNo         string `gorm:"column:psn_no" json:"psn_no" form:"psn_no"`
	Ctime         int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
	Mtime         int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
	Status        int64  `gorm:"column:status" json:"status" form:"status"`
	IsCancel      int64  `gorm:"column:is_cancel" json:"is_cancel" form:"is_cancel"`
	TrtDclaDetlSn string `gorm:"column:trt_dcla_detl_sn" json:"trt_dcla_detl_sn" form:"trt_dcla_detl_sn"`
	DoctorId      int64  `gorm:"column:doctor_id" json:"doctor_id" form:"doctor_id"`
	DepartmentId  int64  `gorm:"column:department_id" json:"department_id" form:"department_id"`
	Insutype      string `gorm:"column:insutype" json:"insutype" form:"insutype"`
	SickType      int64  `gorm:"column:sick_type" json:"sick_type" form:"sick_type"`
	OrgName       string `gorm:"column:org_name" json:"org_name" form:"org_name"`
}

func (GdybPsnNcdsRecord) TableName() string {
	return "gdyb_psn_ncds_record"
}
