浏览代码

现病史部分规则添加

kongwz 5 年之前
父节点
当前提交
46ddc2444a
共有 22 个文件被更改,包括 248 次插入83 次删除
  1. 2 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0003.java
  2. 2 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0004.java
  3. 0 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0005.java
  4. 2 6
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0006.java
  5. 3 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0007.java
  6. 2 6
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java
  7. 2 6
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0009.java
  8. 4 8
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0010.java
  9. 0 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0011.java
  10. 0 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0012.java
  11. 1 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0013.java
  12. 5 10
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0014.java
  13. 1 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0015.java
  14. 1 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0016.java
  15. 3 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0017.java
  16. 50 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0018.java
  17. 37 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0019.java
  18. 36 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0020.java
  19. 36 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0021.java
  20. 30 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0022.java
  21. 30 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0023.java
  22. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessPersonal.java

+ 2 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0003.java

@@ -22,11 +22,10 @@ import java.util.List;
 public class BEH0003 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        status = "0";
         String chief_text = inputInfo.getBeHospitalizedDoc().getChiefLabel().getText();
-        if(CatalogueUtil.removeSpecialChar(chief_text).length()>20)
+        if(CatalogueUtil.removeSpecialChar(chief_text).length()<=20)
         {
-            status = "-1";
+            status = "0";
         }
     }
 }

+ 2 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0004.java

@@ -20,8 +20,7 @@ import java.util.Map;
 public class BEH0004 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
+        status = "0";
         Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         Collection<String> values = structureMap.values();
         for (String value:values
@@ -30,7 +29,6 @@ public class BEH0004 extends QCCatalogue {
                 status = "-1";
             }
         }
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
+
     }
 }

+ 0 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0005.java

@@ -20,10 +20,6 @@ import java.util.Map;
 public class BEH0005 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
 
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 2 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0006.java

@@ -24,8 +24,6 @@ import java.util.List;
 public class BEH0006 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         String chief_text = chiefLabel.getText();
         if(chief_text.contains("年")){
@@ -43,12 +41,10 @@ public class BEH0006 extends QCCatalogue {
                     }
 
                 }
-                if(!unitList.contains("天")){
-                    status = "-1";
+                if(unitList.contains("天")){
+                    status = "0";
                 }
             }
         }
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 3 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0007.java

@@ -27,8 +27,6 @@ import java.util.Set;
 public class BEH0007 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         List<Clinical> clinicals = chiefLabel.getClinicals();
         Set<String> clinicalSet = new HashSet<>();
@@ -47,10 +45,10 @@ public class BEH0007 extends QCCatalogue {
         }
         if(clinicalSet.size()>0){
             status = "-1";
-            infos = clinicalSet.toString().replace("[","").replace("]","");
+            info = clinicalSet.toString().replace("[","").replace("]","");
+        }else {
+            status = "0";
         }
 
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 2 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java

@@ -24,15 +24,11 @@ import java.util.Set;
 public class BEH0008 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         List<Clinical> clinicals = chiefLabel.getClinicals();
-        if(clinicals.size()>3){
-            status = "-1";
+        if(clinicals.size()<=3){
+            status = "-0";
         }
 
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 2 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0009.java

@@ -20,15 +20,11 @@ import java.util.List;
 public class BEH0009 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         List<Clinical> clinicals = chiefLabel.getClinicals();
-        if(clinicals.size()<= 0 || clinicals == null){
-            status = "-1";
+        if(clinicals.size()>0){
+            status = "0";
         }
 
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 4 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0010.java

@@ -22,9 +22,7 @@ import java.util.List;
 @Component
 public class BEH0010 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-
-        String status = "0";
-        String infos = "";
+        status = "0";
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         List<Diag> diags = chiefLabel.getDiags();
         if(diags.size()>0){
@@ -40,15 +38,13 @@ public class BEH0010 extends QCCatalogue {
         if(diags.size()>0){
             status = "-1";
             for (Diag diag:diags) {
-                if(StringUtils.isEmpty(infos)){
-                    infos = diag.getName();
+                if(StringUtils.isEmpty(info)){
+                    info = diag.getName();
                 }else {
-                    infos = infos+","+diag.getName();
+                    info = info+","+diag.getName();
                 }
             }
         }
 
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 0 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0011.java

@@ -22,10 +22,5 @@ import java.util.List;
 public class BEH0011 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
-
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 0 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0012.java

@@ -16,10 +16,5 @@ import org.springframework.stereotype.Component;
 public class BEH0012 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
-        String status = "0";
-        String infos = "";
-
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 1 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0013.java

@@ -21,9 +21,7 @@ import java.util.List;
 @Component
 public class BEH0013 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-
-        String status = "0";
-        String infos = "";
+        status = "0";
         List<Clinical> clinicalNegative = new ArrayList<>();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
@@ -31,14 +29,10 @@ public class BEH0013 extends QCCatalogue {
                 if(clinical.getNegative() != null){
                     clinicalNegative.add(clinical);
                 }
-
             }
         }
         if(clinicalNegative.size() == 0){
             status = "-1";
         }
-
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 5 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0014.java

@@ -21,28 +21,23 @@ import java.util.List;
 @Component
 public class BEH0014 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String status = "0";
-        String infos = "";
-
+        status = "0";
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
             for (Clinical clinical:clinicals) {
                 String clinicalName = clinical.getName();
                 Cause cause = clinical.getCause();
                 if(cause == null){
-                    if(StringUtils.isEmpty(infos)){
-                        infos = clinicalName;
+                    if(StringUtils.isEmpty(info)){
+                        info = clinicalName;
                     }else {
-                        infos = infos+","+clinicalName;
+                        info = info+","+clinicalName;
                     }
                 }
             }
         }
-        if(StringUtils.isNotEmpty(infos)){
+        if(StringUtils.isNotEmpty(info)){
             status = "-1";
         }
-
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 1 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0015.java

@@ -22,8 +22,7 @@ import java.util.List;
 @Component
 public class BEH0015 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String status = "0";
-        String infos = "";
+        status = "0";
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
             Clinical clinical = clinicals.get(0);
@@ -32,7 +31,5 @@ public class BEH0015 extends QCCatalogue {
                 status = "-1";
             }
         }
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
     }
 }

+ 1 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0016.java

@@ -19,13 +19,10 @@ import java.util.List;
 @Component
 public class BEH0016 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String status = "0";
-        String infos = "";
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
 
         }
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
+
     }
 }

