ソースを参照

入院记录由非执业医师书写,执业医师未在24小时内审核签名 修改

rengb 5 年 前
コミット
a1b893eddd

+ 2 - 13
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0494.java

@@ -1,16 +1,12 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.dbanaly.util.KernelConstants;
-import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
+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.util.SpringContextUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.Map;
-
 /**
  * @ClassName : BEH0494
  * @Description :  入院记录由非执业医师填写
@@ -29,14 +25,7 @@ public class BEH0494 extends QCCatalogue {
             doctorName = inputInfo.getBeHospitalizedDoc().getStructureMap().get("签名");
         }
         if (StringUtils.isNotEmpty(doctorName)) {
-            SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
-            Map<String, Object> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
-            if (surgeon == null) {
-                return;
-            }
-            Map<String, String> doctor = (Map) surgeon.get(doctorName);
-            String occup = doctor.get("occup");
-            if (StringUtils.isNotEmpty(occup) && "1".equals(occup)) {
+            if (CatalogueUtil.isOccup(doctorName)) {
                 status.set("0");
                 return;
             }

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0495.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : BEH0495
+ * @Description : 入院记录由非执业医师书写,执业医师未在24小时内
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class BEH0495 extends QCCatalogue {
+
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            return;
+        }
+
+        Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        String qmPerson = structureMap.get("签名");
+        if (StringUtil.isBlank(qmPerson) || CatalogueUtil.isOccup(qmPerson)) {
+            return;
+        }
+
+        String shPerson = structureMap.get("审核人");
+        String jlDate = structureMap.get("记录日期");
+        String shDate = structureMap.get("审核日期");
+        if (!CatalogueUtil.isOccup(shPerson) || CatalogueUtil.compareTime(StringUtil.parseDateTime(jlDate), StringUtil.parseDateTime(shDate), 24 * 60L)) {
+            status.set("-1");
+        }
+    }
+
+}

+ 1 - 20
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03017.java

@@ -1,14 +1,11 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
-import com.lantone.qc.dbanaly.util.KernelConstants;
-import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 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.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
-import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -45,7 +42,7 @@ public class THR03017 extends QCCatalogue {
         for (AttendingDoctorWardDoc attendingDoctorWardDoc : attendingDoctorWardDocs) {
             jlDateStr = attendingDoctorWardDoc.getStructureMap().get("记录时间");
             shDateStr = attendingDoctorWardDoc.getStructureMap().get("审核日期");
-            professor = getProfessor(attendingDoctorWardDoc.getStructureMap().get("审核人"));
+            professor = CatalogueUtil.getProfessor(attendingDoctorWardDoc.getStructureMap().get("审核人"));
             if (StringUtil.isBlank(professor)
                     || !professor.contains("主治")
                     || CatalogueUtil.compareTime(StringUtil.parseDateTime(jlDateStr), StringUtil.parseDateTime(shDateStr), 48 * 60L)) {
@@ -58,20 +55,4 @@ public class THR03017 extends QCCatalogue {
         }
     }
 
-    private String getProfessor(String doctorSign) {
-        String professor = "";
-        if (StringUtil.isBlank(doctorSign)) {
-            return professor;
-        }
-        SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
-        Map<String, Map<String, String>> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
-        if (surgeon != null) {
-            Map<String, String> doctor = (Map) surgeon.get(doctorSign);
-            if (doctor != null) {
-                professor = doctor.get("professor");
-            }
-        }
-        return professor;
-    }
-
 }

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

@@ -14,6 +14,7 @@ import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -449,7 +450,7 @@ public class CatalogueUtil {
                 Date operatorEndDate = StringUtil.parseDateTime(operatorEndDateStr);
                 if (operatorEndDate != null) {
                     long timeDifference = timeDifference(operatorEndDate, recordDate);
-                    if (timeDifference == 0){
+                    if (timeDifference == 0) {
                         continue;
                     }
                     if (timeDiff == 0 || timeDiff > timeDifference) {
@@ -478,6 +479,7 @@ public class CatalogueUtil {
 
     /**
      * 拼接info信息
+     *
      * @param infoStr
      * @param content
      * @return
@@ -492,4 +494,50 @@ public class CatalogueUtil {
         }
         return infoStr;
     }
+
+    /**
+     * 获取医生职称 主治  主任......
+     *
+     * @param doctorSign
+     * @return
+     */
+    public static String getProfessor(String doctorSign) {
+        String professor = "";
+        if (StringUtil.isBlank(doctorSign)) {
+            return professor;
+        }
+        SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
+        Map<String, Map<String, String>> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
+        if (surgeon != null) {
+            Map<String, String> doctor = (Map) surgeon.get(doctorSign);
+            if (doctor != null) {
+                professor = doctor.get("professor");
+            }
+        }
+        return professor;
+    }
+
+    /**
+     * 判断医生是否是执业医师
+     *
+     * @param doctorSign
+     * @return
+     */
+    public static boolean isOccup(String doctorSign) {
+        if (StringUtil.isNotBlank(doctorSign)) {
+            SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
+            Map<String, Map<String, String>> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
+            if (surgeon != null) {
+                Map<String, String> doctor = (Map) surgeon.get(doctorSign);
+                if (doctor != null) {
+                    String occup = doctor.get("occup");
+                    if (StringUtils.isNotEmpty(occup) && "1".equals(occup)) {
+                        return true;
+                    }
+                }
+            }
+        }
+        return false;
+    }
+
 }

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfBeHospitalizedDocTrans.java

@@ -51,6 +51,7 @@ public class ShaoyfBeHospitalizedDocTrans extends ModelDocTrans {
 
         structureMap.put("签名", structureMap.get("医师签名"));
         ShaoyfOrdinaryAssistant.techTitleDocRemove(structureMap, "签名");
+        ShaoyfOrdinaryAssistant.techTitleDocRemove(structureMap, "审核人");
 
         BeHospitalizedDoc beHospitalizedDoc = beHospitalizedDocGen(structureMap); // 不走共用
         beHospitalizedDoc.setPageData((Map) structureMap);