Browse Source

出院小结加死亡记录条件

kongwz 5 years ago
parent
commit
5b3c65b870

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

@@ -15,6 +15,7 @@ public class LEA0146 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
 
     }
     

+ 14 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.util.KernelConstants;
 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.entity.Diag;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
@@ -28,19 +29,21 @@ public class LEA0147 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        List<Diag> diags = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel().getDiags();
-        Map<String, Map<String, String>> hospitalDiagMap = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
-        if (ListUtil.isNotEmpty(diags) && hospitalDiagMap != null) {
-            long count = diags.stream().filter(i -> {
-                if (i != null && StringUtil.isNotBlank(i.getHospitalDiagName())) {
-                    return hospitalDiagMap.get(i.getHospitalDiagName()) == null;
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText()==null){
+            List<Diag> diags = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel().getDiags();
+            Map<String, Map<String, String>> hospitalDiagMap = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
+            if (ListUtil.isNotEmpty(diags) && hospitalDiagMap != null) {
+                long count = diags.stream().filter(i -> {
+                    if (i != null && StringUtil.isNotBlank(i.getHospitalDiagName())) {
+                        return hospitalDiagMap.get(i.getHospitalDiagName()) == null;
+                    }
+                    return false;
+                }).count();
+                if (count > 0) {
+                    status.set("-1");
                 }
-                return false;
-            }).count();
-            if (count > 0) {
-                status.set("-1");
             }
         }
     }
-
 }

+ 11 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0148.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
@@ -17,12 +18,17 @@ public class LEA0148 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String timeQm = inputInfo.getLeaveHospitalDoc().getStructureMap().get("签名时间");
-        String timeCy = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
-        if (StringUtil.isNotBlank(timeQm)
-                && StringUtil.isNotBlank(timeCy)
-                && DateUtil.parseDate(timeQm).getTime() <= DateUtil.parseDate(timeCy).getTime()) {
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText() !=null){
             status.set("0");
+        }else {
+            String timeQm = inputInfo.getLeaveHospitalDoc().getStructureMap().get("签名时间");
+            String timeCy = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
+            if (StringUtil.isNotBlank(timeQm)
+                    && StringUtil.isNotBlank(timeCy)
+                    && DateUtil.parseDate(timeQm).getTime() <= DateUtil.parseDate(timeCy).getTime()) {
+                status.set("0");
+            }
         }
     }
 

+ 7 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.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.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;
@@ -28,18 +29,21 @@ public class LEA0149 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText()==null){
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-        if(leaveHospitalDoc != null && beHospitalizedDoc != null){
+        if(leaveHospitalDoc != null && beHospitalizedDoc != null) {
             Map<String, String> lhStructureMap = leaveHospitalDoc.getStructureMap();
             ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
-            if(lhStructureMap != null && chiefLabel != null){
+            if (lhStructureMap != null && chiefLabel != null) {
                 String bhChief = chiefLabel.getText();
                 String bhThings = lhStructureMap.get("入院情况");
-                if(bhThings.indexOf(bhChief)<0){
+                if (bhThings.indexOf(bhChief) < 0) {
                     status.set("-1");
                 }
             }
         }
+        }
     }
 }

+ 9 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -16,10 +17,16 @@ public class LEA0150 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("入院情况");
-        if (StringUtil.isNotBlank(message)) {
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText() != null){
             status.set("0");
+        }else {
+            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("入院情况");
+            if (StringUtil.isNotBlank(message)) {
+                status.set("0");
+            }
         }
+
     }
 
 }

+ 8 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0151.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.DeathRecordDoc;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
@@ -21,9 +22,14 @@ public class LEA0151 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String text = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel().getText();
-        if(!StringUtils.isBlank(text)){
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() != null) {
             status.set("0");
+        } else {
+            String text = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel().getText();
+            if (!StringUtils.isBlank(text)) {
+                status.set("0");
+            }
         }
     }
 

+ 8 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0152.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -16,9 +17,14 @@ public class LEA0152 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("诊治经过");
-        if (StringUtil.isNotBlank(message)) {
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() != null) {
             status.set("0");
+        } else {
+            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("诊治经过");
+            if (StringUtil.isNotBlank(message)) {
+                status.set("0");
+            }
         }
     }
 

+ 8 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0153.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -16,10 +17,14 @@ public class LEA0153 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院情况");
-        if (StringUtil.isNotBlank(message)) {
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() != null) {
             status.set("0");
+        } else {
+            String message = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院情况");
+            if (StringUtil.isNotBlank(message)) {
+                status.set("0");
+            }
         }
     }
-
 }

+ 10 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0154.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.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;
@@ -25,12 +26,15 @@ public class LEA0154 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        if(leaveHospitalDoc != null){
-            DiagLabel leaveDiagLabel = leaveHospitalDoc.getLeaveDiagLabel();
-            if(leaveDiagLabel != null){
-                if(StringUtils.isBlank(leaveDiagLabel.getText())){
-                    status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(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");
+                    }
                 }
             }
         }

+ 10 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0155.java

@@ -4,6 +4,7 @@ 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;
@@ -26,12 +27,15 @@ public class LEA0155 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        if(leaveHospitalDoc != null){
-            Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
-            if(structureMap != null){
-                if(StringUtils.isBlank(structureMap.get("出院医嘱"))){
-                    status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (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");
+                    }
                 }
             }
         }

