|
@@ -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;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|