소스 검색

Merge remote-tracking branch 'origin/dev-1.2' into dev-1.2

wangyu 5 년 전
부모
커밋
8384436f7d

+ 30 - 29
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0064.java

@@ -23,40 +23,41 @@ import java.util.Map;
 public class BEH0064 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
-                status.set("0"); //如果性别是男,就不报错
-            } else {
-                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-                if (StringUtil.isNotBlank(structureMap.get("月经量"))) {
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        if (inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            status.set("0"); //如果性别是男,就不报错
+        } else {
+            Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            if (StringUtil.isNotBlank(structureMap.get("月经量"))) {
+                status.set("0");
+                return;
+            }
+            //硬规则匹配经量
+            if (StringUtil.isNotBlank(structureMap.get("月经史"))) {
+                if (structureMap.get("月经史").contains("经量")) {
                     status.set("0");
                     return;
                 }
-                //硬规则匹配经量
-                if (StringUtil.isNotBlank(structureMap.get("月经史"))) {
-                    if(structureMap.get("月经史").contains("经量")){
-                        status.set("0");
-                        return;
-                    }
+            }
+            if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                List<Menses> mensesList = menstrualLabel.getMensesList();
+                if (ListUtil.isEmpty(mensesList)) {
+                    return;
                 }
-                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                    List<Menses> mensesList = menstrualLabel.getMensesList();
-                    if (ListUtil.isEmpty(mensesList)) {
-                        return;
+                for (Menses menses : mensesList) {
+                    if (menses.getClinicals() == null) {
+                        continue;
                     }
-                    for (Menses menses : mensesList) {
-                        if (menses.getClinicals() == null) {
-                            continue;
-                        }
-                        List<Clinical> clinicals = menses.getClinicals();
-                        for (Clinical clinical : clinicals) {
-                            if (clinical.getName().contains("经量")) {
-                                status.set("0");
-                                return;
-                            }
+                    List<Clinical> clinicals = menses.getClinicals();
+                    for (Clinical clinical : clinicals) {
+                        if (clinical.getName().contains("经量")) {
+                            status.set("0");
+                            return;
                         }
                     }
                 }

+ 26 - 25
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0065.java

@@ -22,32 +22,33 @@ import java.util.List;
 public class BEH0065 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
-                status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                if (menstrualLabel != null) {
-                    if (StringUtil.isNotBlank(menstrualLabel.getText()) && menstrualLabel.getText().contains("颜色")){
-                        status.set("0");
-                        return;
-                    }
-                    List<Menses> mensesList = menstrualLabel.getMensesList();
-                    if (ListUtil.isEmpty(mensesList)) {
-                        return;
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        if (inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            status.set("0"); //如果性别是男,就不报错
+        } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+            MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+            if (menstrualLabel != null) {
+                if (StringUtil.isNotBlank(menstrualLabel.getText()) && menstrualLabel.getText().contains("颜色")) {
+                    status.set("0");
+                    return;
+                }
+                List<Menses> mensesList = menstrualLabel.getMensesList();
+                if (ListUtil.isEmpty(mensesList)) {
+                    return;
+                }
+                for (Menses menses : mensesList) {
+                    if (menses.getClinicals() == null) {
+                        continue;
                     }
-                    for (Menses menses : mensesList) {
-                        if (menses.getClinicals() == null) {
-                            continue;
-                        }
-                        List<Clinical> clinicals = menses.getClinicals();
-                        for (Clinical clinical : clinicals) {
-                            if (clinical.getName().contains("颜色")) {
-                                status.set("0");
-                                return;
-                            }
+                    List<Clinical> clinicals = menses.getClinicals();
+                    for (Clinical clinical : clinicals) {
+                        if (clinical.getName().contains("颜色")) {
+                            status.set("0");
+                            return;
                         }
                     }
                 }

+ 21 - 20
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0066.java

@@ -21,27 +21,28 @@ import java.util.List;
 public class BEH0066 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
-                status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                if (ListUtil.isEmpty(mensesList)) {
-                    return;
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        if (inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            status.set("0"); //如果性别是男,就不报错
+        } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+            MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+            List<Menses> mensesList = menstrualLabel.getMensesList();
+            if (ListUtil.isEmpty(mensesList)) {
+                return;
+            }
+            for (Menses menses : mensesList) {
+                if (menses.getClinicals() == null) {
+                    continue;
                 }
-                for (Menses menses : mensesList) {
-                    if (menses.getClinicals() == null) {
-                        continue;
-                    }
-                    List<Clinical> clinicals = menses.getClinicals();
-                    for (Clinical clinical : clinicals) {
-                        if (clinical.getName().contains("血块")) {
-                            status.set("0");
-                            return;
-                        }
+                List<Clinical> clinicals = menses.getClinicals();
+                for (Clinical clinical : clinicals) {
+                    if (clinical.getName().contains("血块")) {
+                        status.set("0");
+                        return;
                     }
                 }
             }

+ 33 - 32
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0067.java

@@ -23,43 +23,44 @@ import java.util.Map;
 public class BEH0067 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
-                status.set("0"); //如果性别是男,就不报错
-            } else {
-                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-                if (StringUtil.isNotBlank(structureMap.get("痛经"))) {
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        if (inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            status.set("0"); //如果性别是男,就不报错
+        } else {
+            Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            if (StringUtil.isNotBlank(structureMap.get("痛经"))) {
+                status.set("0");
+                return;
+            }
+            if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                String labelText = menstrualLabel.getText();
+                if (StringUtil.isNotBlank(labelText) && labelText.contains("痛经")) {
                     status.set("0");
                     return;
                 }
-                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                    String labelText = menstrualLabel.getText();
-                    if (StringUtil.isNotBlank(labelText) && labelText.contains("痛经")) {
-                        status.set("0");
-                        return;
-                    }
 
-                    if (menstrualLabel == null || ListUtil.isEmpty(menstrualLabel.getMensesList())) {
-                        return;
-                    }
-                    List<Menses> mensesList = menstrualLabel.getMensesList();
-                    if (ListUtil.isEmpty(mensesList)) {
-                        return;
+                if (ListUtil.isEmpty(menstrualLabel.getMensesList())) {
+                    return;
+                }
+                List<Menses> mensesList = menstrualLabel.getMensesList();
+                if (ListUtil.isEmpty(mensesList)) {
+                    return;
+                }
+                for (Menses menses : mensesList) {
+                    if (menses.getClinicals() == null) {
+                        continue;
                     }
-                    for (Menses menses : mensesList) {
-                        if (menses.getClinicals() == null) {
-                            continue;
-                        }
-                        List<Clinical> clinicals = menses.getClinicals();
-                        if (ListUtil.isNotEmpty(clinicals)) {
-                            for (Clinical clinical : clinicals) {
-                                if (clinical.getName().contains("痛经")) {
-                                    status.set("0");
-                                    return;
-                                }
+                    List<Clinical> clinicals = menses.getClinicals();
+                    if (ListUtil.isNotEmpty(clinicals)) {
+                        for (Clinical clinical : clinicals) {
+                            if (clinical.getName().contains("痛经")) {
+                                status.set("0");
+                                return;
                             }
                         }
                     }

+ 18 - 18
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0068.java

@@ -4,7 +4,6 @@ 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.label.MenstrualLabel;
-import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -20,25 +19,26 @@ import java.util.Map;
 public class BEH0068 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
-                status.set("0"); //如果性别是男,就不报错
-            } else {
-                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-                if (StringUtil.isNotBlank(structureMap.get("白带"))) {
-                    status.set("0");
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        if (inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            status.set("0"); //如果性别是男,就不报错
+        } else {
+            Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            if (StringUtil.isNotBlank(structureMap.get("白带"))) {
+                status.set("0");
+                return;
+            }
+            if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                if (menstrualLabel == null || menstrualLabel.getLeukorrheas() == null) {
                     return;
                 }
-                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                    if (menstrualLabel == null || menstrualLabel.getLeukorrheas() == null){
-                        return;
-                    }
-                    if (menstrualLabel.getLeukorrheas().size() > 0) {
-                        status.set("0");
-                    }
+                if (menstrualLabel.getLeukorrheas().size() > 0) {
+                    status.set("0");
                 }
             }
         }

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

@@ -33,7 +33,9 @@ public class BEH0375 extends QCCatalogue {
         //硬规则 匹配未婚
         MaritalLabel maritalLabel = inputInfo.getBeHospitalizedDoc().getMaritalLabel();
         if (maritalLabel != null &&
-                (maritalLabel.getText().contains("未婚") || maritalLabel.getText().contains("离婚"))) {
+                (maritalLabel.getText().contains("未婚")
+                        || maritalLabel.getText().contains("离婚")
+                        || maritalLabel.getText().contains("已故"))) {
             status.set("0");
             return;
         }

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

@@ -25,7 +25,7 @@ public class BEH0438 extends QCCatalogue {
         }
         Map<String, String> bhMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         if(bhMap != null){
-            String birthDate = bhMap.get("出生日期");
+            String birthDate = bhMap.get("出生时间");
             if(birthDate != null){
                 if(CatalogueUtil.isEmpty(birthDate)){
                     status.set("-1");

+ 25 - 25
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0353.java

@@ -28,37 +28,37 @@ public class OPE0353 extends QCCatalogue {
         //            return;
         //        }
         //        boolean isOperativePatient = CatalogueUtil.isOperativePatients(doctorAdviceDocs);
-//        boolean isOperativePatient = true;//是手术患者(暂时默认是)
-//        if (isOperativePatient) {
-            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
-        if(operationDocs == null || operationDocs.size() == 0){
+        //        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        //        if (isOperativePatient) {
+        List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+        if (operationDocs == null || operationDocs.size() == 0) {
             status.set("0");
             return;
         }
-            if (ListUtil.isEmpty(operationDocs)) {
-                return;
+        if (ListUtil.isEmpty(operationDocs)) {
+            return;
+        }
+        for (OperationDoc operationDoc : operationDocs) {
+            OperationDiscussionDoc operationDiscussionDoc = operationDoc.getOperationDiscussionDoc();
+            if (operationDiscussionDoc == null) {
+                continue;
+            }
+            //结构化读取手术术后处理措施和注意事项
+            if (operationDiscussionDoc.getStructureMap().get("术后处理措施") != null
+                    || operationDiscussionDoc.getStructureMap().get("术后注意事项") != null) {
+                continue;
             }
-            for (OperationDoc operationDoc : operationDocs) {
-                OperationDiscussionDoc operationDiscussionDoc = operationDoc.getOperationDiscussionDoc();
-                if (operationDiscussionDoc == null) {
-                    continue;
-                }
-                //结构化读取手术术后处理措施和注意事项
-                if (operationDiscussionDoc.getStructureMap().get("术前术后注意事项") != null
-                        && operationDiscussionDoc.getStructureMap().get("可能意外和防范措施") != null) {
-                    continue;
-                }
 
-                OperationDiscussionLabel operationDiscussionLabel = operationDiscussionDoc.getOperationDiscussionLabel();
-                String measuresAfterOp = operationDiscussionLabel.getMeasuresAfterOp();
-                String attentionAfterOp = operationDiscussionLabel.getAttentionAfterOp();
-                if (StringUtil.isBlank(measuresAfterOp) || measuresAfterOp.length() < 10
-                        || StringUtil.isBlank(attentionAfterOp) || attentionAfterOp.length() < 10) {
-                    status.set("-1");
-                    return;
-                }
+            OperationDiscussionLabel operationDiscussionLabel = operationDiscussionDoc.getOperationDiscussionLabel();
+            String measuresAfterOp = operationDiscussionLabel.getMeasuresAfterOp();
+            String attentionAfterOp = operationDiscussionLabel.getAttentionAfterOp();
+            if (StringUtil.isBlank(measuresAfterOp) || measuresAfterOp.length() < 10
+                    || StringUtil.isBlank(attentionAfterOp) || attentionAfterOp.length() < 10) {
+                status.set("-1");
+                return;
             }
         }
-//    }
+    }
+    //    }
 
 }

+ 6 - 0
trans/src/main/java/com/lantone/qc/trans/changx/ChangxBeHospitalizedDocTrans.java

@@ -76,7 +76,9 @@ public class ChangxBeHospitalizedDocTrans extends ModelDocTrans {
             "供史者++++病史叙述者=病史陈述者",
             "++++病史叙述者=病史陈述者",
             "供史者++++供史者新=病史陈述者",
+            "供史者=病史陈述者",
             "病史叙述者=病史陈述者",
+            "病史提供者++++病史叙述者=病史陈述者",
             "婚育史:=婚育史",
             "外生殖器++++外生殖器文本框=",
             "户口地址=联系地址",
@@ -85,6 +87,10 @@ public class ChangxBeHospitalizedDocTrans extends ModelDocTrans {
             "家长姓名++++家长=家长姓名",
             "职业++++首页职业新=职业",
             "签名时间++++修正签名时间=修正签名时间",
+            "修正诊断++++初步诊断=修正诊断",
+            "与患者关系=关系",
+            "出生日期=出生时间",
+            "入院情况=入院病情",
             "签名++++=医师签名"
     );
 

+ 4 - 4
trans/src/main/java/com/lantone/qc/trans/changx/ChangxOperationDocTrans.java

@@ -45,11 +45,11 @@ public class ChangxOperationDocTrans extends ModelDocTrans {
         Map<String, OperationSafetyChecklistDoc> operationSafetyChecklistDocMap = getOperationSafetyChecklistDocMap(contentMap.get("手术安全核查表"));
 
         Set<String> operationNameSet = Sets.newHashSet();
-        operationNameSet.addAll(operationDiscussionDocMap.keySet());
+//        operationNameSet.addAll(operationDiscussionDocMap.keySet());
         operationNameSet.addAll(operationRecordDocMap.keySet());
-        operationNameSet.addAll(preoperativeDiscussionDocMap.keySet());
-        operationNameSet.addAll(operationInformedConsentDocMap.keySet());
-        operationNameSet.addAll(operationSafetyChecklistDocMap.keySet());
+//        operationNameSet.addAll(preoperativeDiscussionDocMap.keySet());
+//        operationNameSet.addAll(operationInformedConsentDocMap.keySet());
+//        operationNameSet.addAll(operationSafetyChecklistDocMap.keySet());
 
         operationNameSet.forEach(operationName -> {
             OperationDoc operationDoc = new OperationDoc();