package statistics_service

type VMDialysisPrescription 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"`
	Anticoagulant              int64   `gorm:"column:anticoagulant" json:"anticoagulant"`
	ModeId                     int64   `gorm:"column:mode_id" json:"mode_id"`
	DialysisDuration           float64 `gorm:"column:dialysis_duration" json:"dialysis_duration"`
	Kalium                     float64 `gorm:"column:kalium" json:"kalium"`
	Sodium                     float64 `gorm:"column:sodium" json:"sodium"`
	Calcium                    float64 `gorm:"column:calcium" json:"calcium"`
	Status                     int64   `gorm:"column:status" json:"status"`
	RecordDate                 int64   `gorm:"column:record_date" json:"record_date"`
	DialysisDurationHour       int64   `gorm:"column:dialysis_duration_hour" json:"dialysis_duration_hour"`
	DialysisDurationMinute     int64   `gorm:"column:dialysis_duration_minute" json:"dialysis_duration_minute"`
	TargetUltrafiltration      float64 `gorm:"column:target_ultrafiltration" json:"target_ultrafiltration"`
	DialyzerPerfusionApparatus string  `gorm:"column:dialyzer_perfusion_apparatus" json:"dialyzer_perfusion_apparatus"`
	AnticoagulantStopTimeMin   int64   `gorm:"column:anticoagulant_stop_time_min" json:"anticoagulant_stop_time_min" form:"anticoagulant_stop_time_min"`
	AnticoagulantStopTimeHour  int64   `gorm:"column:anticoagulant_stop_time_hour" json:"anticoagulant_stop_time_hour" form:"anticoagulant_stop_time_hour"`

	HemodialysisPipelines      string  `gorm:"column:hemodialysis_pipelines" json:"hemodialysis_pipelines" form:"hemodialysis_pipelines"`
	HemodialysisPipelinesCount float64 `gorm:"column:hemodialysis_pipelines_count" json:"hemodialysis_pipelines_count" form:"hemodialysis_pipelines_count"`
	PunctureNeedle             string  `gorm:"column:puncture_needle" json:"puncture_needle" form:"puncture_needle"`
	PunctureNeedleCount        float64 `gorm:"column:puncture_needle_count" json:"puncture_needle_count" form:"puncture_needle_count"`
	Epo                        string  `gorm:"column:epo" json:"epo" form:"epo"`
	EpoCount                   float64 `gorm:"column:epo_count" json:"epo_count" form:"epo_count"`
}

func (VMDialysisPrescription) TableName() string {
	return "xt_dialysis_prescription"
}

type VMPredialysisEvaluation 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"`
	AssessmentDate            int64                     `gorm:"column:assessment_date" json:"assessment_date"`
	PulseFrequency            float64                   `gorm:"column:pulse_frequency" json:"pulse_frequency"`
	SystolicBloodPressure     float64                   `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure"`
	DiastolicBloodPressure    float64                   `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure"`
	DryWeight                 float64                   `gorm:"column:dry_weight" json:"dry_weight"`
	WeighingBefore            float64                   `gorm:"column:weighing_before" json:"weighing_before"`
	WeightBefore              float64                   `gorm:"column:weight_before" json:"weight_before"`
	BloodAccessPartId         string                    `gorm:"column:blood_access_part_id" json:"blood_access_part_id"`
	VMAssessmentAfterDislysis VMAssessmentAfterDislysis `gorm:"ForeignKey:PatientId,AssessmentDate;AssociationForeignKey:PatientId,AssessmentDate" json:"after"`
	VMPatients                VMPatients                `gorm:"ForeignKey:ID;AssociationForeignKey:PatientId" json:"patient"`
	LastAfterWeight           float64                   `gorm:"-" json:"last_after_weight"`
}

func (VMPredialysisEvaluation) TableName() string {
	return "xt_assessment_before_dislysis"
}

type VMAssessmentAfterDislysis 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"`
	AssessmentDate         int64   `gorm:"column:assessment_date" json:"assessment_date"`
	PulseFrequency         float64 `gorm:"column:pulse_frequency" json:"pulse_frequency"`
	SystolicBloodPressure  float64 `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure"`
	DiastolicBloodPressure float64 `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure"`
	ActualUltrafiltration  float64 `gorm:"column:actual_ultrafiltration" json:"actual_ultrafiltration"`
	WeighingWay            string  `gorm:"column:weighing_way" json:"weighing_way"`
	WeightAfter            float64 `gorm:"column:weight_after" json:"weight_after"`
}

func (VMAssessmentAfterDislysis) TableName() string {
	return "xt_assessment_after_dislysis"
}

type VMPatients 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"`
}

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

