浏览代码

北仑:出院日期病例信息中获取

huj 4 年之前
父节点
当前提交
7400a5ae13

+ 12 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/dutyshiftsystem/DUT0296.java

@@ -34,18 +34,22 @@ public class DUT0296 extends QCCatalogue {
 
         List<StagesSummaryDoc> stagesSummaryDocs = inputInfo.getStagesSummaryDocs();
         TransferRecordDoc transferRecordDoc = inputInfo.getTransferRecordDocs();//转科记录
-
         Map<String, String> structureMap_leave = leaveHospitalDoc.getStructureMap();
-        String beDate = structureMap_leave.get("入院日期"); //2019-12-07 08:48
-        String leaveDate = structureMap_leave.get("出院日期");//2019-12-10 10:49
-        /* 住院天数小于30天不报错*/
         int lengthOfStayNum = 0;
-        if (StringUtil.isNotBlank(beDate) && StringUtil.isNotBlank(leaveDate)) {
-            lengthOfStayNum = dateDifference(beDate, leaveDate);
-            if (lengthOfStayNum < 30) {
-                return;
+        String beDate = null, leaveDate = null;
+        if (inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            beDate = medicalRecordInfoStructureMap.get("behospitalDate");
+            leaveDate = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+            /* 住院天数小于30天不报错*/
+            if (StringUtil.isNotBlank(beDate) && StringUtil.isNotBlank(leaveDate)) {
+                lengthOfStayNum = dateDifference(beDate, leaveDate);
+                if (lengthOfStayNum < 30) {
+                    return;
+                }
             }
         }
+
         lengthOfStayNum = getLengthOfStay(structureMap_leave);
         if (lengthOfStayNum < 30) {
             return;

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

@@ -10,6 +10,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.Map;
 
 /**
  * @Description: 出院记录未在患者出院前完成
@@ -29,8 +30,12 @@ public class LEA0148 extends QCCatalogue {
             status.set("0");
             return;
         }
+        String timeCy = null;
+        if (inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            timeCy = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+        }
         String timeQm = leaveHospitalDoc.getStructureMap().get("签名时间");
-        String timeCy = leaveHospitalDoc.getStructureMap().get("出院时间");
         if (StringUtil.isNotBlank(timeQm) && StringUtil.isNotBlank(timeCy)) {
             if (!CatalogueUtil.compareTime(
                     StringUtil.parseDateTime(timeCy),
@@ -44,8 +49,8 @@ public class LEA0148 extends QCCatalogue {
             if (!CatalogueUtil.compareTime(timeCyDate, timeQmDate, 24 * 60L)) {
                 status.set("0");
             }
-        }else {
-            if(StringUtil.isNotEmpty(timeCy)){
+        } else {
+            if (StringUtil.isNotEmpty(timeCy)) {
                 if (!CatalogueUtil.compareTime(
                         StringUtil.parseDateTime(timeCy),
                         StringUtil.parseDateTime(DateUtil.nowString()),

+ 5 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR02931.java

@@ -32,8 +32,11 @@ public class THR02931 extends QCCatalogue {
         if (deathRecordDoc != null || deathCaseDiscussDoc != null) {
             return;
         }
-        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-        String leaveDateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
+        String leaveDateStr = null;
+        if (inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            leaveDateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+        }
         if (StringUtil.isBlank(leaveDateStr)) {
             return;
         }

+ 28 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR02985.java

@@ -160,15 +160,18 @@ public class THR02985 extends QCCatalogue {
 
         //从出院小结中获取信息
         if (leaveHospitalDoc != null) {
-            getInfo(info, leaveHospitalDoc.getStructureMap(), "出院小结", "出院日期", "诊治经过");
-            if (leaveHospitalDoc.getLeaveHospitalLabel() != null) {
-                List<Drug> drugs = leaveHospitalDoc.getLeaveHospitalLabel().getDrugs();
-                if (inputInfo.getMedicalRecordInfoDoc() != null) {
-                    Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
-                    dateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+            if (inputInfo.getMedicalRecordInfoDoc() != null) {
+                Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+                dateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+                //如果存在出院小结,出院日期为空,存储系统当前时间
+                if (StringUtil.isBlank(dateStr)) {
+                    dateStr = DateUtil.formatDateTime(new Date());
                 }
-                if (StringUtil.isNotBlank(dateStr)) {
-                    getInfo(info, leaveHospitalDoc.getStructureMap(), "出院小结", "出院日期", "诊治经过");
+            }
+            if (StringUtil.isNotBlank(dateStr)) {
+                if (leaveHospitalDoc.getLeaveHospitalLabel() != null) {
+                    List<Drug> drugs = leaveHospitalDoc.getLeaveHospitalLabel().getDrugs();
+                    getDischargeInfo(info, leaveHospitalDoc.getStructureMap(), "出院小结", dateStr, "诊治经过");
                     getInfo(infoModel, dateStr, drugs);
                 }
             }
@@ -266,7 +269,7 @@ public class THR02985 extends QCCatalogue {
     }
 
     /**
-     * 获取各模块信息<入院记录、首次病程录、手术记录、术后首程、会诊结果单、查房记录、出院小结>
+     * 获取各模块信息<入院记录、首次病程录、手术记录、术后首程、会诊结果单、查房记录>
      *
      * @param structureMap
      * @param info
@@ -282,6 +285,22 @@ public class THR02985 extends QCCatalogue {
         }
     }
 
+    /**
+     * 获取出院小结模块信息
+     *
+     * @param structureMap
+     * @param info
+     */
+    private void getDischargeInfo(Map<String, Date> info, Map<String, String> structureMap, String modelType, String dateStr, String... contentKey) {
+        String content = CatalogueUtil.structureMapJoin(structureMap, Lists.newArrayList(contentKey));
+        if (StringUtil.isNotBlank(dateStr)) {
+            Date date = StringUtil.parseDateTime(dateStr);
+            if (StringUtil.isNotBlank(content) && date != null) {
+                info.put(modelType + "->" + content, date);
+            }
+        }
+    }
+
     private void getInfo(Map<String, List<Drug>> info, String dateKey, List<Drug> drugs) {
         List<Drug> tempDrugs = new ArrayList<>();
         if (null != drugs && drugs.size() > 0) {

+ 5 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03065.java

@@ -12,6 +12,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -28,9 +29,10 @@ public class THR03065 extends QCCatalogue {
         if (lisDocs == null) {
             return;
         }
-        if (leaveHospitalDoc != null) {
-            String beginDateStr = leaveHospitalDoc.getStructureMap().get("入院时间");
-            String endDateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
+        if (leaveHospitalDoc != null && inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String beginDateStr = medicalRecordInfoStructureMap.get("behospitalDate");
+            String endDateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
             if (StringUtil.isBlank(beginDateStr) || StringUtil.isBlank(endDateStr)) {
                 return;
             }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03076.java

@@ -149,6 +149,10 @@ public class THR03076 extends QCCatalogue {
             if (inputInfo.getMedicalRecordInfoDoc() != null) {
                 Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
                 dateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+                //如果存在出院小结,出院日期为空,存储系统当前时间
+                if (StringUtil.isBlank(dateStr)) {
+                    dateStr = DateUtil.formatDateTime(new Date());
+                }
             }
             if (leaveHospitalLabel != null && StringUtil.isNotBlank(dateStr)) {
                 List<Drug> drugs = leaveHospitalLabel.getDrugs();

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03077.java

@@ -189,6 +189,10 @@ public class THR03077 extends QCCatalogue {
             if (inputInfo.getMedicalRecordInfoDoc() != null) {
                 Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
                 dateStr = medicalRecordInfoStructureMap.get("leaveHospitalDate");
+                //如果存在出院小结,出院日期为空,存储系统当前时间
+                if (StringUtil.isBlank(dateStr)) {
+                    dateStr = DateUtil.formatDateTime(new Date());
+                }
             }
             if (leaveHospitalLabel != null && StringUtil.isNotBlank(dateStr)) {
                 List<Drug> drugs = leaveHospitalLabel.getDrugs();

+ 3 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR0434.java

@@ -51,10 +51,9 @@ public class THR0434 extends QCCatalogue {
             }
         }
         //离院记录不为空
-        if (inputInfo.getLeaveHospitalDoc() != null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
-            String leaveHospitalTime = leaveHospitalStructureMap.get("出院时间");
+        if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String leaveHospitalTime = medicalRecordInfoStructureMap.get("leaveHospitalDate");
             if (StringUtil.isNotBlank(leaveHospitalTime)) {
                 Date leaveHospitalDate = StringUtil.parseDateTime(leaveHospitalTime);
                 if (leaveHospitalDate != null) {

+ 3 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR0435.java

@@ -51,10 +51,9 @@ public class THR0435 extends QCCatalogue {
             }
         }
         //离院记录不为空
-        if (inputInfo.getLeaveHospitalDoc() != null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
-            String leaveHospitalTime = leaveHospitalStructureMap.get("出院时间");
+        if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String leaveHospitalTime = medicalRecordInfoStructureMap.get("leaveHospitalDate");
             if (StringUtil.isNotBlank(leaveHospitalTime)) {
                 Date leaveHospitalDate = StringUtil.parseDateTime(leaveHospitalTime);
                 if (leaveHospitalDate != null) {

+ 3 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR0436.java

@@ -51,10 +51,9 @@ public class THR0436 extends QCCatalogue {
             }
         }
         //离院记录不为空
-        if (inputInfo.getLeaveHospitalDoc() != null) {
-            LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
-            Map<String, String> leaveHospitalStructureMap = leaveHospitalDoc.getStructureMap();
-            String leaveHospitalTime = leaveHospitalStructureMap.get("出院时间");
+        if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getMedicalRecordInfoDoc() != null) {
+            Map<String, String> medicalRecordInfoStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String leaveHospitalTime = medicalRecordInfoStructureMap.get("leaveHospitalDate");
             if (StringUtil.isNotBlank(leaveHospitalTime)) {
                 Date leaveHospitalDate = StringUtil.parseDateTime(leaveHospitalTime);
                 if (leaveHospitalDate != null) {