Forráskód Böngészése

宁波中医院:规则更新

wangsy 4 éve
szülő
commit
8420a64b44

+ 78 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhongyi/behospitalized/BEH0372.java

@@ -0,0 +1,78 @@
+package com.lantone.qc.kernel.catalogue.hospital.ningbozhongyi.behospitalized;
+
+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.entity.MaritalStatus;
+import com.lantone.qc.pub.model.label.MaritalLabel;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 婚姻状况前后不一致
+ * @author: rengb
+ * @time: 2020/3/10 14:02
+ */
+@Component
+public class BEH0372 extends QCCatalogue {
+
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            return;
+        }
+
+        String basicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚育史");
+        String bhbasicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚姻状况");
+        if (StringUtil.isBlank(bhbasicInfoStatus)) {
+            bhbasicInfoStatus = inputInfo.getBeHospitalizedDoc().getStructureMap().get("婚姻");
+        }
+        if (StringUtil.isBlank(basicInfoStatus) || StringUtil.isBlank(bhbasicInfoStatus)) {
+            return;
+        }
+
+        if (bhbasicInfoStatus.equals("未婚") && basicInfoStatus.contains("结婚")) {
+            status.set("-1");
+            return;
+        }
+
+        if (bhbasicInfoStatus.equals("未婚") && (basicInfoStatus.contains("未婚")||basicInfoStatus.contains("未结婚"))) {
+            return;
+        }
+
+        if (StringUtil.isNotBlank(bhbasicInfoStatus) && basicInfoStatus.equals("其他")) {
+            return;
+        }
+
+        if (bhbasicInfoStatus.equals("丧偶") &&
+                (basicInfoStatus.contains("已故") || basicInfoStatus.contains("丧偶") || basicInfoStatus.contains("去世") ||
+                        basicInfoStatus.contains("亡故") || basicInfoStatus.contains("已逝"))) {
+            return;
+        }
+
+        if ((bhbasicInfoStatus.equals("离婚") || bhbasicInfoStatus.equals("离异")) &&
+                (basicInfoStatus.contains("离异") || bhbasicInfoStatus.equals("离婚"))) {
+            return;
+        }
+
+        if (bhbasicInfoStatus.equals("已婚") && (basicInfoStatus.contains("结婚") || basicInfoStatus.contains("再婚") || basicInfoStatus.contains("已婚") )) {
+            return;
+        }
+
+        MaritalStatus mts = inputInfo.getBeHospitalizedDoc().getMaritalLabel().getMaritalStatus();
+        if (mts != null && StringUtil.isNotBlank(mts.getName())) {
+            String maritalStatus = mts.getName();
+            if (basicInfoStatus.equals(maritalStatus)) {
+                return;
+            }
+        }
+
+        //无婚育史
+        MaritalLabel maritalLabel = inputInfo.getBeHospitalizedDoc().getMaritalLabel();
+        if (maritalLabel == null || maritalLabel.getText() == null) {
+            return;
+        }
+    }
+
+}