type VMSchedule struct {
	UserOrgId                 int64                     `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
	BedId                     int64                     `gorm:"column:bed_id" json:"bed_id" form:"bed_id"`
	ScheduleDate              int64                     `gorm:"column:schedule_date" json:"schedule_date" form:"schedule_date"`
	PatientId                 int64                     `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
	Status                    int64                     `gorm:"column:status" json:"status" form:"status"`
	VMPredialysisEvaluation   VMPredialysisEvaluation   `gorm:"ForeignKey:AssessmentDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"before"`
	VMAssessmentAfterDislysis VMAssessmentAfterDislysis `gorm:"ForeignKey:AssessmentDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"after"`
	VMMinMonitoringRecord     VMMonitoringRecord        `gorm:"ForeignKey:MonitoringDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"min_monitor"`
	VMMaxMonitoringRecord     VMMonitoringRecord        `gorm:"ForeignKey:MonitoringDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"max_monitor"`
	VMPatients                VMPatients                `gorm:"ForeignKey:ID;AssociationForeignKey:PatientId" json:"patient"`
}

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

type VMMonitoringRecord 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"`
	MonitoringDate         int64   `gorm:"column:monitoring_date" json:"monitoring_date" form:"monitoring_date"`
	MonitoringTime         string  `gorm:"column:monitoring_time" json:"monitoring_time" form:"monitoring_time"`
	SystolicBloodPressure  float64 `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure" form:"systolic_blood_pressure"`
	DiastolicBloodPressure float64 `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure" form:"diastolic_blood_pressure"`
	Status                 int64   `gorm:"column:status" json:"status" form:"status"`
	OperateTime            int64   `gorm:"column:operate_time" json:"operate_time" form:"operate_time"`
	PulseFrequency         float64 `gorm:"column:pulse_frequency" json:"pulse_frequency"`
	BreathingRate          float64 `gorm:"column:breathing_rate" json:"breathing_rate"`
	Temperature            float64 `gorm:"column:temperature" json:"temperature"`
	BloodFlowVolume        float64 `gorm:"column:blood_flow_volume" json:"blood_flow_volume"`
	VenousPressure         float64 `gorm:"column:venous_pressure" json:"venous_pressure"`
	ArterialPressure       float64 `gorm:"column:arterial_pressure" json:"arterial_pressure"`
	TransmembranePressure  float64 `gorm:"column:transmembrane_pressure" json:"transmembrane_pressure"`
	DialysateTemperature   float64 `gorm:"column:dialysate_temperature" json:"dialysate_temperature"`
	UltrafiltrationRate    float64 `gorm:"column:ultrafiltration_rate" json:"ultrafiltration_rate"`
	UltrafiltrationVolume  float64 `gorm:"column:ultrafiltration_volume" json:"ultrafiltration_volume"`
}

func (VMMonitoringRecord) TableName() string {
	return "xt_monitoring_record"
}

type VMUserAdminRole struct {
	ID          int64  `gorm:"column:id" json:"id" form:"id"`
	AdminUserId int64  `gorm:"column:admin_user_id" json:"admin_user_id" form:"admin_user_id"`
	OrgId       int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
	UserName    string `gorm:"column:user_name" json:"user_name" form:"user_name"`

	PCount      int64 `gorm:"-" json:"p_count"`
	CourseCount int64 `gorm:"-" json:"course_count" `
	RescueCount int64 `gorm:"-" json:"rescue_count" `

	PunctureCount       int64 `gorm:"-" json:"puncture_count" `
	ChangemedicineCount int64 `gorm:"-" json:"change_medicine_count" `
	CureCount           int64 `gorm:"-" json:"cure_count" `
	MissionCount        int64 `gorm:"-" json:"mission_count" `

	PRatio      string `gorm:"-" json:"p_ratio"`
	CourseRatio string `gorm:"-" json:"course_ratio" `
	RescueRatio string `gorm:"-" json:"rescue_ratio" `

	PunctureRatio       string `gorm:"-" json:"puncture_ratio" `
	ChangemedicineRatio string `gorm:"-" json:"change_medicine_ratio" `
	CureRatio           string `gorm:"-" json:"cure_ratio" `
	MissionRatio        string `gorm:"-" json:"mission_ratio" `
}

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

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 QualityControlStandard struct {
	ID              int64  `gorm:"column:id" json:"id" form:"id"`
	InspectionMajor int64  `gorm:"column:inspection_major" json:"inspection_major" form:"inspection_major"`
	InspectionMinor int64  `gorm:"column:inspection_minor" json:"inspection_minor" form:"inspection_minor"`
	MinRange        string `gorm:"column:min_range" json:"min_range" form:"min_range"`
	LargeRange      string `gorm:"column:large_range" json:"large_range" form:"large_range"`
	Sort            int64  `gorm:"column:sort" json:"sort" form:"sort"`
	UserOrgId       int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_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"`
}

func (QualityControlStandard) TableName() string {
	return "xt_quality_control_standard"
}
