Browse Source

1.修改条目逻辑

hujing 5 years ago
parent
commit
ad035f3c1a

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0442.java

@@ -44,6 +44,12 @@ public class BEH0442 extends QCCatalogue {
         }
 
         List<GeneralDesc> generals = presentLabel.getGenerals();
+        List<General> gens = presentLabel.getGens();
+        if (ListUtil.isEmpty(generals) && ListUtil.isEmpty(gens)) {
+            status.set("0");
+            return;
+        }
+
         if (ListUtil.isNotEmpty(generals)) {
             for (GeneralDesc general : generals) {
                 if (general.getName().contains("便") || general.getName().contains("尿")) {
@@ -52,7 +58,6 @@ public class BEH0442 extends QCCatalogue {
                 }
             }
         }
-        List<General> gens = presentLabel.getGens();
         if (ListUtil.isNotEmpty(gens)) {
             for (General general : gens) {
                 if (general.getName().contains("便") || general.getName().contains("尿")) {

+ 8 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0443.java

@@ -36,6 +36,13 @@ public class BEH0443 extends QCCatalogue {
                 return;
             }
             List<GeneralDesc> generals = presentLabel.getGenerals();
+            List<General> gens = presentLabel.getGens();
+
+            if (ListUtil.isEmpty(generals) && ListUtil.isEmpty(gens)) {
+                status.set("0");
+                return;
+            }
+
             if (ListUtil.isNotEmpty(generals)) {
                 for (GeneralDesc general : generals) {
                     if (general.getName().contains("体重")) {
@@ -44,7 +51,7 @@ public class BEH0443 extends QCCatalogue {
                     }
                 }
             }
-            List<General> gens = presentLabel.getGens();
+
             if (ListUtil.isNotEmpty(gens)) {
                 for (General general : gens) {
                     if (general.getName().contains("体重")) {

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0444.java

@@ -42,6 +42,11 @@ public class BEH0444 extends QCCatalogue {
                 }
             }
             List<GeneralDesc> generals = presentLabel.getGenerals();
+            List<General> gens = presentLabel.getGens();
+            if (ListUtil.isEmpty(generals) && ListUtil.isEmpty(gens)) {
+                status.set("0");
+                return;
+            }
             if (ListUtil.isNotEmpty(generals)) {
                 for (GeneralDesc general : generals) {
                     if (general.getName().contains("精神") || general.getName().contains("神志")) {
@@ -50,7 +55,7 @@ public class BEH0444 extends QCCatalogue {
                     }
                 }
             }
-            List<General> gens = presentLabel.getGens();
+
             if (ListUtil.isNotEmpty(gens)) {
                 for (General general : gens) {
                     if (general.getName().contains("精神") || general.getName().contains("神志")) {

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0445.java

@@ -45,6 +45,11 @@ public class BEH0445 extends QCCatalogue {
             }
         }
         List<GeneralDesc> generals = presentLabel.getGenerals();
+        List<General> gens = presentLabel.getGens();
+        if (ListUtil.isEmpty(generals) && ListUtil.isEmpty(gens)) {
+            status.set("0");
+            return;
+        }
         if (ListUtil.isNotEmpty(generals)) {
             for (GeneralDesc general : generals) {
                 if (general.getName().contains("睡眠") || general.getName().contains("纳眠") || general.getName().contains("入睡")) {
@@ -53,7 +58,7 @@ public class BEH0445 extends QCCatalogue {
                 }
             }
         }
-        List<General> gens = presentLabel.getGens();
+
         if (ListUtil.isNotEmpty(gens)) {
             for (General general : gens) {
                 if (general.getName().contains("睡眠") || general.getName().contains("纳眠") || general.getName().contains("入睡")) {

+ 30 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0496.java

@@ -4,6 +4,8 @@ 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.entity.Diag;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -18,23 +20,40 @@ import java.util.List;
 public class BEH0496 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getBeHospitalizedDoc() == null) {
+        if (inputInfo.getBeHospitalizedDoc() == null || inputInfo.getBeHospitalizedDoc().getInitialDiagLabel() == null) {
             return;
         }
+
         List<Diag> diags = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getDiags();
-        if (diags != null && diags.size() > 0) {
-            String todo = "待查";
-            int idx = 0;
-            for (Diag diag : diags) {
-                if (diag.getHospitalDiagName().contains(todo)) {
-                    idx = diags.indexOf(diag);
-                    break;
+        String initDiagText = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getText();
+        if (ListUtil.isEmpty(diags) || StringUtil.isBlank(initDiagText)) {
+            return;
+        }
+        String todo = "待查";
+        int startWordIndex = 0, endWordIndex = 0;
+        for (int i = 0; i < diags.size(); i++) {
+            String diagName = getDiagName(diags.get(i));
+            if (diagName.contains(todo)) {
+                /* 如果诊断待查是最后一个,说明之后肯定没有可能性较大诊断,则报错 */
+                if (i == diags.size() - 1) {
+                    status.set("-1");
+                    return;
                 }
+                startWordIndex = initDiagText.indexOf(diagName);
+                endWordIndex = initDiagText.indexOf(getDiagName(diags.get(i + 1)));
+                break;
             }
+        }
 
-            if (idx == diags.size() - 1) {
-                status.set("-1");
-            }
+        String midText = initDiagText.substring(startWordIndex, endWordIndex);
+        if (midText.contains("?") || midText.contains("?")) {
+            status.set("-1");
         }
     }
+
+    private String getDiagName(Diag diag) {
+        String hospitalDiagName = diag.getHospitalDiagName();
+        String name = diag.getName();
+        return StringUtil.isBlank(hospitalDiagName) ? name : hospitalDiagName;
+    }
 }

+ 42 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0088.java

@@ -0,0 +1,42 @@
+package com.lantone.qc.kernel.catalogue.firstcourserecord;
+
+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.FirstCourseRecordDoc;
+import com.lantone.qc.pub.model.entity.Diag;
+import com.lantone.qc.pub.model.label.DiagLabel;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRC0087
+ * @Description : 鉴别诊断不全面
+ * @Author : 胡敬
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class FIRC0088 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
+        if (firstCourseRecordDoc == null) {
+            return;
+        }
+        Map<String, String> firstCourseStructureMap = firstCourseRecordDoc.getStructureMap();
+        String diffDiag = firstCourseStructureMap.get("鉴别诊断");
+        if (StringUtil.isNotBlank(diffDiag)) {
+            return;
+        }
+        DiagLabel differentialDiagLabel = firstCourseRecordDoc.getDifferentialDiagLabel();
+        if (differentialDiagLabel != null) {
+            List<Diag> diags = differentialDiagLabel.getDiags();
+            if (diags == null || diags.size() < 1) {
+                status.set("-1");
+            }
+        }
+    }
+}