+ 10 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0156.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.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;
@@ -25,12 +26,15 @@ public class LEA0156 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        if(leaveHospitalDoc != null){
-            Map<String, String> structureMap = leaveHospitalDoc.getStructureMap();
-            if(structureMap != null){
-                if(StringUtils.isBlank(structureMap.get("健康教育"))){
-                    status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(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");
+                    }
                 }
             }
         }

+ 10 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0396.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -16,10 +17,15 @@ public class LEA0396 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        String time = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
-        if (StringUtil.isNotBlank(time)) {
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText() == null){
             status.set("0");
+        }else {
+            String time = inputInfo.getLeaveHospitalDoc().getStructureMap().get("出院时间");
+            if (StringUtil.isNotBlank(time)) {
+                status.set("0");
+            }
         }
-    }
 
-}
+    }
+}

+ 6 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.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.DeathRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -16,9 +17,11 @@ public class LEA0507 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getLeaveHospitalDoc() == null) {
-            status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() == null) {
+            if (inputInfo.getLeaveHospitalDoc() == null) {
+                status.set("-1");
+            }
         }
     }
-
 }

+ 14 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java

@@ -4,6 +4,7 @@ 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.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -21,16 +22,19 @@ public class LEA0509 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstCourseRecordDoc() != null) {
-            DiagLabel beHospitalizedLabel = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel();
-            DiagLabel initialDiagLabel = inputInfo.getFirstCourseRecordDoc().getInitialDiagLabel();
-            if (beHospitalizedLabel != null && initialDiagLabel != null) {
-                //出院记录入院诊断
-                List<Diag> beHospitalizedDiags = beHospitalizedLabel.getDiags();
-                //首程初步诊断
-                List<Diag> initialDiags = initialDiagLabel.getDiags();
-                if (!ListUtil.equals(beHospitalizedDiags, initialDiags)) {
-                    status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if(deathRecordDoc.getText() == null) {
+            if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstCourseRecordDoc() != null) {
+                DiagLabel beHospitalizedLabel = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel();
+                DiagLabel initialDiagLabel = inputInfo.getFirstCourseRecordDoc().getInitialDiagLabel();
+                if (beHospitalizedLabel != null && initialDiagLabel != null) {
+                    //出院记录入院诊断
+                    List<Diag> beHospitalizedDiags = beHospitalizedLabel.getDiags();
+                    //首程初步诊断
+                    List<Diag> initialDiags = initialDiagLabel.getDiags();
+                    if (!ListUtil.equals(beHospitalizedDiags, initialDiags)) {
+                        status.set("-1");
+                    }
                 }
             }
         }

+ 26 - 22
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 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.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -24,29 +25,32 @@ public class LEA0514 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstPageRecordDoc() != null) {
-            DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().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)){
-                return;
-            }
-            //首页出院诊断
-            List<Diag> dischargeDiags = new ArrayList<>();
-            for (Map<String, String> dischargeDiagMap:dischargeDiagStructure) {
-                String diagnoseName = dischargeDiagMap.get(Content.diagnoseName);
-                if (CatalogueUtil.isEmpty(diagnoseName)){
-                    continue;
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() == null) {
+            if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstPageRecordDoc() != null) {
+                DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().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)) {
+                    return;
                 }
-                Diag diag = new Diag();
-                diag.setName(diagnoseName);
-                dischargeDiags.add(diag);
-            }
-            if (leaveDiagLabel != null) {
-                //出院记录出院诊断
-                List<Diag> beHospitalizedDiags = leaveDiagLabel.getDiags();
-                if (!ListUtil.equals(beHospitalizedDiags, dischargeDiags)) {
-                    status.set("-1");
+                //首页出院诊断
+                List<Diag> dischargeDiags = new ArrayList<>();
+                for (Map<String, String> dischargeDiagMap : dischargeDiagStructure) {
+                    String diagnoseName = dischargeDiagMap.get(Content.diagnoseName);
+                    if (CatalogueUtil.isEmpty(diagnoseName)) {
+                        continue;
+                    }
+                    Diag diag = new Diag();
+                    diag.setName(diagnoseName);
+                    dischargeDiags.add(diag);
+                }
+                if (leaveDiagLabel != null) {
+                    //出院记录出院诊断
+                    List<Diag> beHospitalizedDiags = leaveDiagLabel.getDiags();
+                    if (!ListUtil.equals(beHospitalizedDiags, dischargeDiags)) {
+                        status.set("-1");
+                    }
                 }
             }
         }

+ 8 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java

@@ -4,6 +4,7 @@ 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 org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -18,12 +19,14 @@ public class LEA0515 extends QCCatalogue {
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null) {
-            Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
-            if (CatalogueUtil.isEmpty(leaveHospitalStructureMap.get("健康教育(包括饮食指导)"))) {
-                status.set("-1");
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc.getText() == null) {
+            if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null) {
+                Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+                if (CatalogueUtil.isEmpty(leaveHospitalStructureMap.get("健康教育(包括饮食指导)"))) {
+                    status.set("-1");
+                }
             }
         }
     }
-
 }