Explorar o código

义乌妇幼保规则更新

wangsy %!s(int64=3) %!d(string=hai) anos
pai
achega
12cf0dce4e

+ 12 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03336.java

@@ -83,21 +83,24 @@ public class BEH03336 extends QCCatalogue {
             return;
         }
 
-        //获取入院记录既往史中疾病信息
-        List<String> diags = new ArrayList<>();
+        boolean flag = true;
         //获取既往史
         PastLabel pastLabel = beHospitalizedDoc.getPastLabel();
-        if (pastLabel != null) {
-            List<Diag> diagLists = pastLabel.getDiags();
-            if (ListUtil.isNotEmpty(diagLists)) {
-                diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(QKRex))).forEach(diag ->
-                        diags.add(diag.getHospitalDiagName()));
+        if (pastLabel == null) {
+            return;
+        }
+        String text = pastLabel.getText();
+        if (StringUtil.isNotBlank(text)) {
+            for (String diag : diagList) {
+                if (StringUtil.isNotBlank(text) && (text.contains(diag) || text.contains("子宫下段剖宫产术"))) {
+                    flag = false;
+                    break;
+                }
             }
         }
-        if (ListUtil.isEmpty(diags)) {
+        if (flag) {
             status.set("-1");
             return;
         }
     }
-
 }

+ 7 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03300.java

