hujing 5 år sedan
förälder
incheckning
991e4803bf
21 ändrade filer med 180 tillägg och 123 borttagningar
  1. 7 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java
  2. 10 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0148.java
  3. 16 20
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.java
  4. 9 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.java
  5. 7 6
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0151.java
  6. 7 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0152.java
  7. 7 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0153.java
  8. 9 14
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0154.java
  9. 8 13
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0155.java
  10. 9 13
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0156.java
  11. 9 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0396.java
  12. 0 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.java
  13. 8 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0508.java
  14. 7 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java
  15. 7 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java
  16. 7 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java
  17. 8 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0559.java
  18. 3 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0125.java
  19. 12 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0127.java
  20. 14 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0128.java
  21. 16 14
      kernel/src/main/java/com/lantone/qc/kernel/structure/ai/LeaveHospitalAI.java

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java

@@ -6,6 +6,7 @@ import com.lantone.qc.kernel.util.RedisUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -29,10 +30,14 @@ public class LEA0147 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel();
+            DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
             if (leaveDiagLabel != null) {
                 List<Diag> diags = leaveDiagLabel.getDiags();
                 Map<String, Map<String, String>> hospitalDiagMap = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);

+ 10 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0148.java

@@ -4,6 +4,7 @@ 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.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
@@ -15,15 +16,19 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class LEA0148 extends QCCatalogue {
-
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc == null || deathRecordDoc.getText() !=null){
+        if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
-        }else {
-            String timeQm = inputInfo.getLeaveHospitalDoc().getStructureMap().get("签名时间");
-            String timeCy = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
+        } else {
+            String timeQm = leaveHospitalDoc.getStructureMap().get("签名时间");
+            String timeCy = leaveHospitalDoc.getStructureMap().get("出院时间");
             if (StringUtil.isNotBlank(timeQm)
                     && StringUtil.isNotBlank(timeCy)
                     && DateUtil.parseDate(timeQm).getTime() <= DateUtil.parseDate(timeCy).getTime()) {

+ 16 - 20
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.java

@@ -7,16 +7,10 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
-import com.lantone.qc.pub.model.entity.Chief;
-import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.label.ChiefLabel;
-import com.lantone.qc.pub.model.label.LeaveHospitalLabel;
-import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -28,15 +22,17 @@ import java.util.regex.Pattern;
  */
 @Component
 public class LEA0149 extends QCCatalogue {
-
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
             BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-            if (leaveHospitalDoc != null && beHospitalizedDoc != null) {
+            if (beHospitalizedDoc != null) {
                 Map<String, String> lhStructureMap = leaveHospitalDoc.getStructureMap();
                 ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
                 if (lhStructureMap != null && chiefLabel != null) {
@@ -45,31 +41,31 @@ public class LEA0149 extends QCCatalogue {
                     String bhThings = lhStructureMap.get("入院情况");
 
                     //如果出院小结结构化数据能取出主诉,则直接用该主诉和入院记录主诉比较
-                    if (StringUtil.isNotBlank(leaveChief)){
-                        leaveChief = leaveChief.replaceAll("。","");
-                        if (bhChief.equals(leaveChief)){
+                    if (StringUtil.isNotBlank(leaveChief)) {
+                        leaveChief = leaveChief.replaceAll("。", "");
+                        if (bhChief.equals(leaveChief)) {
                             status.set("0");
                             return;
                         }
                     }
                     Pattern compile = Pattern.compile("(?<=2.).*(?=3.体格检查)");
                     Matcher matcher = compile.matcher(bhThings);
-                    while (matcher.find()){
+                    while (matcher.find()) {
                         String number = matcher.group(0);
-                        if(CatalogueUtil.isEmpty(number)){
+                        if (CatalogueUtil.isEmpty(number)) {
                             status.set("-1");
                         }
                     }
                     //处理台州的
-                    if(bhThings.contains("患者因")){
+                    if (bhThings.contains("患者因")) {
                         status.set("0");
                     }
 
 
-//                    bhThings = bhThings.replaceAll("[\\p{Punct}\\pP]", "");
-//                    if (bhThings.indexOf(bhChief) < 0) {
-//                        status.set("-1");
-//                    }
+                    //                    bhThings = bhThings.replaceAll("[\\p{Punct}\\pP]", "");
+                    //                    if (bhThings.indexOf(bhChief) < 0) {
+                    //                        status.set("-1");
+                    //                    }
                 }
             }
         }

+ 9 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.java

@@ -4,6 +4,7 @@ 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.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -17,11 +18,16 @@ public class LEA0150 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc == null || deathRecordDoc.getText() != null){
+        if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
-        }else {
-            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("入院情况");
+        } else {
+            String message = leaveHospitalDoc.getStructureMap().get("入院情况");
             if (StringUtil.isNotBlank(message)) {
                 status.set("0");
             }

+ 7 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0151.java

@@ -4,14 +4,10 @@ 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.doc.DeathRecordDoc;
-import com.lantone.qc.pub.model.entity.Diag;
-import com.lantone.qc.pub.util.ListUtil;
-import com.lantone.qc.pub.util.StringUtil;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 /**
  * @Description: 出院记录内容缺入院诊断
  * @author: rengb
@@ -22,11 +18,16 @@ public class LEA0151 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
-            String text = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel().getText();
+            String text = leaveHospitalDoc.getBeHospitalizedLabel().getText();
             if (!StringUtils.isBlank(text)) {
                 status.set("0");
             }

+ 7 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0152.java

@@ -4,6 +4,7 @@ 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.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -17,11 +18,16 @@ public class LEA0152 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
-            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("诊治经过");
+            String message = leaveHospitalDoc.getStructureMap().get("诊治经过");
             if (StringUtil.isNotBlank(message)) {
                 status.set("0");
             }

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0153.java

@@ -4,6 +4,7 @@ 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.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -14,14 +15,18 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class LEA0153 extends QCCatalogue {
-
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() != null) {
             status.set("0");
         } else {
-            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院情况");
+            String message = leaveHospitalDoc.getStructureMap().get("出院情况");
             if (StringUtil.isNotBlank(message)) {
                 status.set("0");
             }

+ 9 - 14
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0154.java

@@ -5,16 +5,10 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
-import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
-import com.lantone.qc.pub.util.ListUtil;
-import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-import java.util.Map;
-
 /**
  * @Description: 出院记录内容缺出院(死亡)诊断
  * @author: rengb
@@ -26,15 +20,16 @@ public class LEA0154 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc == null || deathRecordDoc.getText() == null){
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            if(leaveHospitalDoc != null){
-                DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
-                if(leaveDiagLabel != null){
-                    if(StringUtils.isBlank(leaveDiagLabel.getText())){
-                        status.set("-1");
-                    }
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
+            DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
+            if (leaveDiagLabel != null) {
+                if (StringUtils.isBlank(leaveDiagLabel.getText())) {
+                    status.set("-1");
                 }
             }
         }

+ 8 - 13
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0155.java

@@ -1,19 +1,13 @@
 package com.lantone.qc.kernel.catalogue.leavehospital;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
-import com.lantone.qc.pub.model.entity.DoctorAdvice;
-import com.lantone.qc.pub.model.label.LeaveHospitalLabel;
-import com.lantone.qc.pub.util.ListUtil;
-import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,15 +21,16 @@ public class LEA0155 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            if (leaveHospitalDoc != null) {
-                Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
-                if (structureMap != null) {
-                    if (StringUtils.isBlank(structureMap.get("出院医嘱"))) {
-                        status.set("-1");
-                    }
+            Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
+            if (structureMap != null) {
+                if (StringUtils.isBlank(structureMap.get("出院医嘱"))) {
+                    status.set("-1");
                 }
             }
         }

+ 9 - 13
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0156.java

@@ -5,14 +5,9 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
-import com.lantone.qc.pub.model.entity.Notes;
-import com.lantone.qc.pub.model.label.LeaveHospitalLabel;
-import com.lantone.qc.pub.util.ListUtil;
-import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -26,15 +21,16 @@ public class LEA0156 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            if (leaveHospitalDoc != null) {
-                Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
-                if (structureMap != null) {
-                    if (StringUtils.isBlank(structureMap.get("注意事项"))) {
-                        status.set("-1");
-                    }
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
+            Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
+            if (structureMap != null) {
+                if (StringUtils.isBlank(structureMap.get("注意事项"))) {
+                    status.set("-1");
                 }
             }
         }

+ 9 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0396.java

@@ -4,6 +4,7 @@ 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.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -17,11 +18,16 @@ public class LEA0396 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            status.set("0");
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
-        if(deathRecordDoc == null || deathRecordDoc.getText() == null){
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
             status.set("0");
-        }else {
-            String time = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
+        } else {
+            String time = leaveHospitalDoc.getStructureMap().get("出院时间");
             if (StringUtil.isNotBlank(time)) {
                 status.set("0");
             }

+ 0 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.java

@@ -4,7 +4,6 @@ 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.doc.DeathRecordDoc;
-import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 /**

+ 8 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0508.java

@@ -3,6 +3,7 @@ package com.lantone.qc.kernel.catalogue.leavehospital;
 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.doc.LeaveHospitalDoc;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -20,9 +21,13 @@ public class LEA0508 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
         status.set("0");
-        Map<String, String> structureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
-        if(structureMap != null){
-            if(StringUtils.isEmpty(structureMap.get("医师签名"))){
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
+        Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
+        if (structureMap != null) {
+            if (StringUtils.isEmpty(structureMap.get("医师签名"))) {
                 status.set("-1");
             }
         }

+ 7 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java

@@ -1,10 +1,10 @@
 package com.lantone.qc.kernel.catalogue.leavehospital;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -22,10 +22,14 @@ public class LEA0509 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if(deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstCourseRecordDoc() != null) {
-                DiagLabel beHospitalizedLabel = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel();
+            if (inputInfo.getFirstCourseRecordDoc() != null) {
+                DiagLabel beHospitalizedLabel = leaveHospitalDoc.getBeHospitalizedLabel();
                 DiagLabel initialDiagLabel = inputInfo.getFirstCourseRecordDoc().getInitialDiagLabel();
                 if (beHospitalizedLabel != null && initialDiagLabel != null) {
                     //出院记录入院诊断

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java

@@ -6,6 +6,7 @@ import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -25,10 +26,14 @@ public class LEA0514 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstPageRecordDoc() != null) {
-                DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel();
+            if (inputInfo.getFirstPageRecordDoc() != null) {
+                DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
                 Map<String, Object> firstPageRecordStructureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
                 List<Map<String, String>> dischargeDiagStructure = (List<Map<String, String>>) firstPageRecordStructureExtMap.get(Content.dischargeDiag);
                 if (ListUtil.isEmpty(dischargeDiagStructure)) {

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -19,10 +20,14 @@ public class LEA0515 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null) {
-                Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
+            if (leaveHospitalStructureMap != null) {
                 if (CatalogueUtil.isEmpty(leaveHospitalStructureMap.get("健康教育(包括饮食指导)"))) {
                     status.set("-1");
                 }

+ 8 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0559.java

@@ -21,15 +21,16 @@ public class LEA0559 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            if (leaveHospitalDoc != null) {
-                Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
-                if (structureMap != null) {
-                    if (StringUtils.isBlank(structureMap.get("出院带药"))) {
-                        status.set("-1");
-                    }
+            Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
+            if (structureMap != null) {
+                if (StringUtils.isBlank(structureMap.get("出院带药"))) {
+                    status.set("-1");
                 }
             }
         }

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0125.java

@@ -27,9 +27,9 @@ public class THR0125 extends QCCatalogue {
         status.set("0");
         if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null
                 && inputInfo.getThreeLevelWardDocs().size() > 0) {
-            Map<String, String> getLeaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
-            String admisTime = getLeaveHospitalStructureMap.get(Content.admisTime);
-            String dischargeTime = getLeaveHospitalStructureMap.get(Content.dischargeTime);
+            Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+            String admisTime = leaveHospitalStructureMap.get(Content.admisTime);
+            String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);
             if (CatalogueUtil.isEmpty(admisTime) || CatalogueUtil.isEmpty(dischargeTime)) {
                 return;
             }

+ 12 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0127.java

@@ -29,10 +29,20 @@ import java.util.stream.Collectors;
 public class THR0127 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getStructureMap() != null
+        if (inputInfo.getLeaveHospitalDoc() != null
+                && inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getStructureMap() != null
                 && inputInfo.getThreeLevelWardDocs().size() > 0) {
+            Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+            String admisTime = leaveHospitalStructureMap.get(Content.admisTime);
+            String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);
+            if (CatalogueUtil.isEmpty(admisTime) || CatalogueUtil.isEmpty(dischargeTime)) {
+                return;
+            }
+            //如果住院天数小于7天则不判断该条规则
+            if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (7 * 24 * 60))) {
+                return;
+            }
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-            String admisTime = beHospitalStructureMap.get(Content.admisDate);
             if (CatalogueUtil.isEmpty(admisTime)) {
                 return;
             }

+ 14 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0128.java

@@ -29,10 +29,20 @@ import java.util.stream.Collectors;
 public class THR0128 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getStructureMap() != null
+        if (inputInfo.getLeaveHospitalDoc() != null
+                && inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getStructureMap() != null
                 && inputInfo.getThreeLevelWardDocs().size() > 0) {
+            Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+            String admisTime = leaveHospitalStructureMap.get(Content.admisTime);
+            String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);
+            if (CatalogueUtil.isEmpty(admisTime) || CatalogueUtil.isEmpty(dischargeTime)) {
+                return;
+            }
+            //如果住院天数小于7天则不判断该条规则
+            if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (7 * 24 * 60))) {
+                return;
+            }
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-            String admisTime = beHospitalStructureMap.get(Content.admisDate);
             if (CatalogueUtil.isEmpty(admisTime)) {
                 return;
             }
@@ -46,10 +56,10 @@ public class THR0128 extends QCCatalogue {
             List<String> roundRecordEveryWeek = new ArrayList<>();
             //开始时间(入院时间)
             Date beginDate = StringUtil.parseDateTime(admisTime);
-            if (beginDate == null){
+            if (beginDate == null) {
                 return;
             }
-            beginDate = DateUtil.dateZeroClear(DateUtil.addDate(beginDate,1));
+            beginDate = DateUtil.dateZeroClear(DateUtil.addDate(beginDate, 1));
             int i = 1;
             //每周的病历记录
             while (i >= 1) {

+ 16 - 14
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/LeaveHospitalAI.java

@@ -33,22 +33,24 @@ public class LeaveHospitalAI extends ModelAI {
     public void medrec(InputInfo inputInfo, CRFServiceClient crfServiceClient) {
         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) {
-            //                //入院情况
-            //                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);
+        if (leaveHospitalDoc != null) {
+            if (StringUtils.isNotEmpty(leaveHospitalDoc.getText())) {
+                //出院小结全部文本(之后考虑删除传全部文本,改为传相应结构化文本)
+                putContent(crfContent, medicalTextType.get(0), leaveHospitalDoc.getText(), Content.discharge);
             }
-        }
 
+            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
+            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返回数据
         if (midData.containsKey(Content.discharge)) {
             putDischargeCrfData(midData.getJSONObject(Content.discharge), inputInfo);//出院小结