Browse Source

义乌:输血记录解析和相关规则优化

wangsy 4 năm trước cách đây
mục cha
commit
82fa2df301

+ 8 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/clinicalblood/CLI0308.java

@@ -39,13 +39,18 @@ public class CLI0308 extends QCCatalogue {
                 String infusion_process = cliBStructureMap.get("病情记录");
                 if (StringUtils.isNotEmpty(infusion_process)) {
                     if (infusion_process.matches(regex) || infusion_process.contains("无") || infusion_process.contains("未见")
-                    || infusion_process.contains("未觉")) {
+                            || infusion_process.contains("未觉")) {
                         status.set("0");
-                    } else {
-                        status.set("-1");
                     }
                 }
 
+                String xmlProcess = cliBStructureMap.get("原始文本");
+                if (StringUtils.isNotEmpty(xmlProcess)) {
+                    if (xmlProcess.matches(regex) || xmlProcess.contains("无") || xmlProcess.contains("未见")
+                            || xmlProcess.contains("未觉")) {
+                        status.set("0");
+                    }
+                }
             }
         } else {
             status.set("0");

+ 5 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/clinicalblood/CLI0571.java

@@ -29,11 +29,14 @@ public class CLI0571 extends QCCatalogue {
             for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 String title = cliBStructureMap.get("病程标题");
-                if (StringUtil.isNotBlank(title) && title.contains("蛋白")){
+                if (StringUtil.isNotBlank(title) && title.contains("蛋白")) {
+                    continue;
+                }
+                if (StringUtil.isNotBlank(cliBStructureMap.get("RH"))) {
                     continue;
                 }
                 String record = cliBStructureMap.get("病情记录");
-                if (!record.contains("Rh") && !record.contains("rh")&&!record.contains("RH")) {
+                if (!record.contains("Rh") && !record.contains("rh") && !record.contains("RH")) {
                     status.set("-1");
                     break;
                 }

+ 11 - 0
trans/src/main/java/com/lantone/qc/trans/yiwu/YiWuClinicalBloodDocTrans.java

@@ -6,8 +6,10 @@ import com.lantone.qc.dbanaly.util.ModuleMappingUtil;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.util.FastJsonUtils;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -42,6 +44,13 @@ public class YiWuClinicalBloodDocTrans extends ModelDocTrans {
             sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
             structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
         }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            String CliBDateStr = structureMap.get("输血日期");
+            if (StringUtil.isNotBlank(CliBDateStr) && CliBDateStr.length() == 39) {
+                structureMap.put("输注开始", CliBDateStr.substring(0, 19));
+                structureMap.put("输注结束", CliBDateStr.substring(20));
+            }
+        }
 
         ClinicalBloodDoc clinicalBloodDoc = new ClinicalBloodDoc();
         clinicalBloodDoc.setStructureMap(structureMap);
@@ -56,6 +65,8 @@ public class YiWuClinicalBloodDocTrans extends ModelDocTrans {
             "结束时间=输注结束",
             "内容=输注后效果评价",
             "病程内容=病情记录",
+            "输血原因(可多选)=输注原因",
+            "ABO=血型",
             "医师签名=记录医生",
             "记录医师签名=记录医生"
     );