Browse Source

义乌妇保规则更新-妊娠合并子宫疤痕、婚姻状况不一致、会阴裂伤、输血史等相关规则更新

“wangdsYun 6 months ago
parent
commit
63218238bc

+ 2 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0028.java

@@ -33,7 +33,7 @@ public class BEH0028 extends QCCatalogue {
             return;
         }
         String past = behStructure.get("既往史");
-        if (StringUtil.isNotBlank(past) && past.contains("")) {
+        if (StringUtil.isNotBlank(past) && past.contains("血")) {
             status.set("0");
             return;
         }
@@ -44,7 +44,7 @@ public class BEH0028 extends QCCatalogue {
             return;
         }
         String pastText = pastLabel.getText();
-        if (pastText.contains("血") || pastText.contains("详见原病历")) {
+        if (pastText.contains("血") || pastText.contains("详见原病历")) {
             status.set("0");
             return;
         }

+ 10 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0372.java

@@ -38,7 +38,12 @@ public class BEH0372 extends QCCatalogue {
             return;
         }
 
-        if (bhbasicInfoStatus.equals("未婚") && basicInfoStatus.contains("未婚")) {
+        if(bhbasicInfoStatus.contains("10") || bhbasicInfoStatus.contains("30")){
+            status.set("0");
+            return;
+        }
+
+        if (bhbasicInfoStatus.equals("未婚") && basicInfoStatus.contains("未")) {
             status.set("0");
             return;
         }
@@ -53,13 +58,14 @@ public class BEH0372 extends QCCatalogue {
             return;
         }
 
-        if ((bhbasicInfoStatus.equals("离婚") || bhbasicInfoStatus.equals("离异")) &&
-                (basicInfoStatus.contains("离异") || bhbasicInfoStatus.equals("离婚"))) {
+        if ((bhbasicInfoStatus.equals("离婚") || bhbasicInfoStatus.equals("离异") || bhbasicInfoStatus.equals("40")) &&
+                (basicInfoStatus.contains("离异") || basicInfoStatus.equals("离婚"))) {
             status.set("0");
             return;
         }
 
-        if (bhbasicInfoStatus.equals("已婚") && basicInfoStatus.contains("结婚")) {
+        if ((bhbasicInfoStatus.equals("已婚") || bhbasicInfoStatus.equals("20") || bhbasicInfoStatus.equals("再婚"))
+                && basicInfoStatus.contains("结婚")) {
             status.set("0");
             return;
         }

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

@@ -114,6 +114,8 @@ public class LEA03290 extends QCCatalogue {
                         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;

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

@@ -115,6 +115,8 @@ public class LEA03293 extends QCCatalogue {
                         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;

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

@@ -89,23 +89,21 @@ public class LEA03328 extends QCCatalogue {
             if (leaveDiagLabel == null) {
                 return;
             }
-            List<Diag> diags = leaveDiagLabel.getDiags();
-            if (ListUtil.isEmpty(diags)) {
-                return;
-            }
-            for (Diag diag : diags) {
-                String diagName = diag.getHospitalDiagName();
-                for (String diagCollect : diagCollectList) {
-                    String[] split = diagCollect.split(" ");
-                    for (String diagCollectName : split) {
-                        if (!diagCollectName.matches(rex)) {
-                            continue;
+            String leaveDiag = leaveHospitalDoc.getStructureMap().get("出院诊断");
+            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 (leaveDiag.contains("会阴裂伤") && diagCollectName.contains("会阴裂伤")){
+                            status.set("0");
+                            return;
                         }
-                        if (StringUtil.isNotEmpty(diagName) && StringUtil.isNotEmpty(diagCollectName)) {
-                            if (getLikeRate(diagName, diagCollectName)) {
-                                status.set("0");
-                                return;
-                            }
+                        if (getLikeRate(leaveDiag, diagCollectName) || leaveDiag.contains(diagCollectName)) {
+                            status.set("0");
+                            return;
                         }
                     }
                 }

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

@@ -128,13 +128,16 @@ public class OPE03313 extends QCCatalogue {
                             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;

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

@@ -130,6 +130,8 @@ 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;

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

@@ -127,13 +127,16 @@ public class OPE03316 extends QCCatalogue {
                             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;

+ 9 - 9
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/BeHospitalizedAI.java

@@ -84,21 +84,21 @@ public class BeHospitalizedAI extends ModelAI {
             /* 月经史文本需从个人史截取一部分文本拼接 */
             String concatMenstrual = "";
             /* 个人史 */
-            if (beHospitalizedDoc.getPersonalLabel() != null && beHospitalizedDoc.getPersonalLabel().isCrfLabel()) {
-                String personalText = beHospitalizedDoc.getPersonalLabel().getText();
-                putContent(crfContent, medicalTextType.get(2), personalText, Content.personal);
-                concatMenstrual = getConcatMenstrual(concatMenstrual, personalText);
-            }
+//            if (beHospitalizedDoc.getPersonalLabel() != null && beHospitalizedDoc.getPersonalLabel().isCrfLabel()) {
+//                String personalText = beHospitalizedDoc.getPersonalLabel().getText();
+//                putContent(crfContent, medicalTextType.get(2), personalText, Content.personal);
+//                concatMenstrual = getConcatMenstrual(concatMenstrual, personalText);
+//            }
             /* 婚育史 */
             if (beHospitalizedDoc.getMaritalLabel() != null && beHospitalizedDoc.getMaritalLabel().isCrfLabel()) {
                 String maritalText = beHospitalizedDoc.getMaritalLabel().getText();
                 putContent(crfContent, medicalTextType.get(2), maritalText, Content.marriage);
             }
             /* 月经史 */
-            if (beHospitalizedDoc.getMenstrualLabel() != null && beHospitalizedDoc.getMenstrualLabel().isCrfLabel()) {
-                String menstrualText = beHospitalizedDoc.getMenstrualLabel().getText();
-                putContent(crfContent, medicalTextType.get(2), concatMenstrual, menstrualText, Content.menses);
-            }
+//            if (beHospitalizedDoc.getMenstrualLabel() != null && beHospitalizedDoc.getMenstrualLabel().isCrfLabel()) {
+//                String menstrualText = beHospitalizedDoc.getMenstrualLabel().getText();
+//                putContent(crfContent, medicalTextType.get(2), concatMenstrual, menstrualText, Content.menses);
+//            }
             /* 家族史 */
             if (beHospitalizedDoc.getFamilyLabel() != null && beHospitalizedDoc.getFamilyLabel().isCrfLabel()) {
                 String familyText = beHospitalizedDoc.getFamilyLabel().getText();

+ 7 - 1
trans/src/main/java/com/lantone/qc/trans/yiwu/YiWuBeHospitalizedDocTrans.java

@@ -127,6 +127,13 @@ public class YiWuBeHospitalizedDocTrans extends ModelDocTrans {
                 structureMap.put("民族", value);
             }
         }
+        //处理婚姻状况包含其他数据的情况
+        if(structureMap.containsKey("婚姻状况")){
+            String value= structureMap.get("婚姻状况");
+            if(StringUtil.isNotEmpty(value) && value.contains(" ")){
+                structureMap.put("婚姻状况", value.split(" ")[0]);
+            }
+        }
         //如果有入院时间,优先使用
         addKeyMapping(structureMap, "入院时间", "入病房时间");
         //如果有职业,优先使用
@@ -207,7 +214,6 @@ public class YiWuBeHospitalizedDocTrans extends ModelDocTrans {
             "医师签字时间=初步诊断日期",
             "医师签名时间=初步诊断日期",
             "入院诊断编码=初步诊断",
-            "婚姻=婚姻状况",
             "病史提供者=病史陈述者",
             "家庭地址=户口地址",
             "患者手机号码=联系电话",