|
@@ -9,6 +9,7 @@ import jxl.write.WritableCellFormat;
|
|
|
import jxl.write.WritableFont;
|
|
|
import jxl.write.WritableSheet;
|
|
|
import jxl.write.WritableWorkbook;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.diagbot.pub.jdbc.MysqlJdbc;
|
|
|
|
|
|
import java.io.File;
|
|
@@ -32,11 +33,8 @@ import java.util.Map;
|
|
|
public class Rule2AppTest {
|
|
|
public static void main(String[] args) {
|
|
|
Map<String, String> ruleId = getRuleId();
|
|
|
- // for (Map.Entry<String, Integer> ruleAndId:ruleId.entrySet()) {
|
|
|
- // System.out.println(ruleAndId.getValue() + "---" + ruleAndId.getKey());
|
|
|
- // }
|
|
|
- String fileNameRead = "D:\\大数据小组\\慢病\\11.病历评级案例-20191024心内科&呼吸科.xls";
|
|
|
- String fileNameWrite = "D:\\大数据小组\\慢病\\病历评级规则app列表20191125.xls";
|
|
|
+ String fileNameRead = "D:\\大数据小组\\慢病\\11.病历评级案例-20191126.xls";
|
|
|
+ String fileNameWrite = "D:\\大数据小组\\慢病\\病历评级规则app列表20191126.xls";
|
|
|
readExcel(fileNameRead);
|
|
|
writeExcel(ruleId, readExcel(fileNameRead), fileNameWrite);
|
|
|
}
|
|
@@ -50,8 +48,9 @@ public class Rule2AppTest {
|
|
|
}
|
|
|
try {
|
|
|
file.createNewFile();
|
|
|
- WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.BOLD);
|
|
|
- WritableCellFormat format = new WritableCellFormat(font);
|
|
|
+ WritableFont titleFont = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.BOLD);
|
|
|
+ WritableFont contentFont = new WritableFont(WritableFont.createFont("宋体"), 10);
|
|
|
+ WritableCellFormat format = new WritableCellFormat(titleFont);
|
|
|
//创建工作簿
|
|
|
WritableWorkbook workbookA = Workbook.createWorkbook(file);
|
|
|
//创建sheet
|
|
@@ -63,6 +62,7 @@ public class Rule2AppTest {
|
|
|
sheetA.addCell(labelA);
|
|
|
}
|
|
|
int row = 1;
|
|
|
+ format = new WritableCellFormat(contentFont);
|
|
|
for (int i = 0; i < ruleList.size(); i++) {
|
|
|
List<String> rule = ruleList.get(i);
|
|
|
if (rule.size() == 2 || rule.size() == 3) {
|
|
@@ -70,6 +70,7 @@ public class Rule2AppTest {
|
|
|
String[] rules = rule.get(1).split("、");
|
|
|
for (int j = 0; j < pacsOrder.length; j++) {
|
|
|
String content = "";
|
|
|
+ String remind = "";
|
|
|
for (int k = 0; k < rules.length; k++) {
|
|
|
/** 原规则app样式
|
|
|
* labelA = new Label(6, row, ruleId.get(pacsOrder[j]) + "," + ruleId.get(rules[k]));
|
|
@@ -79,15 +80,19 @@ public class Rule2AppTest {
|
|
|
* row++;*/
|
|
|
String feature = ruleId.get(rules[k]) != null ? ruleId.get(rules[k]) : rules[k];
|
|
|
if (rules[k].contains("血小板计数(PLT)")){
|
|
|
- feature = "131";
|
|
|
- } else if (rules[k].contains("氧饱和度(O2sat)")){
|
|
|
- feature = "138";
|
|
|
+ feature = "1131";
|
|
|
} else if (rules[k].contains("经期")){
|
|
|
feature = "70、71";
|
|
|
} else if (rules[k].contains("妊娠")){
|
|
|
- feature = "164、165";
|
|
|
+ feature = "1164、1165";
|
|
|
+ remind = rule.size()>2?rule.get(2):"妊娠不宜做此项检查";
|
|
|
} else if (rules[k].contains("妊娠1-3个月")){
|
|
|
- feature = "166、167";
|
|
|
+ feature = "1166、1167、1168、1169";
|
|
|
+// remind = rule.size()>2?rule.get(2):"妊娠不宜做此项检查";
|
|
|
+ } else if (rules[k].contains("男性")){
|
|
|
+ remind = rule.size()>2?rule.get(2):"男性不宜做此项检查";
|
|
|
+ } else if (rules[k].contains("女性")){
|
|
|
+ remind = rule.size()>2?rule.get(2):"女性不宜做此项检查";
|
|
|
}
|
|
|
|
|
|
String[] featureArr = feature.split("、");
|
|
@@ -95,13 +100,14 @@ public class Rule2AppTest {
|
|
|
if (k == rules.length - 1 && l == featureArr.length - 1) {
|
|
|
content += ruleId.get(pacsOrder[j]) + "," + featureArr[l];
|
|
|
} else {
|
|
|
- content += ruleId.get(pacsOrder[j]) + "," + featureArr[l] + "|";
|
|
|
+ content += ruleId.get(pacsOrder[j]) + "," + featureArr[l] + "^";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- labelA = new Label(6, row, content);
|
|
|
+// write2DB(content,StringUtils.isEmpty(remind)?"请注意:该患者${remind}":remind);
|
|
|
+ labelA = new Label(6, row, content,format);
|
|
|
sheetA.addCell(labelA);
|
|
|
- labelA = new Label(8, row, "${remind}:" + pacsOrder[j]);
|
|
|
+ labelA = new Label(8, row, StringUtils.isEmpty(remind)?"请注意:该患者${remind}":remind,format);
|
|
|
sheetA.addCell(labelA);
|
|
|
row++;
|
|
|
}
|
|
@@ -134,8 +140,8 @@ public class Rule2AppTest {
|
|
|
fis = new FileInputStream(new File(fileName));
|
|
|
Workbook rwb = Workbook.getWorkbook(fis);
|
|
|
Sheet[] sheet = rwb.getSheets();
|
|
|
- for (int i = 0; i < sheet.length; i++) {
|
|
|
- Sheet rs = rwb.getSheet(i);
|
|
|
+// for (int i = 0; i < sheet.length; i++) {
|
|
|
+ Sheet rs = rwb.getSheet(0);
|
|
|
for (int j = 1; j < rs.getRows(); j++) {
|
|
|
rule = new ArrayList<>();
|
|
|
String content = "";
|
|
@@ -148,7 +154,7 @@ public class Rule2AppTest {
|
|
|
}
|
|
|
ruleList.add(rule);
|
|
|
}
|
|
|
- }
|
|
|
+// }
|
|
|
fis.close();
|
|
|
} catch (FileNotFoundException e) {
|
|
|
e.printStackTrace();
|
|
@@ -160,6 +166,27 @@ public class Rule2AppTest {
|
|
|
return ruleList;
|
|
|
}
|
|
|
|
|
|
+ public static void write2DB(String ruleId,String remind){
|
|
|
+ MysqlJdbc jdbc = new MysqlJdbc( "root", "diagbot@20180822","jdbc:mysql://192.168.2.235:3306/med-s?useUnicode=true&characterEncoding=UTF-8");
|
|
|
+ Connection conn = jdbc.connect();
|
|
|
+ PreparedStatement pstUpdate = null;
|
|
|
+ String sql = "INSERT INTO kl_rule_app(rule_id,type_id,remind) VALUES (?,?,?)";
|
|
|
+
|
|
|
+ try {
|
|
|
+ pstUpdate = conn.prepareStatement(sql);
|
|
|
+ pstUpdate.setString(1,ruleId);
|
|
|
+ pstUpdate.setString(2,"2");
|
|
|
+ pstUpdate.setString(3,remind);
|
|
|
+ System.out.println(ruleId + "\t" + remind);
|
|
|
+ pstUpdate.executeUpdate();
|
|
|
+ pstUpdate.close();
|
|
|
+ conn.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
public static Map<String, String> getRuleId() {
|
|
|
Map<String, String> ruleId = new HashMap<>();
|
|
|
MysqlJdbc jdbc = new MysqlJdbc( "root", "diagbot@20180822","jdbc:mysql://192.168.2.235:3306/med-s?useUnicode=true&characterEncoding=UTF-8");
|
|
@@ -175,19 +202,24 @@ public class Rule2AppTest {
|
|
|
String eqValue = rs.getString(2).trim();
|
|
|
ruleId.put(eqValue, id);
|
|
|
}
|
|
|
- ruleId.put("收缩压≥180mmHg", "74");
|
|
|
- ruleId.put("舒张压≥110mmHg", "75");
|
|
|
+ ruleId.put("收缩压≥180mmHg", "238");
|
|
|
+ ruleId.put("舒张压≥110mmHg", "239");
|
|
|
ruleId.put("收缩压≤80mmHg", "29");
|
|
|
ruleId.put("舒张压≤50mmHg", "30");
|
|
|
- ruleId.put("收缩压≥140mmHg", "129");
|
|
|
- ruleId.put("舒张压≥90mmHg", "130");
|
|
|
- ruleId.put("体温>39.1℃", "122");
|
|
|
- ruleId.put("体温>37.3℃", "123");
|
|
|
- ruleId.put("凝血酶原时间(PT)对照>5s", "132");
|
|
|
- ruleId.put("活化部分凝血活酶(APTT)对照>10s", "133");
|
|
|
- ruleId.put("T7至L3椎体MR增强", "648");
|
|
|
- ruleId.put("体温>39.0℃", "743");
|
|
|
-
|
|
|
+ ruleId.put("收缩压≥140mmHg", "273");
|
|
|
+ ruleId.put("舒张压≥90mmHg", "274");
|
|
|
+ ruleId.put("体温>39.1℃", "272");
|
|
|
+ ruleId.put("体温>37.3℃", "1123");
|
|
|
+ ruleId.put("凝血酶原时间(PT)对照>5s", "1132");
|
|
|
+ ruleId.put("活化部分凝血活酶(APTT)对照>10s", "1133");
|
|
|
+ ruleId.put("T7至L3椎体MR增强", "1648");
|
|
|
+// ruleId.put("体温>39.0℃", "743");
|
|
|
+ ruleId.put("心率<60次/分", "1128");
|
|
|
+ ruleId.put("心率≥120次/分", "28");
|
|
|
+ ruleId.put("肾病综合征+胸腔积液", "1211,1140");
|
|
|
+ ruleId.put("肝硬化+胸腔积液", "1212,1140");
|
|
|
+ ruleId.put("心力衰竭+胸腔积液", "60,1140");
|
|
|
+ ruleId.put("低蛋白血症+胸腔积液", "1213,1140");
|
|
|
rs.close();
|
|
|
pstQuery.close();
|
|
|
conn.close();
|