Browse Source

Merge branch 'xt_statistics_branch'

csx 4 years ago
parent
commit
8f20a3291d

+ 30 - 0
controllers/new_mobile_api_controllers/index_evaluation_api_controller.go View File

@@ -0,0 +1,30 @@
1
+package new_mobile_api_controllers
2
+
3
+import (
4
+	"XT_New/enums"
5
+	"XT_New/service/statistics_service"
6
+)
7
+
8
+type IndexEvaluationApiController struct {
9
+	NewMobileBaseAPIAuthController
10
+}
11
+
12
+func (this IndexEvaluationApiController) GetDialysisProcessIndexData() {
13
+	adminUserInfo := this.GetAdminUserInfo()
14
+	//statistics_type, _ := this.GetInt64("statistics_type")
15
+	//start_time := this.GetString("start_time")
16
+	//end_time := this.GetString("end_time")
17
+	patinent_id, _ := this.GetInt64("patinent_id")
18
+
19
+	if patinent_id == 0 {
20
+		patientInfo, _ := statistics_service.GetOrgFirstPatientInfo(adminUserInfo.CurrentOrgId)
21
+		if patientInfo == nil {
22
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrgNoPatient)
23
+			return
24
+		}
25
+
26
+	} else {
27
+
28
+	}
29
+
30
+}

+ 8 - 0
controllers/new_mobile_api_controllers/statistics_api_controllers.go View File

@@ -0,0 +1,8 @@
1
+package new_mobile_api_controllers
2
+
3
+import "github.com/astaxie/beego"
4
+
5
+func StatisticsAPIControllersRegisterRouters() {
6
+
7
+	beego.Router("/m/api/dialysisprocess/index", &IndexEvaluationApiController{}, "Get:GetDialysisProcessIndexData")
8
+}

+ 279 - 0
service/statistics_service/index_evaluation_service.go View File

