소스 검색

北仑:取出院医嘱中是否含有出院带药,无出院带药,规则不触发

wangsy 4 년 전
부모
커밋
89bf7f9cc0
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 10 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/leavehospital/LEA02901.java

+ 10 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/leavehospital/LEA02901.java

@@ -6,6 +6,7 @@ import com.lantone.qc.kernel.util.RegularUtil;
 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.DoctorAdviceDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -13,7 +14,6 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
-
 /**
  * @Description: 出院医嘱记录不规范
  * @author: 胡敬
@@ -26,7 +26,15 @@ public class LEA02901 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        if (leaveHospitalDoc == null) {
+        //医嘱信息
+        List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
+        if (leaveHospitalDoc == null || doctorAdviceDocs.size() == 0) {
+            return;
+        }
+        //医嘱中无出院带药不触发
+        long count = doctorAdviceDocs.stream().map(DoctorAdviceDoc::getStructureMap)
+                .filter(x -> StringUtil.isNotBlank(x.get("医嘱类型判别")) && x.get("医嘱类型判别").equals("出院带药")).count();
+        if (count == 0) {
             return;
         }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();