Explorar el Código

婚姻状况前后不一致

zhaops hace 3 años
padre
commit
97e232b3f8

+ 19 - 14
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0372.java

@@ -7,6 +7,8 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.Map;
+
 /**
  * @Description: 婚姻状况前后不一致
  * @author: rengb
@@ -18,12 +20,12 @@ public class BEH0372 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         /**
-         * 1.获取入院记录中婚姻状况,为空则通过
-         * 2.获取入院记录中婚育史,为空或者包含【详见】或者婚育史等于【其他】则通过 
-         * 3.婚姻为【未婚】,婚育史包含【未婚/未结婚】任一则通过 ,不存在但包含【已故/丧偶/去世/亡故/已逝/死亡/离婚/离异/适龄结婚/适龄婚育/结婚/再婚/育有/已婚】中任一则报出。
-         * 4.婚姻为【丧偶】并且婚育史包含【已故/丧偶/去世/亡故/已逝/死亡】任一则通过,不存在但包含【离婚/离异/未婚/未结婚】中任一则报出
-         * 5.婚姻为【离婚/离异】并且婚育史包含【离婚/离异】任一则通过,不存在但包含【未婚/未结婚/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
-         * 6.婚姻为【已婚/再婚】并且婚育史包含【适龄结婚/适龄婚育/结婚/再婚/育有/已婚】任一则通过,不存在但包含【未婚/未结婚/离婚/离异/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
+         * 1.获取入院记录中基本信息的结构数据【婚姻状况/婚姻】,为空则通过
+         * 2.获取入院记录中【婚育史/婚姻史/月经婚育史/月经及婚育史】,为空或者包含【详见/其他/见既往病历/见旧病历】则通过 
+         * 3.婚姻状况/婚姻】为【未婚/未结婚】,婚育史/婚姻史/月经婚育史/月经及婚育史】包含【未婚/未结婚】任一则通过 ,不存在但包含【已故/丧偶/去世/亡故/已逝/死亡/离婚/离异/适龄结婚/适龄婚育/结婚/再婚/育有/已婚】中任一则报出。
+         * 4.【婚姻状况/婚姻】为【丧偶】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【已故/丧偶/去世/亡故/已逝/死亡】任一则通过,不存在但包含【离婚/离异/未婚/未结婚】中任一则报出
+         * 5.【婚姻状况/婚姻】为【离婚/离异】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【离婚/离异】任一则通过,不存在但包含【未婚/未结婚/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
+         * 6.【婚姻状况/婚姻】为【已婚/再婚】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【适龄结婚/适龄婚育/结婚/再婚/育有/已婚】任一则通过,不存在但包含【未婚/未结婚/离婚/离异/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
          */
 
         status.set("0");
@@ -31,7 +33,12 @@ public class BEH0372 extends QCCatalogue {
             return;
         }
 
-        String basicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚育史");
+        Map<String, String> bhStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        String basicInfoStatus = (StringUtil.isNotBlank(bhStructureMap.get("婚育史")) ? bhStructureMap.get("婚育史") : "")
+                + (StringUtil.isNotBlank(bhStructureMap.get("婚姻史")) ? bhStructureMap.get("婚姻史") : "")
+                + (StringUtil.isNotBlank(bhStructureMap.get("月经婚育史")) ? bhStructureMap.get("月经婚育史") : "")
+                + (StringUtil.isNotBlank(bhStructureMap.get("月经及婚育史")) ? bhStructureMap.get("月经及婚育史") : "");
+
         String bhbasicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚姻状况");
         if (StringUtil.isBlank(bhbasicInfoStatus)) {
             bhbasicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚姻");
@@ -63,8 +70,8 @@ public class BEH0372 extends QCCatalogue {
 
         bhbasicInfoStatus = bhbasicInfoStatus.replace(" ", "");
 
-        //3.婚姻为【未婚】,婚育史包含【未婚/未结婚】任一则通过 ,不存在但包含【已故/丧偶/去世/亡故/已逝/死亡/离婚/离异/适龄结婚/适龄婚育/结婚/再婚/育有/已婚】中任一则报出。
-        if (bhbasicInfoStatus.equals("未婚")) {
+        //3.婚姻状况/婚姻】为【未婚/未结婚】,婚育史/婚姻史/月经婚育史/月经及婚育史】包含【未婚/未结婚】任一则通过 ,不存在但包含【已故/丧偶/去世/亡故/已逝/死亡/离婚/离异/适龄结婚/适龄婚育/结婚/再婚/育有/已婚】中任一则报出。
+        if (bhbasicInfoStatus.equals("未婚") || bhbasicInfoStatus.equals("未结婚")) {
             if (RegexUtil.getRegexRes(basicInfoStatus, "未婚|未结婚")) {
                 return;
             }
@@ -74,7 +81,7 @@ public class BEH0372 extends QCCatalogue {
             }
         }
 
-        //4.婚姻为【丧偶】并且婚育史包含【已故/丧偶/去世/亡故/已逝/死亡】任一则通过,不存在但包含【离婚/离异/未婚/未结婚】中任一则报出
+        //4.【婚姻状况/婚姻】为【丧偶】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【已故/丧偶/去世/亡故/已逝/死亡】任一则通过,不存在但包含【离婚/离异/未婚/未结婚】中任一则报出
         if (bhbasicInfoStatus.equals("丧偶")) {
             if (RegexUtil.getRegexRes(basicInfoStatus, "已故|丧偶|去世|亡故|已逝|死亡")) {
                 return;
@@ -85,7 +92,7 @@ public class BEH0372 extends QCCatalogue {
             }
         }
 
-        //5.婚姻为【离婚/离异】并且婚育史包含【离婚/离异】任一则通过,不存在但包含【未婚/未结婚/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
+        //5.【婚姻状况/婚姻】为【离婚/离异】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【离婚/离异】任一则通过,不存在但包含【未婚/未结婚/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
         if (bhbasicInfoStatus.equals("离婚") || bhbasicInfoStatus.equals("离异")) {
             if (RegexUtil.getRegexRes(basicInfoStatus, "离婚|离异")) {
                 return;
@@ -96,7 +103,7 @@ public class BEH0372 extends QCCatalogue {
             }
         }
 
-        //6.婚姻为【已婚/再婚】并且婚育史包含【适龄结婚/适龄婚育/结婚/再婚/育有/已婚】任一则通过,不存在但包含【未婚/未结婚/离婚/离异/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
+        //6.【婚姻状况/婚姻】为【已婚/再婚】,【婚育史/婚姻史/月经婚育史/月经及婚育史】包含【适龄结婚/适龄婚育/结婚/再婚/育有/已婚】任一则通过,不存在但包含【未婚/未结婚/离婚/离异/已故/丧偶/去世/亡故/已逝/死亡】中任一则报出。
         if (bhbasicInfoStatus.equals("已婚") || bhbasicInfoStatus.contains("再婚")) {
             if (RegexUtil.getRegexRes(basicInfoStatus, "适龄结婚|适龄婚育|结婚|再婚|育有|已婚")) {
                 return;
@@ -106,7 +113,5 @@ public class BEH0372 extends QCCatalogue {
                 return;
             }
         }
-
     }
-
 }