浏览代码

Merge remote-tracking branch 'origin/master'

zhoutg 5 年之前
父节点
当前提交
c6077db356

+ 4 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0073.java

@@ -3,7 +3,6 @@ package com.lantone.qc.kernel.catalogue.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.Dead;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.entity.Family;
 import com.lantone.qc.pub.model.label.FamilyLabel;
@@ -30,13 +29,14 @@ public class BEH0073 extends QCCatalogue {
                     continue;
                 }
                 for (Diag diag : family.getDiags()) {
-                    if (diag.getName().contains("肝炎") || diag.getName().contains("结核")
-                            || diag.getHospitalDiagName().contains("肝炎") || diag.getHospitalDiagName().contains("结核")) {
+                    if ((StringUtil.isNotBlank(diag.getName()) && (diag.getName().contains("肝炎") || diag.getName().contains("结核")))
+                            ||
+                            (StringUtil.isNotBlank(diag.getHospitalDiagName()) &&
+                                    (diag.getHospitalDiagName().contains("肝炎") || diag.getHospitalDiagName().contains("结核")))) {
                         status.set("0");
                         return;
                     }
                 }
-
             }
         }
     }

+ 13 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0074.java

@@ -6,6 +6,7 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.entity.Family;
 import com.lantone.qc.pub.model.label.FamilyLabel;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -24,17 +25,25 @@ public class BEH0074 extends QCCatalogue {
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getFamilyLabel() != null) {
             FamilyLabel familyLabel = inputInfo.getBeHospitalizedDoc().getFamilyLabel();
             List<Family> families = familyLabel.getFamilies();
+            boolean findCancer = false;
             for (Family family : families) {
                 if (family.getDiags() == null || family.getDiags().size() == 0) {
                     continue;
                 }
                 for (Diag diag : family.getDiags()) {
-                    if (!diag.getName().contains("癌") && !diag.getName().contains("肿瘤")
-                            && !diag.getHospitalDiagName().contains("癌") && !diag.getHospitalDiagName().contains("肿瘤")) {
-                        status.set("-1");
-                        return;
+                    if (StringUtil.isNotBlank(diag.getName()) && (diag.getName().contains("癌") || diag.getName().contains("肿瘤"))
+                            ||
+                            StringUtil.isNotBlank(diag.getHospitalDiagName()) && (diag.getHospitalDiagName().contains("癌") || diag.getHospitalDiagName().contains("肿瘤"))) {
+                        findCancer = true;
+                        break;
                     }
                 }
+                if (findCancer) {
+                    break;
+                }
+            }
+            if (!findCancer) {
+                status.set("-1");
             }
         }
     }

+ 11 - 3
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/LeaveHospitalAI.java

@@ -34,11 +34,19 @@ public class LeaveHospitalAI extends ModelAI {
         JSONArray crfContent = new JSONArray();
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
         if (leaveHospitalDoc != null && StringUtils.isNotEmpty(leaveHospitalDoc.getText())) {
-            //出院小结全部文本
+            //出院小结全部文本(之后考虑删除传全部文本,改为传相应结构化文本)
             putContent(crfContent, medicalTextType.get(0), leaveHospitalDoc.getText(), Content.discharge);
+
             Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
-            if (leaveHospitalStructureMap != null && leaveHospitalStructureMap.get(Content.dischargeDiag) != null) {
-                putContent(crfContent, medicalTextType.get(1), leaveHospitalStructureMap.get(Content.dischargeDiag), Content.dischargeDiag);
+            if (leaveHospitalStructureMap != null) {
+//                //入院情况
+//                if (leaveHospitalStructureMap.get(Content.inStatus) != null) {
+//                    putContent(crfContent, medicalTextType.get(1), leaveHospitalStructureMap.get(Content.inStatus), Content.inStatus);
+//                }
+                //出院诊断
+                if (leaveHospitalStructureMap.get(Content.dischargeDiag) != null) {
+                    putContent(crfContent, medicalTextType.get(1), leaveHospitalStructureMap.get(Content.dischargeDiag), Content.dischargeDiag);
+                }
             }
 
             JSONObject midData = loadAI(crfContent, crfServiceClient);//crf返回数据

+ 11 - 2
kernel/src/main/java/com/lantone/qc/kernel/util/ModelDataUtil.java

@@ -44,7 +44,7 @@ public class ModelDataUtil {
         firstCourseRecord(inputInfo, changxDocs, "首次病程录");
         operationDiscussion(inputInfo, changxDocs, "术后首次病程及谈话记录文档");
         threeLevelWard(inputInfo, changxDocs, "三级查房记录");
-        //        leaveHospital(inputInfo, changxDocs, "出院小结");
+        leaveHospital(inputInfo, changxDocs, "出院小结");
         insertDB(caseNumber, changxDocs);
     }
 
@@ -279,7 +279,16 @@ public class ModelDataUtil {
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
         if (leaveHospitalDoc != null) {
             Map<String, String> changxDoc = new LinkedHashMap<>();
-            putDoc(changxDoc, Content.discharge, leaveHospitalDoc.getText());
+            //            putDoc(changxDoc, Content.discharge, leaveHospitalDoc.getText());
+            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
+            if (leaveHospitalStructureMap != null) {
+                if (leaveHospitalStructureMap.get(Content.inStatus) != null) {
+                    putDoc(changxDoc, Content.inStatus, leaveHospitalStructureMap.get(Content.inStatus));
+                }
+                if (leaveHospitalStructureMap.get(Content.dischargeDiag) != null) {
+                    putDoc(changxDoc, Content.dischargeDiag, leaveHospitalStructureMap.get(Content.dischargeDiag));
+                }
+            }
             changxDocs.put(model, changxDoc);
         }
     }