Просмотр исходного кода

义乌妇保规则更新-胎膜早破、预产期、首页接受机构未填相关规则

“wangdsYun 4 месяцев назад
Родитель
Сommit
2c242cfd3d

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC03331.java

@@ -68,7 +68,7 @@ public class FIRC03331 extends QCCatalogue {
             Date afterDate = StringUtil.parseDateTime(after);//日期转成Date格式
 
             c.setTime(lastMPDate);
-            c.add(Calendar.DATE, 281);//给末次月经时间加281天
+            c.add(Calendar.DATE, 285);//给末次月经时间加281天
             String before = sdf.format(c.getTime());
             Date beforeDate = StringUtil.parseDateTime(before);
 

+ 9 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstpagerecord/FIRP02905.java

@@ -5,6 +5,7 @@ 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.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -18,20 +19,21 @@ import java.util.Map;
 @Component
 public class FIRP02905 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         if (inputInfo.getFirstPageRecordDoc() == null) {
-            status.set("0");
             return;
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String name = firstpageStructureMap.get(Content.receivingOrganization);
-            if (!CatalogueUtil.isEmpty(name)) {
-                status.set("0");
+            String receivingOrganization = firstpageStructureMap.get(Content.receivingOrganization); //接收机构名称
+            String outWay = firstpageStructureMap.get(Content.outWay); //离院方式
+            if (StringUtil.isNotBlank(outWay) && outWay.equals("医嘱转院") && StringUtil.isBlank(receivingOrganization)) {
+                status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.receivingOrganization);
+                id.set(xmlId);
                 return;
             }
-            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
-            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.receivingOrganization);
-            id.set(xmlId);
         }
     }
 }

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

