|
|
@ -1,5 +1,8 @@ |
|
|
|
package com.ccsens.carbasics.util; |
|
|
|
|
|
|
|
import io.swagger.annotations.ApiModelProperty; |
|
|
|
import lombok.Data; |
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
@ -17,6 +20,106 @@ public class Constant { |
|
|
|
/**xls*/ |
|
|
|
public static final String XLS = "xls"; |
|
|
|
|
|
|
|
|
|
|
|
public static final class TimeCheck{ |
|
|
|
public static final Map<String, Map<String, TimeCheckItem>> compareItems = new HashMap<>(); |
|
|
|
static { |
|
|
|
// 到院时间
|
|
|
|
String arriveHospitalTime = "JBXX-DYSJ"; |
|
|
|
// 发病时间
|
|
|
|
String fbTime = "JBXX-FBTime"; |
|
|
|
// 最后正常时间
|
|
|
|
String lastTime = "JBXX-ZHZC"; |
|
|
|
// 住院时间
|
|
|
|
String inHospitalTime = "JBXX-ZYSJ"; |
|
|
|
// 开始静脉溶栓时间
|
|
|
|
String startVeinTime = "JMRSSJ"; |
|
|
|
// 穿刺完成时间
|
|
|
|
String startStabTime = "JRZL-CCSJ"; |
|
|
|
// 首次血管再通时间
|
|
|
|
String startRevascularizationTime = "JRZL-ZCKT"; |
|
|
|
// 手术开始时间
|
|
|
|
String startOperationTime = "ZYZL-KSSJ"; |
|
|
|
// 出院时间
|
|
|
|
String outHospitalTime = "CYQK-CYSJ"; |
|
|
|
// 烟雾病的手术开始时间
|
|
|
|
String startMoyamoyaTime = "TSCX-SSSJ"; |
|
|
|
// AVM治疗时间
|
|
|
|
String avmTime = "TSCX-AVM-ZLSJ"; |
|
|
|
|
|
|
|
// 1. 发病时间 < 到院时间
|
|
|
|
Map<String, TimeCheckItem> fbTimeMap = new HashMap<>(); |
|
|
|
fbTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)0,"到院时间")); |
|
|
|
compareItems.put(fbTime, fbTimeMap); |
|
|
|
// 到院时间
|
|
|
|
Map<String, TimeCheckItem> arriveHospitalTimeMap = new HashMap<>(); |
|
|
|
arriveHospitalTimeMap.put(fbTime, new TimeCheckItem((byte)4,"发病时间")); |
|
|
|
arriveHospitalTimeMap.put(lastTime, new TimeCheckItem((byte)4,"最后正常时间")); |
|
|
|
arriveHospitalTimeMap.put(inHospitalTime, new TimeCheckItem((byte)0,"住院时间")); |
|
|
|
arriveHospitalTimeMap.put(startVeinTime, new TimeCheckItem((byte)1,"开始静脉溶栓时间")); |
|
|
|
arriveHospitalTimeMap.put(startStabTime, new TimeCheckItem((byte)1,"穿刺完成时间")); |
|
|
|
arriveHospitalTimeMap.put(startOperationTime, new TimeCheckItem((byte)1,"手术开始时间")); |
|
|
|
arriveHospitalTimeMap.put(outHospitalTime, new TimeCheckItem((byte)1,"出院时间")); |
|
|
|
arriveHospitalTimeMap.put(startMoyamoyaTime, new TimeCheckItem((byte)1,"烟雾病的手术开始时间")); |
|
|
|
arriveHospitalTimeMap.put(avmTime, new TimeCheckItem((byte)1,"AVM治疗时间")); |
|
|
|
compareItems.put(arriveHospitalTime, arriveHospitalTimeMap); |
|
|
|
|
|
|
|
// 2. 最后正常时间 < 到院时间
|
|
|
|
Map<String, TimeCheckItem> lastTimeMap = new HashMap<>(); |
|
|
|
lastTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)0,"到院时间")); |
|
|
|
compareItems.put(lastTime, lastTimeMap); |
|
|
|
// 4. 住院时间 ≥ 到院时间
|
|
|
|
Map<String, TimeCheckItem> inHospitalTimeMap = new HashMap<>(); |
|
|
|
inHospitalTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)4,"到院时间")); |
|
|
|
compareItems.put(inHospitalTime, inHospitalTimeMap); |
|
|
|
// 5. 开始静脉溶栓时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> startVeinTimeMap = new HashMap<>(); |
|
|
|
startVeinTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
compareItems.put(startVeinTime, startVeinTimeMap); |
|
|
|
// 6. 穿刺完成时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> startStabTimeMap = new HashMap<>(); |
|
|
|
startStabTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
startStabTimeMap.put(startRevascularizationTime, new TimeCheckItem((byte)1,"首次血管再通时间")); |
|
|
|
compareItems.put(startStabTime, startStabTimeMap); |
|
|
|
// 7. 首次血管再通时间 > 穿刺完成时间
|
|
|
|
Map<String, TimeCheckItem> startRevascularizationTimeMap = new HashMap<>(); |
|
|
|
startRevascularizationTimeMap.put(startStabTime, new TimeCheckItem((byte)3,"穿刺完成时间")); |
|
|
|
compareItems.put(startRevascularizationTime, startRevascularizationTimeMap); |
|
|
|
// 8. 手术开始时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> startOperationTimeMap = new HashMap<>(); |
|
|
|
startOperationTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
compareItems.put(startOperationTime, startOperationTimeMap); |
|
|
|
// 9. 出院时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> outHospitalTimeMap = new HashMap<>(); |
|
|
|
outHospitalTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
compareItems.put(outHospitalTime, outHospitalTimeMap); |
|
|
|
// 12. 烟雾病的手术开始时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> startMoyamoyaTimeMap = new HashMap<>(); |
|
|
|
startMoyamoyaTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
compareItems.put(startMoyamoyaTime, startMoyamoyaTimeMap); |
|
|
|
// 13. AVM治疗时间 > 到院时间
|
|
|
|
Map<String, TimeCheckItem> avmTimeMap = new HashMap<>(); |
|
|
|
avmTimeMap.put(arriveHospitalTime, new TimeCheckItem((byte)3,"到院时间")); |
|
|
|
compareItems.put(avmTime, avmTimeMap); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Data |
|
|
|
public static final class TimeCheckItem{ |
|
|
|
@ApiModelProperty("比较类型 0:小于,1小等于 2:等于 3:大于 4:大等于 比较对象 < 当前code, 则type=0") |
|
|
|
private byte type; |
|
|
|
private String name; |
|
|
|
|
|
|
|
public TimeCheckItem() { |
|
|
|
} |
|
|
|
|
|
|
|
public TimeCheckItem(byte type, String name) { |
|
|
|
this.type = type; |
|
|
|
this.name = name; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public static final class HospitalRank{ |
|
|
|
/**时间窗患者例数(从大到小)*/ |
|
|
|
public static final byte TIME_WINDOW_PATIENT = 0; |
|
|
|