Kaynağa Gözat

现病史部分规则添加

kongwz 5 yıl önce
ebeveyn
işleme
bd896f267e

+ 19 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0013.java

@@ -3,8 +3,14 @@ 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.Lis;
+import com.lantone.qc.pub.model.entity.Negative;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.List;
+
 
 /**
  * @ClassName : BEH0013
@@ -18,6 +24,19 @@ public class BEH0013 extends QCCatalogue {
 
         String status = "0";
         String infos = "";
+        List<Clinical> clinicalNegative = new ArrayList<>();
+        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
+        if(clinicals.size()>0){
+            for (Clinical clinical:clinicals) {
+                if(clinical.getNegative() != null){
+                    clinicalNegative.add(clinical);
+                }
+
+            }
+        }
+        if(clinicalNegative.size() == 0){
+            status = "-1";
+        }
 
         resultDetail.put("status",status);
         resultDetail.put("info",infos);

+ 48 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0014.java

@@ -0,0 +1,48 @@
+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.Cause;
+import com.lantone.qc.pub.model.entity.Clinical;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0014
+ * @Description :  现病史症状缺少诱因
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0014 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){
+            for (Clinical clinical:clinicals) {
+                String clinicalName = clinical.getName();
+                Cause cause = clinical.getCause();
+                if(cause == null){
+                    if(StringUtils.isEmpty(infos)){
+                        infos = clinicalName;
+                    }else {
+                        infos = infos+","+clinicalName;
+                    }
+                }
+            }
+        }
+        if(StringUtils.isNotEmpty(infos)){
+            status = "-1";
+        }
+
+        resultDetail.put("status",status);
+        resultDetail.put("info",infos);
+    }
+}

+ 38 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0015.java

@@ -0,0 +1,38 @@
+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.BodyPart;
+import com.lantone.qc.pub.model.entity.Cause;
+import com.lantone.qc.pub.model.entity.Clinical;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0015
+ * @Description :  现病史症状缺少部位,只判断现病史中的第一个症状
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0015 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){
+            Clinical clinical = clinicals.get(0);
+            BodyPart bodyPart = clinical.getBodyPart();
+            if(bodyPart == null){
+                status = "-1";
+            }
+        }
+        resultDetail.put("status",status);
+        resultDetail.put("info",infos);
+    }
+}

+ 31 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0016.java

@@ -0,0 +1,31 @@
+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.BodyPart;
+import com.lantone.qc.pub.model.entity.Clinical;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @ClassName : BEH0016
+ * @Description :  现病史症状缺少性质
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@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);
+    }
+}

+ 42 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0017.java

@@ -0,0 +1,42 @@
+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 : BEH0017
+ * @Description :  现病史症状缺少时间描述
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0017 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        String status = "0";
+        String infos = "";
+        List<String> clinicals_timestamp = new ArrayList<>();
+        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
+        if(clinicals.size()>0){
+            for (Clinical clinical:clinicals) {
+                List<PD> timestamp = clinical.getTimestamp();
+                if(timestamp == null){
+                    clinicals_timestamp.add(clinical.getName());
+                }
+            }
+        }
+        if(clinicals_timestamp.size()>0){
+            status = "-1";
+            infos= clinicals_timestamp.toString();
+        }
+        resultDetail.put("status",status);
+        resultDetail.put("info",infos);
+    }
+}