@@ -26,14 +26,15 @@ import java.util.Date;
 */
 
 public class FIRP03300 extends QCCatalogue {
-    public void start(InputInfo inputInfo, OutputInfo outputInfo){
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         //查证【病案首页】,有则继续
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
-        if(firstPageRecordDoc == null){
+        if (firstPageRecordDoc == null) {
             return;
         }
         MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
-        if(medicalRecordInfoDoc == null){
+        if (medicalRecordInfoDoc == null) {
             return;
         }
         //定义变量,并将住院信息表中的出院科室信息赋值给变量
@@ -51,15 +52,15 @@ public class FIRP03300 extends QCCatalogue {
         Date now = new Date();//获取当前时间
         String beHospital_Date = medicalRecordInfoDoc.getStructureMap().get("behospital_date");//获取入院时间
         Date beginTime = StringUtil.parseDateTime(beHospital_Date);//将获得的时间转化成date类型
-        if(!CatalogueUtil.compareTime(beginTime,now,l)){
+        if (!CatalogueUtil.compareTime(beginTime, now, l)) {
             return;
         }
 
 
-
-
         String blood = firstPageRecordDoc.getStructureMap().get("血型");
         if (StringUtil.isNotBlank(blood) && (blood.contains("不详") || blood.contains("未查")
+                || blood.contains("1") || blood.contains("2") || blood.contains("3") || blood.contains("4")
+                || blood.contains("A") || blood.contains("B") || blood.contains("O") || blood.contains("AB")
                 || blood.contains("6") || blood.contains("5") || blood.contains("5不详")
                 || blood.contains("6未查") || blood.contains("5.不详") || blood.contains("6.未查"))) {
 

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03333.java

@@ -39,7 +39,7 @@ public class FIRP03333 extends QCCatalogue {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
-        if (beHospitalizedDoc == null && firstPageRecordDoc == null) {
+        if (beHospitalizedDoc == null || firstPageRecordDoc == null) {
             return;
         }
         //匹配既往史是否有子宫瘢痕相关手术史正则

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03334.java

@@ -42,7 +42,7 @@ public class FIRP03334 extends QCCatalogue {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
-        if (beHospitalizedDoc == null && firstPageRecordDoc == null) {
+        if (beHospitalizedDoc == null || firstPageRecordDoc == null) {
             return;
         }
         //匹配既往史是否有子宫瘢痕相关手术史正则

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

@@ -45,7 +45,7 @@ public class LEA03290 extends QCCatalogue {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
-        if (beHospitalizedDoc == null && firstPageRecordDoc == null) {
+        if (beHospitalizedDoc == null || firstPageRecordDoc == null) {
             return;
         }
         //匹配疾病正则

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

@@ -103,6 +103,7 @@ public class LEA03293 extends QCCatalogue {
             //获取出院小结
             LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
             if (leaveHospitalDoc == null) {
+                status.set("0");
                 return;
             }
             //获取入院诊断

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

@@ -51,7 +51,7 @@ public class LEA03323 extends QCCatalogue {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
-        if (beHospitalizedDoc == null && firstPageRecordDoc == null) {
+        if (beHospitalizedDoc == null || firstPageRecordDoc == null) {
             return;
         }
         Date date = StringUtil.parseDateTime("0");

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

@@ -48,7 +48,7 @@ public class LEA03328 extends QCCatalogue {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         //获取出院小结
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        if (beHospitalizedDoc == null && leaveHospitalDoc == null) {
+        if (beHospitalizedDoc == null || leaveHospitalDoc == null) {
             return;
         }
         //匹配疾病正则

+ 18 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03313.java

@@ -24,6 +24,8 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -108,7 +110,8 @@ public class OPE03313 extends QCCatalogue {
             for (OperationDoc operationDoc : operationDocs) {
                 OperationDiscussionDoc operationDiscussionDoc = operationDoc.getOperationDiscussionDoc();
                 if (operationDiscussionDoc == null) {
-                    continue;
+                    status.set("0");
+                    return;
                 }
                 //获取术后诊断
                 Map<String, String> structureMap = operationDiscussionDoc.getStructureMap();
@@ -117,18 +120,21 @@ public class OPE03313 extends QCCatalogue {
                 if (StringUtil.isEmpty(operationDiagZ) && StringUtil.isEmpty(operationDiagO)) {
                     continue;
                 }
-                for (String diagCollectName : diagCollectList) {
-                    if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
-                        if (StringUtil.isNotEmpty(operationDiagZ)) {
-                            if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
-                                status.set("0");
-                                return;
+                for (String diagCollect : diagCollectList) {
+                    String[] split = diagCollect.split(" ");
+                    for (String diagCollectName : split) {
+                        if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
+                            if (StringUtil.isNotEmpty(operationDiagZ)) {
+                                if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
+                                    status.set("0");
+                                    return;
+                                }
                             }
-                        }
-                        if (StringUtil.isNotEmpty(operationDiagO)) {
-                            if (getLikeRate(operationDiagO, diagCollectName) || operationDiagO.contains(diagCollectName)) {
-                                status.set("0");
-                                return;
+                            if (StringUtil.isNotEmpty(operationDiagO)) {
+                                if (getLikeRate(operationDiagO, diagCollectName) || operationDiagO.contains(diagCollectName)) {
+                                    status.set("0");
+                                    return;
+                                }
                             }
                         }
                     }

+ 2 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03315.java

@@ -105,11 +105,13 @@ public class OPE03315 extends QCCatalogue {
             //获取手术记录
             List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
             if (ListUtil.isEmpty(operationDocs)) {
+                status.set("0");
                 return;
             }
             for (OperationDoc operationDoc : operationDocs) {
                 OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
                 if (operationRecordDoc == null) {
+                    status.set("0");
                     continue;
                 }
                 //获取术前诊断

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

@@ -104,11 +104,13 @@ public class OPE03316 extends QCCatalogue {
             //获取术后首程病程录
             List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
             if (ListUtil.isEmpty(operationDocs)) {
+                status.set("0");
                 return;
             }
             for (OperationDoc operationDoc : operationDocs) {
                 OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
                 if (operationRecordDoc == null) {
+                    status.set("0");
                     continue;
                 }
                 //获取术后诊断

+ 4 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03319.java

@@ -65,7 +65,7 @@ public class OPE03319 extends QCCatalogue {
                 List<Diag> diagLists = initialDiagLabel.getDiags();
                 if (ListUtil.isNotEmpty(diagLists)) {
                     diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) ||
-                            diag.getHospitalDiagName().matches(rex) || diag.getHospitalDiagName().contains("胎膜早破") )).forEach(diag ->
+                            diag.getHospitalDiagName().matches(rex) || diag.getHospitalDiagName().contains("胎膜早破"))).forEach(diag ->
                             diagList.add(diag.getHospitalDiagName()));
                 }
 
@@ -94,7 +94,7 @@ public class OPE03319 extends QCCatalogue {
             if (StringUtil.isNotEmpty(leaveDiagStr)) {
                 List<Map<String, String>> leaveDiagList = (List<Map<String, String>>) JSONArray.parse(leaveDiagStr);
                 leaveDiagList.stream().filter(diagMap -> StringUtil.isNotEmpty(diagMap.get("诊断名称")) && (diagListWords.contains(diagMap.get("诊断名称")) ||
-                        diagMap.get("诊断名称").matches(rex) || diagMap.get("诊断名称").contains("胎膜早破") )).forEach(diagMap ->
+                        diagMap.get("诊断名称").matches(rex) || diagMap.get("诊断名称").contains("胎膜早破"))).forEach(diagMap ->
                         diagList.add(diagMap.get("诊断名称")));
             }
         }
@@ -108,11 +108,13 @@ public class OPE03319 extends QCCatalogue {
             //获取术后首程病程录
             List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
             if (ListUtil.isEmpty(operationDocs)) {
+                status.set("0");
                 return;
             }
             for (OperationDoc operationDoc : operationDocs) {
                 OperationDiscussionDoc operationDiscussionDoc = operationDoc.getOperationDiscussionDoc();
                 if (operationDiscussionDoc == null) {
+                    status.set("0");
                     continue;
                 }
                 //获取术后诊断

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

@@ -108,11 +108,13 @@ public class OPE03321 extends QCCatalogue {
             //获取手术记录
             List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
             if (ListUtil.isEmpty(operationDocs)) {
+                status.set("0");
                 return;
             }
             for (OperationDoc operationDoc : operationDocs) {
                 OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
                 if (operationRecordDoc == null) {
+                    status.set("0");
                     continue;
                 }
                 //获取术后诊断

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

@@ -109,11 +109,13 @@ public class OPE03322 extends QCCatalogue {
             //获取手术记录
             List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
             if (ListUtil.isEmpty(operationDocs)) {
+                status.set("0");
                 return;
             }
             for (OperationDoc operationDoc : operationDocs) {
                 OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
                 if (operationRecordDoc == null) {
+                    status.set("0");
                     continue;
                 }
                 //获取术后诊断

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03304.java

@@ -56,7 +56,7 @@ public class THR03304 extends QCCatalogue {
         }
         //获取查房记录集合
         List<ThreeLevelWardDoc> threeLevel = inputInfo.getThreeLevelWardDocs();
-        if (threeLevel.get(0).getAllDoctorWradDocs() == null) {
+        if (threeLevel.get(0).getAllDoctorWradDocs() == null || threeLevel.get(0).getAllDoctorWradDocs().size() == 0) {
             return;
         }
         //获取查房记录中的所有查房记录