Przeglądaj źródła

台州会诊规则添加

hujing 5 lat temu
rodzic
commit
aad872177b
23 zmienionych plików z 899 dodań i 15 usunięć
  1. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0530.java
  2. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0532.java
  3. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0533.java
  4. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0534.java
  5. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0535.java
  6. 50 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0536.java
  7. 34 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0537.java
  8. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0538.java
  9. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0539.java
  10. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0540.java
  11. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0541.java
  12. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0542.java
  13. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0543.java
  14. 50 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0544.java
  15. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0545.java
  16. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0546.java
  17. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0547.java
  18. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0548.java
  19. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0549.java
  20. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0550.java
  21. 52 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0551.java
  22. 1 15
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathrecord/DEAR0371.java
  23. 15 0
      kernel/src/main/java/com/lantone/qc/kernel/util/CatalogueUtil.java

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0530.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0530
+ * @Description : 会诊记录中会诊医师签名未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0530 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationRecordDoc consultationRecordDoc = consultationDoc.getConsultationRecordDoc();
+            if (consultationRecordDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationRecordDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("记录医师");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0532.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0532
+ * @Description : 会诊申请单中会诊申请科室未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0532 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationApplicationDoc consultationApplicationDoc = consultationDoc.getConsultationApplicationDoc();
+            if (consultationApplicationDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("申请科室");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0533.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0533
+ * @Description : 会诊申请单中会诊类别未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0533 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationApplicationDoc consultationApplicationDoc = consultationDoc.getConsultationApplicationDoc();
+            if (consultationApplicationDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊类别");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0534.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0534
+ * @Description : 会诊申请单中会诊科室未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0534 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationApplicationDoc consultationApplicationDoc = consultationDoc.getConsultationApplicationDoc();
+            if (consultationApplicationDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊科室");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0535.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0535
+ * @Description : 会诊申请单中会诊日期及时间未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:37
+ */
+@Component
+public class CON0535 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationApplicationDoc consultationApplicationDoc = consultationDoc.getConsultationApplicationDoc();
+            if (consultationApplicationDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊日期及时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 50 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0536.java

@@ -0,0 +1,50 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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 com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0536
+ * @Description : 会诊申请单中会诊日期及时间填写不规范
+ * @Author : 胡敬
+ * @Date: 2020-03-28 10:20
+ */
+@Component
+public class CON0536 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationApplicationDoc consultationApplicationDoc = consultationDoc.getConsultationApplicationDoc();
+            if (consultationApplicationDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊日期及时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                continue;
+            }
+            Date consultationDate = StringUtil.parseDateTime(CatalogueUtil.removeSpecialChar(consultationDateStr)
+                    , CatalogueUtil.processDateFormat(Content.dateFormats));
+
+            if (null == consultationDate) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 34 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0537.java

@@ -0,0 +1,34 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @ClassName : CON0537
+ * @Description : 无会诊结果单
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0537 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0538.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0538
+ * @Description : 会诊结果单中申请科室未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0538 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("申请科室");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0539.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0539
+ * @Description : 会诊结果单中会诊类别未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0539 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊类别");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0540.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0540
+ * @Description : 会诊结果单中申请医生未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0540 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("申请医生");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0541.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0541
+ * @Description : 会诊结果单中会诊科室未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0541 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊科室");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0542.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0542
+ * @Description : 会诊结果单中申请日期未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0542 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("申请日期");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0543.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0543
+ * @Description : 会诊结果单中会诊到达日期未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:37
+ */
+@Component
+public class CON0543 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊到达时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 50 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0544.java

@@ -0,0 +1,50 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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 com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0544
+ * @Description : 会诊结果单中会诊到达日期填写不规范
+ * @Author : 胡敬
+ * @Date: 2020-03-28 10:20
+ */
+@Component
+public class CON0544 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊到达时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                continue;
+            }
+            Date consultationDate = StringUtil.parseDateTime(CatalogueUtil.removeSpecialChar(consultationDateStr)
+                    , CatalogueUtil.processDateFormat(Content.dateFormats));
+
+            if (null == consultationDate) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0545.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0545
+ * @Description : 会诊结果单中病史回顾描述未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0545 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("病史回顾描述");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0546.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0546
+ * @Description : 会诊结果单中会诊查体未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0546 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊查体");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0547.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0547
+ * @Description : 会诊结果单中当前诊断未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0547 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("当前诊断");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0548.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0548
+ * @Description : 会诊结果单中会诊意见未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:39
+ */
+@Component
+public class CON0548 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊意见");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0549.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0549
+ * @Description : 会诊结果单中会诊医师未签名
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:37
+ */
+@Component
+public class CON0549 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("医师签名");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0550.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0550
+ * @Description : 会诊结果单中会诊日期及时间未填写
+ * @Author : 胡敬
+ * @Date: 2020-03-28 13:37
+ */
+@Component
+public class CON0550 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊日期及时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 52 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0551.java

@@ -0,0 +1,52 @@
+package com.lantone.qc.kernel.catalogue.consultation;
+
+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 com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CON0551
+ * @Description : 会诊结果单中会诊日期及时间填写不规范
+ * @Author : 胡敬
+ * @Date: 2020-03-28 10:20
+ */
+@Component
+public class CON0551 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
+        if (consultationDocs.size() == 0) {
+            return;
+        }
+        for (ConsultationDoc consultationDoc : consultationDocs) {
+            ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
+            if (consultationResultsDoc == null) {
+                continue;
+            }
+            Map<String, String> consultationResultStructureMap = consultationResultsDoc.getStructureMap();
+            String consultationDateStr = consultationResultStructureMap.get("会诊日期及时间");
+            if (CatalogueUtil.isEmpty(consultationDateStr)) {
+                continue;
+            }
+            Date consultationDate = StringUtil.parseDateTime(CatalogueUtil.removeSpecialChar(consultationDateStr)
+                    , CatalogueUtil.processDateFormat(Content.dateFormats));
+
+            if (null == consultationDate) {
+                status.set("-1");
+                return;
+            }
+        }
+    }
+}

+ 1 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathrecord/DEAR0371.java

@@ -31,24 +31,10 @@ public class DEAR0371 extends QCCatalogue {
                 return;
             }
             Date deathDate = StringUtil.parseDateTime(CatalogueUtil.removeSpecialChar(deathTime)
-                    , processDateFormat(Content.dateFormats));
+                    , CatalogueUtil.processDateFormat(Content.dateFormats));
             if (null == deathDate) {
                 status.set("-1");
             }
         }
     }
-
-    /**
-     * 只保留Date精确到分的格式
-     *
-     * @param dateFormats
-     * @return
-     */
-    private String[] processDateFormat(String[] dateFormats) {
-        List<String> dateFormatsList = Arrays.asList(dateFormats);
-        List<String> dateFormatsNew = new ArrayList<>(dateFormatsList);
-        dateFormatsNew.removeIf(dateFormat -> dateFormat.contains("s") || !dateFormat.contains("m"));
-        String[] dateFormatsArr = new String[dateFormatsNew.size()];
-        return dateFormatsNew.toArray(dateFormatsArr);
-    }
 }

+ 15 - 0
kernel/src/main/java/com/lantone/qc/kernel/util/CatalogueUtil.java

@@ -12,6 +12,7 @@ import lombok.Setter;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
@@ -294,4 +295,18 @@ public class CatalogueUtil {
         }
         return count;
     }
+
+    /**
+     * 只保留Date数组中精确到分的格式
+     *
+     * @param dateFormats
+     * @return
+     */
+    public static String[] processDateFormat(String[] dateFormats) {
+        List<String> dateFormatsList = Arrays.asList(dateFormats);
+        List<String> dateFormatsNew = new ArrayList<>(dateFormatsList);
+        dateFormatsNew.removeIf(dateFormat -> dateFormat.contains("s") || !dateFormat.contains("m"));
+        String[] dateFormatsArr = new String[dateFormatsNew.size()];
+        return dateFormatsNew.toArray(dateFormatsArr);
+    }
 }