Kaynağa Gözat

添加死亡病例讨论制度规则

hujing 5 yıl önce
ebeveyn
işleme
fb18042c5b
18 değiştirilmiş dosya ile 551 ekleme ve 7 silme
  1. 16 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0097.java
  2. 37 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0098.java
  3. 36 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0099.java
  4. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0100.java
  5. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0101.java
  6. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0102.java
  7. 33 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0103.java
  8. 32 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0104.java
  9. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0106.java
  10. 34 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0108.java
  11. 37 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0109.java
  12. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0110.java
  13. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0111.java
  14. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0112.java
  15. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0113.java
  16. 32 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0114.java
  17. 28 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0115.java
  18. 42 5
      kernel/src/main/java/com/lantone/qc/kernel/util/CatalogueUtil.java

+ 16 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0097.java

@@ -1,6 +1,8 @@
 package com.lantone.qc.kernel.catalogue.deathcasediscuss;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import org.springframework.stereotype.Component;
@@ -8,13 +10,25 @@ import org.springframework.stereotype.Component;
 import java.util.Map;
 
 /**
- * @ClassName : CLI0001
- * @Description : 无输血/血制品病程记录
+ * @ClassName : DEAC0097
+ * @Description : 死亡患者无死亡记录
  * @Author : 楼辉荣
  * @Date: 2020-03-06 17:28
  */
 @Component
 public class DEAC0097 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, String> FirstPageStructure = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            String outWay = FirstPageStructure.get(Content.outWay);
+            //判断患者是否死亡
+            if (CatalogueUtil.isEmpty(outWay) || !outWay.contains("死亡")) {
+                return;
+            }
+            if (inputInfo.getDeathRecordDoc() == null || inputInfo.getDeathRecordDoc().getStructureMap().size() == 0){
+                status = "-1";
+            }
+        }
     }
 }

+ 37 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0098.java

