|
@@ -1,29 +1,230 @@
|
|
|
package com.coffee.bus.service.dto;
|
|
package com.coffee.bus.service.dto;
|
|
|
|
|
|
|
|
-import com.coffee.bus.entity.BusClinicEntity;
|
|
|
|
|
-import com.coffee.bus.entity.BusDeviceManualEntity;
|
|
|
|
|
-import com.coffee.bus.entity.BusInfusionHistoryEntity;
|
|
|
|
|
-import com.coffee.bus.entity.BusPatientEntity;
|
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import com.coffee.bus.enums.*;
|
|
|
|
|
+import com.coffee.common.enums.SexEnum;
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
|
import io.swagger.annotations.ApiModel;
|
|
import io.swagger.annotations.ApiModel;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
import lombok.Data;
|
|
import lombok.Data;
|
|
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author lifang
|
|
* @author lifang
|
|
|
* @version 1.0.0
|
|
* @version 1.0.0
|
|
|
* @ClassName PatientMonitorResult.java
|
|
* @ClassName PatientMonitorResult.java
|
|
|
* @Description TODO
|
|
* @Description TODO
|
|
|
- * @createTime 2022年04月23日 11:39:00
|
|
|
|
|
|
|
+ * @createTime 2022年04月21日 15:57:00
|
|
|
*/
|
|
*/
|
|
|
-@ApiModel("病人监控信息返回结果")
|
|
|
|
|
|
|
+@ApiModel("病人监控实体")
|
|
|
@Data
|
|
@Data
|
|
|
public class PatientMonitorResult {
|
|
public class PatientMonitorResult {
|
|
|
- @ApiModelProperty("病人信息")
|
|
|
|
|
- private BusPatientEntity patient;
|
|
|
|
|
- @ApiModelProperty("最后输注信息")
|
|
|
|
|
- private BusInfusionHistoryEntity infusion;
|
|
|
|
|
- @ApiModelProperty("手术信息")
|
|
|
|
|
- private BusClinicEntity clinic;
|
|
|
|
|
- @ApiModelProperty("无泵时查看")
|
|
|
|
|
- private BusDeviceManualEntity deviceManual;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ @ApiModelProperty(value = "病号")
|
|
|
|
|
+ private String patientCode;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "病人名称")
|
|
|
|
|
+ private String patientName;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "性别")
|
|
|
|
|
+ private SexEnum gender;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "病人报警信息",example = "泵重复,无泵")
|
|
|
|
|
+ private PatientAlarmEnum patientAlarm;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "设备id")
|
|
|
|
|
+ private String deviceId;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "泵别名")
|
|
|
|
|
+ private String deviceAlias;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "临床号")
|
|
|
|
|
+ private String clinicId;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "病区")
|
|
|
|
|
+ private String ward;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "床号")
|
|
|
|
|
+ private String bedNo;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "总量")
|
|
|
|
|
+ private Integer totalDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-首次量")
|
|
|
|
|
+ private Integer firstDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-电量",readOnly = true)
|
|
|
|
|
+ private Integer electricQuantity;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-剩余量")
|
|
|
|
|
+ private BigDecimal remainDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-已输入量")
|
|
|
|
|
+ private BigDecimal inputDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-追加量")
|
|
|
|
|
+ private BigDecimal appendDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-追加锁时")
|
|
|
|
|
+ private BigDecimal appendLockTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-极限量")
|
|
|
|
|
+ private BigDecimal maxDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-自控锁时")
|
|
|
|
|
+ private BigDecimal selfControlLockTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-自控次数")
|
|
|
|
|
+ private BigDecimal selfControlCount;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-pca有效次数")
|
|
|
|
|
+ private Integer pcaValidCount;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-pca无效次数")
|
|
|
|
|
+ private Integer pcaInvalidCount;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "公共参数-pca总按次数")
|
|
|
|
|
+ private Integer pcaTotalCount;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "持续泵参数-持续量")
|
|
|
|
|
+ private BigDecimal continueDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "脉冲泵参数-脉冲量")
|
|
|
|
|
+ private Integer pulseDose;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "脉冲泵参数-脉冲锁时")
|
|
|
|
|
+ private Integer pulseLockTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "脉冲泵参数-脉冲首次锁时")
|
|
|
|
|
+ private Integer pulseFirstLockTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-加档周期")
|
|
|
|
|
+ private BigDecimal flowUpCycle;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-减档周期")
|
|
|
|
|
+ private BigDecimal flowDownCycle;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-计次")
|
|
|
|
|
+ private BigDecimal flowCount;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-上限")
|
|
|
|
|
+ private BigDecimal flowUpLimit;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-下限")
|
|
|
|
|
+ private BigDecimal flowDownLimit;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "智能泵参数-自调比例")
|
|
|
|
|
+ private BigDecimal flowAdjustRate;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "泵运行状态")
|
|
|
|
|
+ private DeviceStatusEnum deviceRunState;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "报警信息")
|
|
|
|
|
+ private DeviceAlarmEnum deviceAlarm;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "输注开始时间,即本次运行开机时间")
|
|
|
|
|
+ private Date infusionStartTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "备注")
|
|
|
|
|
+ private String remark;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "泵类型")
|
|
|
|
|
+ private DeviceTypeEnum deviceType;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "麻醉医生")
|
|
|
|
|
+ private String anaDoctor;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "麻醉方式")
|
|
|
|
|
+ private String anaType;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "镇痛方式")
|
|
|
|
|
+ private String analType;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "手术医生")
|
|
|
|
|
+ private String surgeryDoctor;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "手术名称")
|
|
|
|
|
+ private String surgeryName;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "当前病人是否已结束临床,根据此参数+监护开始时间计算总监护时间",
|
|
|
|
|
+ notes = "false:监护时长=当前时间-监护开始时间 ,true:监护时长=监护结束时间-监护开始时间")
|
|
|
|
|
+ private Boolean clinicFinished;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty("当前病人监护结束时间")
|
|
|
|
|
+ private Date monitorEndTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty("当前病人监护开始时间")
|
|
|
|
|
+ private Date monitorStartTime;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "输注即将结束提醒",hidden = true)
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ private Boolean warnWillFinished;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "镇痛不足提醒",hidden = true)
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ private Boolean warnAnalgesicPoor;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "电量偏低提醒",hidden = true)
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ private Boolean warnLowBattery;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty(value = "加减档提示",readOnly = true)
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ private FlowStatusEnum warnFlow;
|
|
|
|
|
+
|
|
|
|
|
+ @ApiModelProperty("提醒字段")
|
|
|
|
|
+ private String warns;
|
|
|
|
|
+
|
|
|
|
|
+ private void judgeWarnWillFinished() {
|
|
|
|
|
+ if(!Boolean.TRUE.equals(this.warnWillFinished)){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isEmpty(this.warns)) {
|
|
|
|
|
+ this.warns="输注即将结束;";
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.warns=this.warns+"输注即将结束;";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void judgeWarnAnalgesicPoor() {
|
|
|
|
|
+ if(!Boolean.TRUE.equals(this.warnAnalgesicPoor)){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isEmpty(this.warns)) {
|
|
|
|
|
+ this.warns="镇痛不足;";
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.warns=this.warns+"镇痛不足;";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void judgeWarnLowBattery() {
|
|
|
|
|
+ if(!Boolean.TRUE.equals(this.warnLowBattery)){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isEmpty(this.warns)) {
|
|
|
|
|
+ this.warns="电量偏低;";
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.warns=this.warns+"电量偏低;";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void judgeWarnFlow() {
|
|
|
|
|
+ if(this.warnFlow==null){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isEmpty(this.warns)) {
|
|
|
|
|
+ this.warns=warnFlow.getText()+";";
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.warns=this.warns+warnFlow.getText()+";";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void handleWarn(){
|
|
|
|
|
+ judgeWarnAnalgesicPoor();
|
|
|
|
|
+ judgeWarnFlow();
|
|
|
|
|
+ judgeWarnLowBattery();
|
|
|
|
|
+ judgeWarnWillFinished();
|
|
|
|
|
+ }
|
|
|
|
|
+}
|