wangsy 3 лет назад
Родитель
Сommit
de04b9f2ad

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

@@ -91,7 +91,7 @@ public class BEH03327 extends QCCatalogue {
             for (String diag : diags) {
                 for (String diagCollectName : diagCollectList) {
                     if (StringUtil.isNotEmpty(diag) && StringUtil.isNotEmpty(diagCollectName)) {
-                        if (getLikeRate(diag, diagCollectName)) {
+                        if (getLikeRate(diag, diagCollectName) || diag.contains(diagCollectName)) {
                             status.set("0");
                             return;
                         }

+ 0 - 67
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03331.java

@@ -1,67 +0,0 @@
-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.doc.BeHospitalizedDoc;
-import com.lantone.qc.pub.util.StringUtil;
-import org.springframework.stereotype.Component;
-
-
-/**
- * @ClassName : BEH03330
- * @Description : 入院记录预产期应为末次月经月份加9或减3,日子加8
- * @Author : wsy
- * @Date: 2022-04-14 17:28
- */
-@Component
-public class BEH03331 extends QCCatalogue {
-
-    @Override
-    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        /**
-         * 1.查证【入院记录】,是否有“预产期”和“末次月经”两个字段,任一不存在则直接返回。
-         * 2.查证【入院记录】>>【末次月经月份】字段内容,字段内容:月+9(月+9大于12则月-3)记为:A【末次月经日】字段内容:日+7(日+7大于30则返回月份,月改记为:A+1,日:日+7-30)记为:B
-         * 3.查证【入院记录】>>【预产期】中的内容与A(月)B(日)对比,内容一致则通过,否则提示
-         * */
-        status.set("0");
-        //获取入院记录
-        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-        if (beHospitalizedDoc == null) {
-            return;
-        }
-        //预产期
-        String eDOC = beHospitalizedDoc.getStructureMap().get("预产期");
-        //末次月经
-        String lastMP = beHospitalizedDoc.getStructureMap().get("末次月经");
-        //末次月经月份
-        String lastMPMonth = beHospitalizedDoc.getStructureMap().get("末次月经月份");
-        //末次月经日
-        String lastMPDay = beHospitalizedDoc.getStructureMap().get("末次月经日");
-        if (StringUtil.isBlank(eDOC) || StringUtil.isBlank(lastMP) || StringUtil.isBlank(lastMPMonth) || StringUtil.isBlank(lastMPDay)) {
-            return;
-        }
-
-        try {
-            int lastMPMonthNum = strConvertInt(lastMPMonth) + 9 > 12 ? strConvertInt(lastMPMonth) - 3 : strConvertInt(lastMPMonth) + 9;
-            int lastMPDayNum = strConvertInt(lastMPDay) + 7;
-            if (lastMPDayNum > 30) {
-                lastMPMonthNum = lastMPMonthNum + 1;
-                lastMPDayNum = lastMPDayNum - 30;
-            }
-            if (lastMPMonthNum != lastMPDayNum) {
-                status.set("-1");
-                return;
-            }
-        } catch (Exception e) {
-
-        }
-
-    }
-
-    //String转int
-    private int strConvertInt(String str) {
-        return Integer.parseInt(str);
-    }
-
-}

+ 0 - 89
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03332.java

@@ -1,89 +0,0 @@
-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.Content;
-import com.lantone.qc.pub.model.InputInfo;
-import com.lantone.qc.pub.model.OutputInfo;
-import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
-import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
-import com.lantone.qc.pub.model.label.ChiefLabel;
-import com.lantone.qc.pub.util.ListUtil;
-import com.lantone.qc.pub.util.StringUtil;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * @ClassName : BEH03332
- * @Description : 入院主诉时间与疑难病例讨论中主诉时间不一致
- * @Author : zhanghang
- * @Date: 2022-04-13 13:54
- */
-@Component
-public class BEH03332 extends QCCatalogue {
-
-    @Override
-    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
-        String sjzz = Content.SJZZ;
-        List<String> timeZZ = new ArrayList<>();
-        //获取主诉
-        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-        //入院记录为空则返回
-        if (beHospitalizedDoc == null) {
-            return;
-        }
-        ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
-        if(chiefLabel==null){
-            return;
-        }
-        String chiefLabelText = chiefLabel.getText();
-        if (StringUtil.isEmpty(chiefLabelText)) {
-            return;
-        }
-        String rex=Content.SJZZ_TIME;
-        String rex2=Content.SJZZ_UNIT;
-        Pattern pattern = Pattern.compile(sjzz);
-        Pattern patternTwo = Pattern.compile(rex2);
-        Matcher ma = pattern.matcher(chiefLabelText);
-        while (ma.find()) {
-            StringBuilder sb = new StringBuilder();
-            String group = ma.group();
-            Matcher maTwo = patternTwo.matcher(group);
-            boolean two = maTwo.find();
-            String groupTwo = maTwo.group();
-            String groupOne = group.replace(groupTwo, "").replace("+","");
-            String toString = sb.append(".*(").append(groupOne).append("[^。,;。,;]{0,3}").append(groupTwo).append(").*").toString();
-            timeZZ.add(toString);
-        }
-        if(ListUtil.isEmpty(timeZZ)){
-            return;
-        }
-        //获取疑难病历讨论记录
-        List<DifficultCaseDiscussDoc> difficultCaseDiscussDocs = inputInfo.getDifficultCaseDiscussDocs();
-        if (ListUtil.isEmpty(difficultCaseDiscussDocs)) {
-            return;
-        }
-        for (DifficultCaseDiscussDoc difficultCaseDiscussDoc : difficultCaseDiscussDocs) {
-            if(difficultCaseDiscussDoc==null){
-                continue;
-            }
-            String discussDoc = difficultCaseDiscussDoc.getStructureMap().get("原始文本");
-            if(StringUtil.isEmpty(discussDoc)){
-                continue;
-            }
-            String aChar = CatalogueUtil.removeSpecialChar(discussDoc);
-            for (String zz : timeZZ) {
-                if(!aChar.matches(zz)){
-                    status.set("-1");
-                    return;
-                }
-            }
-        }
-        return;
-    }
-}

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03290.java

@@ -110,6 +110,9 @@ public class LEA03290 extends QCCatalogue {
             for (String diagCollect : diagCollectList) {
                 String[] split = diagCollect.split(" ");
                 for (String diagCollectName : split) {
+                    if (!diagCollectName.matches(rex)) {
+                        continue;
+                    }
                     if (StringUtil.isNotEmpty(leaveDiag) && StringUtil.isNotEmpty(diagCollectName)) {
                         if (getLikeRate(leaveDiag, diagCollectName) || leaveDiag.contains(diagCollectName)) {
                             status.set("0");

+ 4 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03293.java

@@ -111,6 +111,9 @@ public class LEA03293 extends QCCatalogue {
             for (String diagCollect : diagCollectList) {
                 String[] split = diagCollect.split(" ");
                 for (String diagCollectName : split) {
+                    if (!diagCollectName.matches(rex)) {
+                        continue;
+                    }
                     if (StringUtil.isNotEmpty(beHospitalDiag) && StringUtil.isNotEmpty(diagCollectName)) {
                         if (getLikeRate(beHospitalDiag, diagCollectName) || beHospitalDiag.contains(diagCollectName)) {
                             status.set("0");
@@ -139,7 +142,7 @@ public class LEA03293 extends QCCatalogue {
             JSONObject dataContent = data.getJSONObject(0);
             likeRate = dataContent.getDoubleValue("like_rate");
         }
-        if (likeRate > 0.9) {
+        if (likeRate > 0.7) {
             return true;
         }
         return false;

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03323.java

@@ -129,6 +129,9 @@ public class LEA03323 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if (StringUtil.isNotEmpty(diagName) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (getLikeRate(diagName, diagCollectName)) {
                                 status.set("0");

+ 11 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03328.java

@@ -95,11 +95,17 @@ public class LEA03328 extends QCCatalogue {
             }
             for (Diag diag : diags) {
                 String diagName = diag.getHospitalDiagName();
-                for (String diagCollectName : diagCollectList) {
-                    if (StringUtil.isNotEmpty(diagName) && StringUtil.isNotEmpty(diagCollectName)) {
-                        if (getLikeRate(diagName, diagCollectName)) {
-                            status.set("0");
-                            return;
+                for (String diagCollect : diagCollectList) {
+                    String[] split = diagCollect.split(" ");
+                    for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
+                        if (StringUtil.isNotEmpty(diagName) && StringUtil.isNotEmpty(diagCollectName)) {
+                            if (getLikeRate(diagName, diagCollectName)) {
+                                status.set("0");
+                                return;
+                            }
                         }
                     }
                 }

+ 4 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03313.java

@@ -124,6 +124,9 @@ public class OPE03313 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
@@ -161,7 +164,7 @@ public class OPE03313 extends QCCatalogue {
             JSONObject dataContent = data.getJSONObject(0);
             likeRate = dataContent.getDoubleValue("like_rate");
         }
-        if (likeRate > 0.9) {
+        if (likeRate > 0.7) {
             return true;
         }
         return false;

+ 4 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03315.java

@@ -125,6 +125,9 @@ public class OPE03315 extends QCCatalogue {
                 for (String diagCollectName : diagCollectList) {
                     String[] split = diagCollectName.split(" ");
                     for (String diagCollectNames : split) {
+                        if (!diagCollectNames.matches(rex)) {
+                            continue;
+                        }
                         if (StringUtil.isNotEmpty(operationDiagO) && StringUtil.isNotEmpty(diagCollectNames)) {
                             if (StringUtil.isNotEmpty(operationDiagO)) {
                                 if (getLikeRate(operationDiagO, diagCollectNames) || operationDiagO.contains(diagCollectNames)) {
@@ -156,7 +159,7 @@ public class OPE03315 extends QCCatalogue {
             JSONObject dataContent = data.getJSONObject(0);
             likeRate = dataContent.getDoubleValue("like_rate");
         }
-        if (likeRate > 0.9) {
+        if (likeRate > 0.7) {
             return true;
         }
         return false;

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03316.java

@@ -123,6 +123,9 @@ public class OPE03316 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03319.java

@@ -127,6 +127,9 @@ public class OPE03319 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03321.java

@@ -126,6 +126,9 @@ public class OPE03321 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if ((StringUtil.isNotEmpty(operationDiagZ)) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03322.java

@@ -128,6 +128,9 @@ public class OPE03322 extends QCCatalogue {
                 for (String diagCollect : diagCollectList) {
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
+                        if (!diagCollectName.matches(rex)) {
+                            continue;
+                        }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {