Browse Source

Merge branch 'hb/beilun' of http://192.168.2.236:10080/louhr/qc into hb/beilun

jianghaodi 2 years ago
parent
commit
ad2ec93f29

+ 8 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0191.java

@@ -39,19 +39,23 @@ public class FIRP0191 extends QCCatalogue {
         status.set("0");
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+        if (null == firstPageRecordDoc){
+            return;
+        }
         //病案首页结构化
         Map<String, Object> firstPageRecordDocStructureMap = firstPageRecordDoc.getStructureExtMap();
+        if (firstPageRecordDocStructureMap.isEmpty()){
+            return;
+        }
         //获取有创操作记录
         List<InvasiveOperationDoc> invasiveOperationDocs = inputInfo.getInvasiveOperationDocs();
         //获取手术中的(术后首次病程及谈话记录、手术记录、手术安全核查表)
         List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
         //获取手术信息(手术信息的第一行为“主要手术及操作名称”)
         List<Map<String, String>> mapList = (List<Map<String, String>>) firstPageRecordDocStructureMap.get(Content.operative_information);
-        String operationName = mapList.get(0).get("名称");
+        //获取手术名称
+        String operationName = mapList.get(0).get(Content.operative_name);
         //病案首页和病案首页结构化数据任一为空则通过
-        if (null == firstPageRecordDoc || firstPageRecordDocStructureMap.isEmpty()) {
-            return;
-        }
         if (null != operationName) {
             return;
         }

+ 8 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02844.java

@@ -33,15 +33,22 @@ public class FIRP02844 extends QCCatalogue {
         status.set("0");
         //获取病案首页
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+        if (null == firstPageRecordDoc){
+            return;
+        }
         //病案首页结构化
         Map<String, Object> firstPageRecordDocStructureMap = firstPageRecordDoc.getStructureExtMap();
+        if (firstPageRecordDocStructureMap.isEmpty()){
+            return;
+        }
         //获取有创操作记录
         List<InvasiveOperationDoc> invasiveOperationDocs = inputInfo.getInvasiveOperationDocs();
         //获取手术中的(术后首次病程及谈话记录、手术记录、手术安全核查表)
         List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
         //获取手术信息(手术信息的第一行为“主要手术及操作编码”)
         List<Map<String, String>> mapList = (List<Map<String, String>>) firstPageRecordDocStructureMap.get(Content.operative_information);
-        String operationCode = mapList.get(0).get("编码");
+        //获取手术编码
+        String operationCode = mapList.get(0).get(Content.operative_code);
         //病案首页和病案首页结构化数据任一为空则通过
         if (null == firstPageRecordDoc || firstPageRecordDocStructureMap.isEmpty()) {
             return;

+ 14 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/xiamen/threelevelward/THR03010.java

@@ -11,10 +11,11 @@ import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
-
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
@@ -97,16 +98,23 @@ public class THR03010 extends QCCatalogue {
                     }
                 }
 
+                HashSet<Date> dateHashSet = new HashSet<>();
+                for (Date date : wordDateList){
+                    dateHashSet.add(DateUtil.getFirstTimeOfDay(date));
+                }
+                ArrayList<Date> dateList = new ArrayList(dateHashSet);
+                Collections.sort(dateList, Comparator.comparing(Date :: getTime));
+
                 //如果记录时间没有3天
-                if (wordDateList.size() < 3) {
+                if (dateList.size() < 3) {
                     status.set("-1");
                     return;
                 }
                 //如果住院当天开始做记录
-                if (DateUtils.isSameDay(stringDate.get(0), wordDateList.get(0))) {
+                if (DateUtils.isSameDay(stringDate.get(0), dateList.get(0))) {
                     for (int i = 1; i <= 2; i++) {
                         //如果时间不相等则时间不连续
-                        if (!DateUtils.isSameDay(stringDate.get(i), wordDateList.get(i))) {
+                        if (!DateUtils.isSameDay(stringDate.get(i), dateList.get(i))) {
                             status.set("-1");
                             return;
                         }
@@ -117,7 +125,7 @@ public class THR03010 extends QCCatalogue {
                 else {
                     for (int i = 0; i <= 3; i++) {
                         //如果时间不相等则时间不连续
-                        if (!DateUtils.isSameDay(stringDate.get(i + 1), wordDateList.get(i))) {
+                        if (!DateUtils.isSameDay(stringDate.get(i + 1), dateList.get(i))) {
                             status.set("-1");
                             return;
                         }

+ 8 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/xszyy/firstpagerecord/FIRP0516.java

@@ -9,6 +9,8 @@ import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -19,6 +21,7 @@ import java.util.Map;
  */
 @Component
 public class FIRP0516 extends QCCatalogue {
+    private List<String> containList = Arrays.asList("-", "—", "拒", "无", "不详", "未上户口","未提供","无法提供","未带");
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
@@ -31,6 +34,11 @@ public class FIRP0516 extends QCCatalogue {
             if (StringUtil.isBlank(bhIdNumber) || StringUtil.isBlank(fprIdNumber)) {
                 return;
             }
+            for (String word : containList) {
+                if (bhIdNumber.equals(word) || fprIdNumber.equals(word)) {
+                    return;
+                }
+            }
             if (!bhIdNumber.equals(fprIdNumber)) {
                 status.set("-1");
             }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/util/CacheFileManager.java

@@ -27,7 +27,7 @@ public class CacheFileManager {
     private String password;
     private String url;
 
-    private static String hospitalId = "4";
+    private static String hospitalId = "11";
 
     private String path = "";
 

+ 1 - 0
public/src/main/java/com/lantone/qc/pub/Content.java

@@ -360,6 +360,7 @@ public class Content {
     public static final String doctorAdviceState = "医嘱状态判别";
     public static final String doctorAdviceType = "医嘱类型判别";
     public static final String medicalOrderName = "医嘱项目名称";
+    public static final String prescriptionType = "医嘱处方类型";
     public static final String statOrder = "临时医嘱";
     public static final String standingOrder = "长期医嘱";
     public static final String reportName = "报告名称";