|
|
@@ -0,0 +1,226 @@
|
|
|
+package cn.tr.module.smart.common.dto;
|
|
|
+
|
|
|
+import cn.hutool.core.text.CharSequenceUtil;
|
|
|
+import cn.hutool.core.util.EnumUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.tr.module.smart.common.enums.FlowStatusEnum;
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
+import lombok.Data;
|
|
|
+import lombok.ToString;
|
|
|
+
|
|
|
+import java.io.Serializable;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author lifang
|
|
|
+ * @version 1.0.0
|
|
|
+ * @ClassName PatientMonitorResult.java
|
|
|
+ * @Description TODO
|
|
|
+ * @createTime 2022年04月21日 15:57:00
|
|
|
+ */
|
|
|
+@ApiModel("网络泵输注试题")
|
|
|
+@Data
|
|
|
+@ToString
|
|
|
+public class NbPumpInfusionDTO implements Serializable {
|
|
|
+ @ApiModelProperty("输注id")
|
|
|
+ private String infusionId;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "格式化后的病号")
|
|
|
+ private String patientCode;
|
|
|
+
|
|
|
+ private String classification;
|
|
|
+
|
|
|
+ private Integer dataNum;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "设备id")
|
|
|
+ private String deviceId;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "泵别名")
|
|
|
+ private String deviceAlias;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "总量")
|
|
|
+ private Integer totalDose;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "公共参数-首次量")
|
|
|
+ private Integer firstDose;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "公共参数-电量")
|
|
|
+ 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 String deviceRunState;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "报警信息")
|
|
|
+ private String deviceAlarm;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "输注开始时间,即本次运行开机时间")
|
|
|
+ private Date infusionStartTime;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "输注是否已结束")
|
|
|
+ private Boolean infusionFinished;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "备注")
|
|
|
+ private String remark;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "泵类型")
|
|
|
+ private String 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 = "输注即将结束提醒")
|
|
|
+ private Boolean warnWillFinished;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "镇痛不足提醒")
|
|
|
+ private Boolean warnAnalgesicPoor;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "电量偏低提醒")
|
|
|
+ private Boolean warnLowBattery;
|
|
|
+
|
|
|
+ @ApiModelProperty(value = "加减档提示")
|
|
|
+ private String warnFlow;
|
|
|
+
|
|
|
+ @ApiModelProperty("提醒字段")
|
|
|
+ private String warns;
|
|
|
+
|
|
|
+ @ApiModelProperty("最后上传时间")
|
|
|
+ private Date lastUploadTime;
|
|
|
+ private void judgeWarnWillFinished() {
|
|
|
+ if(!Boolean.TRUE.equals(this.warnWillFinished)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (CharSequenceUtil.isEmpty(this.warns)) {
|
|
|
+ this.warns="输注即将结束;";
|
|
|
+ }else {
|
|
|
+ this.warns=this.warns+"输注即将结束;";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void judgeWarnAnalgesicPoor() {
|
|
|
+ if(!Boolean.TRUE.equals(this.warnAnalgesicPoor)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (CharSequenceUtil.isEmpty(this.warns)) {
|
|
|
+ this.warns="镇痛不足;";
|
|
|
+ }else {
|
|
|
+ this.warns=this.warns+"镇痛不足;";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void judgeWarnLowBattery() {
|
|
|
+ if(!Boolean.TRUE.equals(this.warnLowBattery)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (CharSequenceUtil.isEmpty(this.warns)) {
|
|
|
+ this.warns="电量偏低;";
|
|
|
+ }else {
|
|
|
+ this.warns=this.warns+"电量偏低;";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void judgeWarnFlow() {
|
|
|
+ if(this.warnFlow==null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ FlowStatusEnum flow = EnumUtil.likeValueOf( FlowStatusEnum.class,this.warns);
|
|
|
+ if (ObjectUtil.isNull(flow)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (CharSequenceUtil.isEmpty(this.warns)) {
|
|
|
+ this.warns=flow.getText()+";";
|
|
|
+ }else {
|
|
|
+ this.warns=this.warns+flow.getText()+";";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void handleWarn(){
|
|
|
+ judgeWarnAnalgesicPoor();
|
|
|
+ judgeWarnFlow();
|
|
|
+ judgeWarnLowBattery();
|
|
|
+ judgeWarnWillFinished();
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getWarns() {
|
|
|
+ if (StrUtil.isNotEmpty(warns)) {
|
|
|
+ return warns.endsWith(";")?warns.substring(0,warns.length()-1):warns;
|
|
|
+ }
|
|
|
+ return warns;
|
|
|
+
|
|
|
+ }
|
|
|
+}
|