+ 3 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0017.java

@@ -20,8 +20,7 @@ import java.util.List;
 @Component
 public class BEH0017 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String status = "0";
-        String infos = "";
+        status = "0";
         List<String> clinicals_timestamp = new ArrayList<>();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
@@ -34,9 +33,8 @@ public class BEH0017 extends QCCatalogue {
         }
         if(clinicals_timestamp.size()>0){
             status = "-1";
-            infos= clinicals_timestamp.toString();
+            info= clinicals_timestamp.toString();
         }
-        resultDetail.put("status",status);
-        resultDetail.put("info",infos);
+
     }
 }

+ 50 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0018.java

@@ -0,0 +1,50 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.entity.Clinical;
+import com.lantone.qc.pub.model.entity.PD;
+import com.lantone.qc.pub.model.label.ChiefLabel;
+import com.lantone.qc.pub.model.label.PresentLabel;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0006
+ * @Description :现病史症状缺少近期事件描述
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0018 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
+        String chief_text = presentLabel.getText();
+        if(chief_text.contains("年")){
+            List<Clinical> clinicals = presentLabel.getClinicals();
+            if(clinicals.size()>0){
+                List<String> unitList = new ArrayList<>();
+                for (Clinical clinical:clinicals) {
+                    List<PD> timestamp = clinical.getTimestamp();
+                    if(timestamp != null){
+                        for (PD pd:timestamp) {
+                            if(!CatalogueUtil.isEmpty(pd.getUnit())){
+                                unitList.add(pd.getUnit());
+                            }
+                        }
+                    }
+
+                }
+                if(!unitList.contains("天")){
+                    status = "-1";
+                }
+            }
+        }
+    }
+}

+ 37 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0019.java

@@ -0,0 +1,37 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.Clinical;
+import com.lantone.qc.pub.model.entity.PD;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0019
+ * @Description :  现病史症状缺少程度
+ * crf模型中只标注到修饰的程度,需要用词库去配出哪些是程度。
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0019 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        List<String> clinicals_timestamp = new ArrayList<>();
+        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
+        if(clinicals.size()>0){
+            for (Clinical clinical:clinicals) {
+
+            }
+        }
+        if(clinicals_timestamp.size()>0){
+            status = "-1";
+            info= clinicals_timestamp.toString();
+        }
+    }
+}

+ 36 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0020.java

@@ -0,0 +1,36 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.Clinical;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0020
+ * @Description :  现病史症状缺少缓解情况
+ * crf模型中只标注趋势,需要用词库去配出哪些是缓解情况。
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0020 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        List<String> clinicals_timestamp = new ArrayList<>();
+        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
+        if(clinicals.size()>0){
+            for (Clinical clinical:clinicals) {
+
+            }
+        }
+        if(clinicals_timestamp.size()>0){
+            status = "-1";
+            info= clinicals_timestamp.toString();
+        }
+    }
+}

+ 36 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0021.java

@@ -0,0 +1,36 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.Clinical;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0021
+ * @Description :  现病史症状缺少加剧情况
+ *  crf模型中只标注趋势,需要用词库去配出哪些是加剧情况。
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0021 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        List<String> clinicals_timestamp = new ArrayList<>();
+        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
+        if(clinicals.size()>0){
+            for (Clinical clinical:clinicals) {
+
+            }
+        }
+        if(clinicals_timestamp.size()>0){
+            status = "-1";
+            info= clinicals_timestamp.toString();
+        }
+    }
+}

+ 30 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0022.java

@@ -0,0 +1,30 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.Clinical;
+import com.lantone.qc.pub.model.entity.GeneralDesc;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0022
+ * @Description :  现病史缺少发病以来一般情况描述
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0022 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
+        if(generals.size() == 0 || generals == null){
+            status = "-1";
+        }
+
+    }
+}

+ 30 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0023.java

@@ -0,0 +1,30 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.GeneralDesc;
+import com.lantone.qc.pub.model.entity.Lis;
+import com.lantone.qc.pub.model.entity.Pacs;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0023
+ * @Description :  现病史未描述入院前有无相关治疗检查
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0023 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        List<Lis> lises = inputInfo.getBeHospitalizedDoc().getPresentLabel().getLises();
+        List<Pacs> pacses = inputInfo.getBeHospitalizedDoc().getPresentLabel().getPacses();
+        if(lises == null && pacses.size() == 0){
+            status = "-1";
+        }
+    }
+}

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessPersonal.java

@@ -67,7 +67,7 @@ public class EntityProcessPersonal extends EntityProcess {
 
         //饮酒史
         List<Lemma> drinkingLemmas = createEntityTree(aiOut, EntityEnum.HISTORY_OF_ALCOHOL_INTAKE.toString());
-        for (Lemma lemma :smokingLemmas) {
+        for (Lemma lemma :drinkingLemmas) {
             Drinking drinking = new Drinking();
             drinking.setName(lemma.getText());
             if (lemma.isHaveChildren()) {