@@ -0,0 +1,279 @@
1
+package statistics_service
2
+
3
+import (
4
+	"XT_New/models"
5
+	"XT_New/service"
6
+	"fmt"
7
+	"github.com/jinzhu/gorm"
8
+	"strconv"
9
+)
10
+
11
+func GetOrgFirstPatientInfo(user_org_id int64) (patient *models.Patients, err error) {
12
+	db := service.XTReadDB()
13
+	var tempPatient models.Patients
14
+	findErr := db.Model(&models.Patients{}).Where("user_org_id = ? AND status = 1 AND lapseto = 1", user_org_id).First(&tempPatient).Error
15
+	if findErr == gorm.ErrRecordNotFound {
16
+		return nil, nil
17
+	}
18
+	if findErr != nil {
19
+		return nil, findErr
20
+	}
21
+	return &tempPatient, nil
22
+}
23
+
24
+type ProcessIndexDataStruct struct {
25
+	Date  string  `json:"date"`
26
+	Value float64 `json:"value"`
27
+}
28
+
29
+func GetDialysisProcessIndexChartData(user_org_id int64, patient_id int64, start_time int64, end_time int64, statistics_type int) (datas []*ProcessIndexDataStruct, err error) {
30
+	db := service.XTReadDB()
31
+	switch statistics_type {
32
+	case 1:
33
+		err = db.Raw("select before.assessment_date as date, before.weighing_before as value from xt_assessment_before_dislysis as before Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
34
+		break
35
+	case 2:
36
+		err = db.Raw("select after.assessment_date as date, after.weight_after as value from xt_assessment_after_dislysis as after Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
37
+
38
+		break
39
+	case 3:
40
+		err = db.Raw("select before.assessment_date as date, before.systolic_blood_pressure as value from xt_assessment_before_dislysis as before Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
41
+
42
+		break
43
+	case 4:
44
+		err = db.Raw("select before.assessment_date as date, before.diastolic_blood_pressure as value from xt_assessment_before_dislysis as before Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
45
+
46
+		break
47
+	case 5:
48
+		err = db.Raw("select before.assessment_date as date, before.pulse_frequency as value from xt_assessment_before_dislysis as before Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
49
+
50
+		break
51
+	case 6:
52
+		err = db.Raw("select after.assessment_date as date, after.systolic_blood_pressure as value from xt_assessment_after_dislysis as after Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
53
+		break
54
+	case 7:
55
+		err = db.Raw("select after.assessment_date as date, after.diastolic_blood_pressure as value from xt_assessment_after_dislysis as after Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
56
+
57
+		break
58
+	case 8:
59
+		err = db.Raw("select after.assessment_date as date, after.pulse_frequency as value from xt_assessment_after_dislysis as after Where status = 1 AND user_org_id = ? AND patient_id = ?  created_time <= ? AND  created_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
60
+		break
61
+
62
+	}
63
+	if err != nil {
64
+		return nil, err
65
+	}
66
+	return datas, nil
67
+
68
+}
69
+
70
+type otherItemAmount struct {
71
+	Total int64   `json:"total"`
72
+	Name  string  `json:"name"`
73
+	Ratio float32 `json:"ratio"`
74
+}
75
+
76
+func GetDialysisProcessIndexOtherChartData(user_org_id int64, patient_id int64, start_time int64, end_time int64, statistics_type int) (item []*otherItemAmount, err error) {
77
+	db := service.XTReadDB()
78
+	var items []*otherItemAmount
79
+	var tempErr error
80
+	var total int64
81
+	switch statistics_type {
82
+	case 9:
83
+		tempErr = db.Table("xt_dialysis_prescription as p").Where("p.user_org_id=? and p.status=1 and  p.created_time >= ? and p.created_time <= ? AND p.patient_id = ? ", user_org_id, start_time, end_time, patient_id).
84
+			Select("CASE WHEN p.mode == 1 THEN 'HD'" +
85
+				" WHEN p.mode == 2 THEN 'HDF'" +
86
+				" WHEN p.mode == 3 THEN 'HD+HP'" +
87
+				" WHEN p.mode == 4 THEN 'HP'" +
88
+				" WHEN p.mode == 5 THEN 'HF'" +
89
+				" WHEN p.mode == 6 THEN 'SCUF'" +
90
+				" WHEN p.mode == 7 THEN 'IUF'" +
91
+				" WHEN p.mode == 8 THEN 'HFHD'" +
92
+				" WHEN p.mode == 9 THEN 'HFHD+HP'" +
93
+				" WHEN p.mode == 10 THEN 'PHF'" +
94
+				" WHEN p.mode == 11 THEN 'HFR'" +
95
+				" WHEN p.mode == 12 THEN 'HDF+HP'" +
96
+				" WHEN p.mode == 13 THEN 'CRRT'" +
97
+				" WHEN p.mode == 14 THEN '腹水回输'" +
98
+				" WHEN p.mode == 19 THEN 'IUF+HD'" +
99
+				" ELSE '未知' END AS name, COUNT(*) AS total",
100
+			).Group("p.mode").Scan(&items).Error
101
+
102
+		break
103
+	case 10:
104
+		config, _ := GetAnticoagulantData(user_org_id)
105
+		selectContent := "CASE"
106
+		for _, item := range config {
107
+			selectContent = selectContent + " WHERE p.anticoagulant ==" + strconv.Itoa(item.Value) + " THEN " + item.Name
108
+
109
+		}
110
+		fmt.Println(selectContent)
111
+		tempErr = db.Table("xt_dialysis_prescription as p").Where("p.user_org_id=? and p.status=1 and  p.created_time >= ? and p.created_time <= ? AND p.patient_id = ? ", user_org_id, start_time, end_time, patient_id).
112
+			Select(selectContent +
113
+				" ELSE '未知' END AS name, COUNT(*) AS total",
114
+			).Group("p.mode").Scan(&items).Error
115
+
116
+		break
117
+	}
118
+
119
+	db.Table("xt_dialysis_prescription").Where("p.user_org_id=? AND p.status = 1 AND p.patient_id = ? AND p.created_time >= ? and p.created_time <= ? ", user_org_id, patient_id, start_time, end_time).Count(&total)
120
+	for _, item := range items {
121
+		item.Ratio = float32(item.Total/total) * 100
122
+	}
123
+	if tempErr != nil {
124
+
125
+		return nil, err
126
+	}
127
+	return items, nil
128
+}
129
+
130
+type PatientDialysisRecord struct {
131
+	models.DialysisOrder
132
+	DeviceNumber            string                         `gorm:"-" json:"device_number" form:"device_number"`
133
+	DialysisPrescription    VMDialysisPrescription         `json:"prescription" gorm:"foreignkey:RecordDate;AssociationForeignKey:DialysisDate;"`
134
+	PredialysisEvaluation   VMPredialysisEvaluation        `json:"predialysis_evaluation" gorm:"foreignkey:AssessmentDate;AssociationForeignKey:DialysisDate;"`
135
+	AssessmentAfterDislysis models.AssessmentAfterDislysis `json:"assessment_after_dislysis" gorm:"foreignkey:AssessmentDate;AssociationForeignKey:DialysisDate;"`
136
+}
137
+
138
+func GetDialysisProcessIndexTableData(orgID, patientID int64, page, limit, start, end int64) ([]*PatientDialysisRecord, int64, error) {
139
+	offset := (page - 1) * limit
140
+	var total int64
141
+	var err error
142
+	var orders []*PatientDialysisRecord
143
+	readDb := service.XTReadDB()
144
+	db := readDb.Table("xt_dialysis_order as do").
145
+		Preload("DialysisPrescription", "patient_id=? and user_org_id=? and status=1", patientID, orgID).
146
+		Preload("PredialysisEvaluation", "patient_id=? and user_org_id=? and status=1", patientID, orgID).
147
+		Preload("AssessmentAfterDislysis", "patient_id=? and user_org_id=? and status=1", patientID, orgID).
148
+		Joins("JOIN xt_schedule as s ON s.patient_id=? and FROM_UNIXTIME(s.schedule_date, '%Y-%m-%d')=FROM_UNIXTIME(do.dialysis_date, '%Y-%m-%d')", patientID).
149
+		Joins("JOIN xt_device_number as dm ON dm.org_id = ? and dm.id= do.bed_id", orgID).
150
+		Where("do.patient_id=? and do.user_org_id=? and do.stage = 2 and do.status=1", patientID, orgID).Group("s.schedule_date")
151
+	if start != 0 {
152
+		db = db.Where("do.dialysis_date>=?", start)
153
+	}
154
+	if end != 0 {
155
+		db = db.Where("do.dialysis_date<=?", end)
156
+	}
157
+	err = db.Count(&total).Offset(offset).Limit(limit).Order("do.dialysis_date desc").Select(" do.id, do.dialysis_date, do.stage , dm.name as device_number").Find(&orders).Error
158
+	return orders, total, err
159
+}
160
+
161
+func GetAnticoagulantData(user_org_id int64) (config []*models.Dataconfig, tempErr error) {
162
+	var tempDataConfig []*models.Dataconfig
163
+	var tempConfig models.Dataconfig
164
+	db := service.XTReadDB()
165
+	db.Model(&models.Dataconfig{}).Where("name = 抗凝剂 AND field_name = anticoagulant AND parent_id = 0").First(&tempConfig)
166
+	err := db.Model(&models.Dataconfig{}).Where("(org_id = 0 OR org_id = ?) AND parent_id = ?", user_org_id, tempConfig.ID).Find(&tempDataConfig).Error
167
+	return tempDataConfig, err
168
+}
169
+
170
+//透析监测模块
171
+func GetDialysisWatchChartData(user_org_id int64, patient_id int64, start_time int64, end_time int64, statistics_type int) (datas []*ProcessIndexDataStruct, err error) {
172
+	db := service.XTReadDB()
173
+	switch statistics_type {
174
+	case 1:
175
+		err = db.Raw("select monitor.operate_time as date, monitor.systolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
176
+		break
177
+	case 2:
178
+		err = db.Raw("select monitor.operate_time as date, monitor.diastolic_blood_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
179
+		break
180
+	case 3:
181
+		err = db.Raw("select monitor.operate_time as date, monitor.pulse_frequency as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
182
+		break
183
+	case 4:
184
+		err = db.Raw("select monitor.operate_time as date, monitor.breathing_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
185
+		break
186
+	case 5:
187
+		err = db.Raw("select monitor.operate_time as date, monitor.temperature as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
188
+		break
189
+	case 6:
190
+		err = db.Raw("select monitor.operate_time as date, monitor.blood_flow_volume as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
191
+		break
192
+	case 7:
193
+		err = db.Raw("select monitor.operate_time as date, monitor.venous_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
194
+		break
195
+	case 8:
196
+		err = db.Raw("select monitor.operate_time as date, monitor.arterial_pressure as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
197
+		break
198
+	case 9:
199
+		err = db.Raw("select monitor.operate_time as date, monitor.ultrafiltration_rate as value from xt_monitoring_record as monitor Where status = 1 AND user_org_id = ? AND patient_id = ?  operate_time <= ? AND  operate_time >= ? ", user_org_id, patient_id, end_time, start_time).Scan(&datas).Error
200
+		break
201
+	}
202
+	if err != nil {
203
+		return nil, err
204
+	}
205
+	return datas, nil
206
+
207
+}
208
+func GetDialysisWatchTableData(orgID, patientID int64, page, limit, start, end int64) ([]*models.MonitoringRecord, int64, error) {
209
+	offset := (page - 1) * limit
210
+	var total int64
211
+	var err error
212
+	var orders []*models.MonitoringRecord
213
+	readDb := service.XTReadDB()
214
+	db := readDb.Table("xt_monitoring_record as mo").
215
+		Where("mo.patient_id=? and mo.user_org_id=?  and mo.status=1", patientID, orgID)
216
+	if start != 0 {
217
+		db = db.Where("mo.operate_time>=?", start)
218
+	}
219
+	if end != 0 {
220
+		db = db.Where("mo.operate_time<=?", end)
221
+	}
222
+	err = db.Count(&total).Offset(offset).Limit(limit).Order("mo.operate_time desc").Select("mo.systolic_blood_pressure, mo.diastolic_blood_pressure, mo.pulse_frequency,mo.breathing_rate,mo.temperature,mo.blood_flow_volume,mo.venous_pressure,mo.arterial_pressure,mo.transmembrane_pressure,mo.dialysate_temperature,mo.ultrafiltration_rate,mo.ultrafiltration_volume").Find(&orders).Error
223
+	return orders, total, err
224
+}
225
+
226
+//患者体重统计
227
+
228
+func GetPatientWeightChartData(user_org_id int64, patient_id int64, start_time int64, end_time int64, statistics_type int) (item []*otherItemAmount, err error) {
229
+	db := service.XTReadDB()
230
+	var items []*otherItemAmount
231
+	var tempErr error
232
+	//var total int64
233
+	switch statistics_type {
234
+	case 1:
235
+		tempErr = db.Table("xt_assessment_before_dislysis as before").Where("before.user_org_id=? and before.status=1 and  before.created_time >= ? and before.created_time <= ?", user_org_id, start_time, end_time).
236
+			Select("CASE WHEN before.dry_weight < 40 THEN '小于40kg'" +
237
+				" WHEN before.dry_weight >= 40 AND before.dry_weight < 50 THEN '40~50kg'" +
238
+				" WHEN before.dry_weight >= 50 AND before.dry_weight < 60 THEN '50~60kg'" +
239
+				" WHEN before.dry_weight >= 60 AND before.dry_weight < 70 THEN '60~70kg'" +
240
+				" WHEN before.dry_weight >= 70 THEN '大于70kg'" +
241
+				" ELSE '未知' END AS name, COUNT(*) AS total",
242
+			).Scan(&items).Error
243
+
244
+		break
245
+	case 2:
246
+		tempErr = db.Table("xt_assessment_before_dislysis as before").Where("before.user_org_id=? and before.status=1 and  before.created_time >= ? and before.created_time <= ?", user_org_id, start_time, end_time).
247
+			Select("CASE WHEN before.weighing_before < 40 THEN '小于40kg'" +
248
+				" WHEN before.weighing_before >= 40 AND before.weighing_before < 50 THEN '40~50kg'" +
249
+				" WHEN before.weighing_before >= 50 AND before.weighing_before < 60 THEN '50~60kg'" +
250
+				" WHEN before.weighing_before >= 60 AND before.weighing_before < 70 THEN '60~70kg'" +
251
+				" WHEN before.weighing_before >= 70 THEN '大于70kg'" +
252
+				" ELSE '未知' END AS name, COUNT(*) AS total",
253
+			).Scan(&items).Error
254
+		break
255
+	case 3:
256
+
257
+		break
258
+	case 4:
259
+		tempErr = db.Table("xt_assessment_after_dislysis as after").Where("after.user_org_id=? and after.status=1 and  after.created_time >= ? and after.created_time <= ?", user_org_id, start_time, end_time).
260
+			Select("CASE WHEN after.weight_after < 40 THEN '小于40kg'" +
261
+				" WHEN after.weight_after >= 40 AND after.weight_after < 50 THEN '40~50kg'" +
262
+				" WHEN after.weight_after >= 50 AND after.weight_after < 60 THEN '50~60kg'" +
263
+				" WHEN after.weight_after >= 60 AND after.weight_after < 70 THEN '60~70kg'" +
264
+				" WHEN after.weight_after >= 70 THEN '大于70kg'" +
265
+				" ELSE '未知' END AS name, COUNT(*) AS total",
266
+			).Scan(&items).Error
267
+		break
268
+	}
269
+
270
+	//db.Table("xt_dialysis_prescription").Where("p.user_org_id=? AND p.status = 1 AND p.patient_id = ? AND p.created_time >= ? and p.created_time <= ? ", user_org_id, patient_id,start_time,end_time).Count(&total)
271
+	//for _, item := range items{
272
+	//	item.Ratio = float32(item.Total / total) * 100
273
+	//}
274
+	if tempErr != nil {
275
+
276
+		return nil, err
277
+	}
278
+	return items, nil
279
+}

+ 58 - 0
service/statistics_service/index_models.go View File

@@ -0,0 +1,58 @@
1
+package statistics_service
2
+
3
+type VMDialysisPrescription struct {
4
+	ID                         int64   `gorm:"column:id" json:"id"`
5
+	UserOrgId                  int64   `gorm:"column:user_org_id" json:"user_org_id"`
6
+	PatientId                  int64   `gorm:"column:patient_id" json:"patient_id"`
7
+	Anticoagulant              int64   `gorm:"column:anticoagulant" json:"anticoagulant"`
8
+	ModeId                     int64   `gorm:"column:mode_id" json:"mode_id"`
9
+	DialysisDuration           float64 `gorm:"column:dialysis_duration" json:"dialysis_duration"`
10
+	Kalium                     float64 `gorm:"column:kalium" json:"kalium"`
11
+	Sodium                     float64 `gorm:"column:sodium" json:"sodium"`
12
+	Calcium                    float64 `gorm:"column:calcium" json:"calcium"`
13
+	Status                     int64   `gorm:"column:status" json:"status"`
14
+	RecordDate                 int64   `gorm:"column:record_date" json:"record_date"`
15
+	DialysisDurationHour       int64   `gorm:"column:dialysis_duration_hour" json:"dialysis_duration_hour"`
16
+	DialysisDurationMinute     int64   `gorm:"column:dialysis_duration_minute" json:"dialysis_duration_minute"`
17
+	TargetUltrafiltration      float64 `gorm:"column:target_ultrafiltration" json:"target_ultrafiltration"`
18
+	DialyzerPerfusionApparatus string  `gorm:"column:dialyzer_perfusion_apparatus" json:"dialyzer_perfusion_apparatus"`
19
+}
20
+
21
+func (VMDialysisPrescription) TableName() string {
22
+	return "xt_dialysis_prescription"
23
+}
24
+
25
+type VMPredialysisEvaluation struct {
26
+	ID                     int64   `gorm:"column:id" json:"id"`
27
+	UserOrgId              int64   `gorm:"column:user_org_id" json:"user_org_id"`
28
+	PatientId              int64   `gorm:"column:patient_id" json:"patient_id"`
29
+	AssessmentDate         int64   `gorm:"column:assessment_date" json:"assessment_date"`
30
+	PulseFrequency         float64 `gorm:"column:pulse_frequency" json:"pulse_frequency"`
31
+	SystolicBloodPressure  float64 `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure"`
32
+	DiastolicBloodPressure float64 `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure"`
33
+	DryWeight              float64 `gorm:"column:dry_weight" json:"dry_weight"`
34
+	WeighingBefore         float64 `gorm:"column:weighing_before" json:"weighing_before"`
35
+	WeightBefore           float64 `gorm:"column:weight_before" json:"weight_before"`
36
+	BloodAccessPartId      int64   `gorm:"column:blood_access_part_id" json:"blood_access_part_id"`
37
+}
38
+
39
+func (VMPredialysisEvaluation) TableName() string {
40
+	return "xt_assessment_before_dislysis"
41
+}
42
+
43
+type VMAssessmentAfterDislysis struct {
44
+	ID                     int64   `gorm:"column:id" json:"id"`
45
+	UserOrgId              int64   `gorm:"column:user_org_id" json:"user_org_id"`
46
+	PatientId              int64   `gorm:"column:patient_id" json:"patient_id"`
47
+	AssessmentDate         int64   `gorm:"column:assessment_date" json:"assessment_date"`
48
+	PulseFrequency         float64 `gorm:"column:pulse_frequency" json:"pulse_frequency"`
49
+	SystolicBloodPressure  float64 `gorm:"column:systolic_blood_pressure" json:"systolic_blood_pressure"`
50
+	DiastolicBloodPressure float64 `gorm:"column:diastolic_blood_pressure" json:"diastolic_blood_pressure"`
51
+	ActualUltrafiltration  float64 `gorm:"column:actual_ultrafiltration" json:"actual_ultrafiltration"`
52
+	WeighingWay            string  `gorm:"column:weighing_way" json:"weighing_way"`
53
+	WeightAfter            float64 `gorm:"column:weight_after" json:"weight_after"`
54
+}
55
+
56
+func (VMAssessmentAfterDislysis) TableName() string {
57
+	return "xt_assessment_after_dislysis"
58
+}