@@ -0,0 +1,37 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0098
+ * @Description : 死亡记录未在患者死亡后24小时内完成
+ * @Author : 胡敬
+ * @Date: 2020-03-19 11:08
+ */
+@Component
+public class DEAC0098 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathRecordDoc() != null && inputInfo.getDeathRecordDoc().getStructureMap() != null) {
+            Map<String, String> deathRecordStructureMap = inputInfo.getDeathRecordDoc().getStructureMap();
+            String deceaseTime = deathRecordStructureMap.get("死亡时间");
+            String recordTime = deathRecordStructureMap.get("记录时间");
+            if (CatalogueUtil.isEmpty(deceaseTime) || CatalogueUtil.isEmpty(recordTime)) {
+                return;
+            }
+            Date deceaseDate = StringUtil.parseDateTime(deceaseTime);
+            Date recordDate = StringUtil.parseDateTime(recordTime);
+            if (deceaseDate.before(recordDate) && CatalogueUtil.compareTime(deceaseDate, recordDate, Long.valueOf(24 * 60))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 36 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0099.java

@@ -0,0 +1,36 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0099
+ * @Description : 死亡病例讨论记录中是无主诉
+ * @Author : 胡敬
+ * @Date: 2020-03-19 09:35
+ */
+@Component
+public class DEAC0099 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null
+                && inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getChiefLabel() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String chiefText = inputInfo.getBeHospitalizedDoc().getChiefLabel().getText();
+            String admissionStatus = deathCaseDiscussStructureMap.get("入院情况");
+            if (CatalogueUtil.isEmpty(admissionStatus) || CatalogueUtil.isEmpty(chiefText)) {
+                return;
+            }
+            chiefText = CatalogueUtil.removeSpecialChar(chiefText).replace("。", "");
+            admissionStatus = CatalogueUtil.removeSpecialChar(admissionStatus).replace("。", "");
+            if (!admissionStatus.contains(chiefText)) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0100.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0100
+ * @Description : 死亡病例讨论记录中无入院情况
+ * @Author : 胡敬
+ * @Date: 2020-03-19 09:38
+ */
+@Component
+public class DEAC0100 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("入院情况"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0101.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0101
+ * @Description : 死亡病例讨论记录中无入院诊断
+ * @Author : 胡敬
+ * @Date: 2020-03-19 09:44
+ */
+@Component
+public class DEAC0101 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("入院诊断"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0102.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0102
+ * @Description : 死亡病例讨论记录中无诊疗经过
+ * @Author : 胡敬
+ * @Date: 2020-03-19 09:44
+ */
+@Component
+public class DEAC0102 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("讨论内容"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 33 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0103.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0103
+ * @Description : 死亡病例讨论记录中无病情演变
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:20
+ */
+@Component
+public class DEAC0103 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String discussionContent = deathCaseDiscussStructureMap.get("讨论内容");
+            if (CatalogueUtil.isEmpty(discussionContent)) {
+                return;
+            }
+            if (!discussionContent.contains("加重") && !discussionContent.contains("恶化")
+                    && !discussionContent.contains("好转")) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 32 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0104.java

@@ -0,0 +1,32 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0104
+ * @Description : 死亡病例讨论记录中无抢救经过
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:20
+ */
+@Component
+public class DEAC0104 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String discussionContent = deathCaseDiscussStructureMap.get("讨论内容");
+            if (CatalogueUtil.isEmpty(discussionContent)) {
+                return;
+            }
+            if (!discussionContent.contains("抢救")) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0106.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0106
+ * @Description : 死亡病例讨论记录中无死亡时间
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:26
+ */
+@Component
+public class DEAC0106 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("死亡时间"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 34 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0108.java

@@ -0,0 +1,34 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0108
+ * @Description : 死亡患者无死亡病例讨论记录
+ * @Author : 胡敬
+ * @Date: 2020-03-19 11:24
+ */
+@Component
+public class DEAC0108 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, String> FirstPageStructure = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            String outWay = FirstPageStructure.get(Content.outWay);
+            //判断患者是否死亡
+            if (CatalogueUtil.isEmpty(outWay) || !outWay.contains("死亡")) {
+                return;
+            }
+            if (inputInfo.getDeathCaseDiscussDoc() == null || inputInfo.getDeathCaseDiscussDoc().getStructureMap().size() == 0){
+                status = "-1";
+            }
+        }
+    }
+}

+ 37 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0109.java

@@ -0,0 +1,37 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0109
+ * @Description : 死亡病例讨论记录未在患者死亡1周内完成
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:45
+ */
+@Component
+public class DEAC0109 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String deceaseTime = deathCaseDiscussStructureMap.get("死亡时间");
+            String recordTime = deathCaseDiscussStructureMap.get("记录时间");
+            if (CatalogueUtil.isEmpty(deceaseTime) || CatalogueUtil.isEmpty(recordTime)) {
+                return;
+            }
+            Date deceaseDate = StringUtil.parseDateTime(deceaseTime);
+            Date recordDate = StringUtil.parseDateTime(recordTime);
+            if (deceaseDate.before(recordDate) && CatalogueUtil.compareTime(deceaseDate, recordDate, Long.valueOf(7 * 24 * 60))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0110.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0110
+ * @Description : 死亡病例讨论记录无讨论日期
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:28
+ */
+@Component
+public class DEAC0110 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("讨论时间"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0111.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0111
+ * @Description : 死亡病例讨论记录无讨论地点
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:28
+ */
+@Component
+public class DEAC0111 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("讨论地点"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0112.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0112
+ * @Description : 死亡病例讨论记录无主持人姓名
+ * @Author : 胡敬
+ * @Date: 2020-03-19 11:26
+ */
+@Component
+public class DEAC0112 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("讨论主持人"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0113.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0113
+ * @Description : 死亡病例讨论记录无死亡诊断
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:36
+ */
+@Component
+public class DEAC0113 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("死亡诊断"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 32 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0114.java

@@ -0,0 +1,32 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0114
+ * @Description : 死亡病例讨论记录无死亡原因
+ * @Author : 胡敬
+ * @Date: 2020-03-19 10:20
+ */
+@Component
+public class DEAC0114 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String discussionContent = deathCaseDiscussStructureMap.get("讨论内容");
+            if (CatalogueUtil.isEmpty(discussionContent)) {
+                return;
+            }
+            if (!discussionContent.contains("因")) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 28 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0115.java

@@ -0,0 +1,28 @@
+package com.lantone.qc.kernel.catalogue.deathcasediscuss;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : DEAC0115
+ * @Description : 死亡病例讨论记录无签名
+ * @Author : 胡敬
+ * @Date: 2020-03-19 11:26
+ */
+@Component
+public class DEAC0115 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getDeathCaseDiscussDoc() != null && inputInfo.getDeathCaseDiscussDoc().getStructureMap() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(deathCaseDiscussStructureMap.get("记录医师"))) {
+                status = "-1";
+            }
+        }
+    }
+}

+ 42 - 5
kernel/src/main/java/com/lantone/qc/kernel/util/CatalogueUtil.java

@@ -9,6 +9,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -120,6 +121,7 @@ public class CatalogueUtil {
 
     /**
      * 对比两个String类型的Date是否一致
+     *
      * @param firstDateStr
      * @param secondDateStr
      * @param datePattren
@@ -139,19 +141,20 @@ public class CatalogueUtil {
 
     /**
      * 对比两个String类型的Date先后
+     *
      * @param firstDateStr
      * @param secondDateStr
-     * @param symbol   =1 -> firstDateStr比secondDateStr时间早
-     * @param symbol   =-1 -> firstDateStr比secondDateStr时间晚
+     * @param symbol        =1 -> firstDateStr比secondDateStr时间早
+     * @param symbol        =-1 -> firstDateStr比secondDateStr时间晚
      * @return
      */
-    public static boolean compareDate(String firstDateStr, String secondDateStr,int symbol) {
+    public static boolean compareDate(String firstDateStr, String secondDateStr, int symbol) {
         if (!isEmpty(firstDateStr) && !isEmpty(secondDateStr)) {
             Date firstDate = StringUtil.parseDateTime(firstDateStr);
             Date secondDate = StringUtil.parseDateTime(secondDateStr);
-            if (symbol == 1){
+            if (symbol == 1) {
                 return firstDate != null && secondDate != null && firstDate.before(secondDate);
-            } else if (symbol == -1){
+            } else if (symbol == -1) {
                 return firstDate != null && secondDate != null && firstDate.after(secondDate);
             }
         }
@@ -160,6 +163,7 @@ public class CatalogueUtil {
 
     /**
      * 对比两个去除了特殊字符的字符串是否一致
+     *
      * @param firstStr
      * @param secondStr
      * @return
@@ -173,4 +177,37 @@ public class CatalogueUtil {
         return false;
     }
 
+    /**
+     * 比较时间,以分钟为单位
+     * endDate比startDate多diff分钟则返回true
+     *
+     * @param startDate
+     * @param endDate
+     * @param diff
+     * @return
+     */
+    public static boolean compareTime(Date startDate, Date endDate, Long diff) {
+        boolean overtime = false;
+        if (startDate == null || endDate == null) {
+            return false;
+        }
+        Calendar calendar_s = Calendar.getInstance();
+        Calendar calendar_e = Calendar.getInstance();
+        Long time_s, time_e, time_diff;
+        try {
+            calendar_s.setTime(startDate);
+            calendar_e.setTime(endDate);
+
+            time_s = calendar_s.getTimeInMillis();
+            time_e = calendar_e.getTimeInMillis();
+
+            time_diff = (time_e - time_s) / (1000 * 60);
+            if (time_diff >= diff) {
+                overtime = true;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return overtime;
+    }
 }