@@ -108,14 +108,18 @@ public class LEA03290 extends QCCatalogue {
             }
             String leaveDiag = leaveHospitalDoc.getStructureMap().get("出院诊断");
             for (String diagCollect : diagCollectList) {
+                leaveDiag = leaveDiag.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                diagCollect = diagCollect.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                if (getLikeRate(leaveDiag, diagCollect) || leaveDiag.contains(diagCollect)) {
+                    status.set("0");
+                    return;
+                }
                 String[] split = diagCollect.split(" ");
                 for (String diagCollectName : split) {
                     if (!diagCollectName.matches(rex)) {
                         continue;
                     }
                     if (StringUtil.isNotEmpty(leaveDiag) && StringUtil.isNotEmpty(diagCollectName)) {
-                        leaveDiag = leaveDiag.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
-                        diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                         if (getLikeRate(leaveDiag, diagCollectName) || leaveDiag.contains(diagCollectName)) {
                             status.set("0");
                             return;

+ 6 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03293.java

@@ -109,14 +109,18 @@ public class LEA03293 extends QCCatalogue {
             //获取入院诊断
             String beHospitalDiag = leaveHospitalDoc.getStructureMap().get("入院诊断");
             for (String diagCollect : diagCollectList) {
+                beHospitalDiag = beHospitalDiag.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                diagCollect = diagCollect.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                if (getLikeRate(beHospitalDiag, diagCollect) || beHospitalDiag.contains(diagCollect)) {
+                    status.set("0");
+                    return;
+                }
                 String[] split = diagCollect.split(" ");
                 for (String diagCollectName : split) {
                     if (!diagCollectName.matches(rex)) {
                         continue;
                     }
                     if (StringUtil.isNotEmpty(beHospitalDiag) && StringUtil.isNotEmpty(diagCollectName)) {
-                        beHospitalDiag = beHospitalDiag.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
-                        diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                         if (getLikeRate(beHospitalDiag, diagCollectName) || beHospitalDiag.contains(diagCollectName)) {
                             status.set("0");
                             return;

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

@@ -113,13 +113,35 @@ public class LEA03323 extends QCCatalogue {
                 status.set("0");
                 return;
             }
+            String leaveDiag = leaveHospitalDoc.getStructureMap().get("出院诊断");
+            if(StringUtil.isEmpty(leaveDiag)){
+                status.set("0");
+                return;
+            }
+            for (String diagCollect : diagCollectList) {
+                if (getLikeRate(leaveDiag, diagCollect) || leaveDiag.contains(diagCollect)) {
+                    status.set("0");
+                    return;
+                }
+                String[] split = diagCollect.split(" ");
+                for (String diagCollectName : split) {
+                    if (!diagCollectName.matches(rex)) {
+                        continue;
+                    }
+                    if (getLikeRate(leaveDiag, diagCollectName) || leaveDiag.contains(diagCollectName)) {
+                        status.set("0");
+                        return;
+                    }
+                }
+            }
+
             //获取入院诊断
-            DiagLabel beHospitalizedLabel = leaveHospitalDoc.getBeHospitalizedLabel();
-            if (beHospitalizedLabel == null) {
+            DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
+            if (leaveDiagLabel == null) {
                 status.set("0");
                 return;
             }
-            List<Diag> diags = beHospitalizedLabel.getDiags();
+            List<Diag> diags = leaveDiagLabel.getDiags();
             if (ListUtil.isEmpty(diags)) {
                 status.set("0");
                 return;

+ 11 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03313.java

@@ -122,22 +122,30 @@ public class OPE03313 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollect : diagCollectList) {
+                    diagCollect = diagCollect.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    operationDiagZ = operationDiagZ.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    if (getLikeRate(operationDiagZ, diagCollect) || operationDiagZ.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
+                    if (getLikeRate(operationDiagO, diagCollect) || operationDiagO.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
                         if (!diagCollectName.matches(rex)) {
                             continue;
                         }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
-                            diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
-                                operationDiagZ = operationDiagZ.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
                                     status.set("0");
                                     return;
                                 }
                             }
                             if (StringUtil.isNotEmpty(operationDiagO)) {
-                                operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                                 if (getLikeRate(operationDiagO, diagCollectName) || operationDiagO.contains(diagCollectName)) {
                                     status.set("0");
                                     return;

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

@@ -123,6 +123,12 @@ public class OPE03315 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollectName : diagCollectList) {
+                    operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    if (getLikeRate(operationDiagO, diagCollectName) || operationDiagO.contains(diagCollectName)) {
+                        status.set("0");
+                        return;
+                    }
                     String[] split = diagCollectName.split(" ");
                     for (String diagCollectNames : split) {
                         if (!diagCollectNames.matches(rex)) {
@@ -130,8 +136,6 @@ public class OPE03315 extends QCCatalogue {
                         }
                         if (StringUtil.isNotEmpty(operationDiagO) && StringUtil.isNotEmpty(diagCollectNames)) {
                             if (StringUtil.isNotEmpty(operationDiagO)) {
-                                operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
-                                diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                                 if (getLikeRate(operationDiagO, diagCollectNames) || operationDiagO.contains(diagCollectNames)) {
                                     status.set("0");
                                     return;

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

@@ -121,22 +121,30 @@ public class OPE03316 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollect : diagCollectList) {
+                    diagCollect = diagCollect.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    operationDiagZ = operationDiagZ.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
+                    if (getLikeRate(operationDiagZ, diagCollect) || operationDiagZ.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
+                    if (getLikeRate(operationDiagO, diagCollect) || operationDiagO.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
                         if (!diagCollectName.matches(rex)) {
                             continue;
                         }
                         if ((StringUtil.isNotEmpty(operationDiagZ) || StringUtil.isNotEmpty(operationDiagO)) && StringUtil.isNotEmpty(diagCollectName)) {
-                            diagCollectName = diagCollectName.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                             if (StringUtil.isNotEmpty(operationDiagZ)) {
-                                operationDiagZ = operationDiagZ.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                                 if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
                                     status.set("0");
                                     return;
                                 }
                             }
                             if (StringUtil.isNotEmpty(operationDiagO)) {
-                                operationDiagO = operationDiagO.replace("妊娠合并子宫疤痕","妊娠合并子宫瘢痕");
                                 if (getLikeRate(operationDiagO, diagCollectName) || operationDiagO.contains(diagCollectName)) {
                                     status.set("0");
                                     return;

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

@@ -125,6 +125,14 @@ public class OPE03319 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollect : diagCollectList) {
+                    if (getLikeRate(operationDiagZ, diagCollect) || operationDiagZ.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
+                    if (getLikeRate(operationDiagO, diagCollect) || operationDiagO.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
                         if (!diagCollectName.matches(rex)) {

+ 8 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03321.java

@@ -124,17 +124,19 @@ public class OPE03321 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollect : diagCollectList) {
+                    if (getLikeRate(operationDiagZ, diagCollect) || operationDiagZ.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
                     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)) {
-                                    status.set("0");
-                                    return;
-                                }
+                        if (StringUtil.isNotEmpty(operationDiagZ)) {
+                            if (getLikeRate(operationDiagZ, diagCollectName) || operationDiagZ.contains(diagCollectName)) {
+                                status.set("0");
+                                return;
                             }
                         }
                     }

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

@@ -126,6 +126,14 @@ public class OPE03322 extends QCCatalogue {
                     continue;
                 }
                 for (String diagCollect : diagCollectList) {
+                    if (getLikeRate(operationDiagZ, diagCollect) || operationDiagZ.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
+                    if (getLikeRate(operationDiagO, diagCollect) || operationDiagO.contains(diagCollect)) {
+                        status.set("0");
+                        return;
+                    }
                     String[] split = diagCollect.split(" ");
                     for (String diagCollectName : split) {
                         if (!diagCollectName.matches(rex)) {