瀏覽代碼

新增温附一规则 BEH0048 放射物、毒物、粉尘接触史未描述

hecc 3 年之前
父節點
當前提交
2d01ee8c17

+ 51 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/wenfuyi/behospitalized/BEH0048.java

@@ -0,0 +1,51 @@
+package com.lantone.qc.kernel.catalogue.hospital.wenfuyi.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.Contact;
+import com.lantone.qc.pub.model.label.PersonalLabel;
+import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @Description: 放射物、毒物、粉尘接触史未描述
+ * @author: 贺聪聪
+ * @time: 2022/7/7 15:02
+ */
+@Component
+public class BEH0048 extends QCCatalogue {
+
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        if (StringUtils.isNotEmpty(structureMap.get("化学及放射性毒物接触史"))) {
+            status.set("0");
+            return;
+        }
+
+        PersonalLabel personalLabel = inputInfo.getBeHospitalizedDoc().getPersonalLabel();
+        if (personalLabel == null || StringUtil.isBlank(personalLabel.getText())) {
+            status.set("0");
+            return;
+        }
+        String personalText = personalLabel.getText();
+        if (personalText.contains("详见") || personalText.contains("粉尘") ||
+                personalText.contains("放射性") || personalText.contains("毒物")) {
+            status.set("0");
+            return;
+        }
+        Contact contact = personalLabel.getContact();//接触史
+        if (contact != null && StringUtil.isNotBlank(contact.getName())) {
+            status.set("0");
+        }
+    }
+
+}