Forráskód Böngészése

Merge remote-tracking branch 'origin/dev-shaoyf' into dev-shaoyf

rengb 5 éve
szülő
commit
dd0003678b
22 módosított fájl, 125 hozzáadás és 47 törlés
  1. 2 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0385.java
  2. 2 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0387.java
  3. 3 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0556.java
  4. 10 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/dutyshiftsystem/DUT0296.java
  5. 12 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/dutyshiftsystem/DUT0599.java
  6. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0187.java
  7. 5 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0196.java
  8. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0248.java
  9. 8 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02904.java
  10. 30 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0146.java
  11. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0508.java
  12. 4 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0651.java
  13. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0636.java
  14. 13 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0125.java
  15. 13 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0126.java
  16. 1 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR02880.java
  17. 1 5
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR02931.java
  18. 1 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0701.java
  19. 1 1
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java
  20. 2 1
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java
  21. 7 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstPageRecordDocTrans.java
  22. 1 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java

+ 2 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0385.java

@@ -6,7 +6,7 @@ import com.lantone.qc.pub.model.OutputInfo;
 import org.springframework.stereotype.Component;
 
 /**
- * @Description:
+ * @Description: 危急值记录中无临床意义
  * @author: rengb
  * @time: 2020/3/19 19:54
  */
@@ -15,7 +15,6 @@ public class CRI0385 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-
+        status.set("0");
     }
-
 }

+ 2 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0387.java

@@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 
 /**
- * @Description:
+ * @Description: 危急值记录中无效果观察
  * @author: rengb
  * @time: 2020/3/19 19:54
  */
@@ -18,8 +18,8 @@ public class CRI0387 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         List<CrisisValueReportDoc> crisisValueReportDocs = inputInfo.getCrisisValueReportDocs();
 
     }
-
 }

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/deathcasediscuss/DEAC0556.java

@@ -21,9 +21,9 @@ import java.util.Map;
 public class DEAC0556 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getDeathRecordDoc() != null && inputInfo.getDeathRecordDoc().getStructureMap() != null) {
-            Map<String, String> deathRecordStructureMap = inputInfo.getDeathRecordDoc().getStructureMap();
-            String deathTime = deathRecordStructureMap.get("参加讨论人员");
+        if (inputInfo.getDeathCaseDiscussDoc() != null) {
+            Map<String, String> deathCaseDiscussStructureMap = inputInfo.getDeathCaseDiscussDoc().getStructureMap();
+            String deathTime = deathCaseDiscussStructureMap.get("参加讨论人员");
             if (CatalogueUtil.isEmpty(deathTime)) {
                 status.set("-1");
             }

+ 10 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/dutyshiftsystem/DUT0296.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.dutyshiftsystem;
 
 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.LeaveHospitalDoc;
@@ -192,9 +193,15 @@ public class DUT0296 extends QCCatalogue {
             from.setTime(dateIn);
             Calendar to = Calendar.getInstance();
             to.setTime(dateOut);
-            int fromMonth = from.get(Calendar.DAY_OF_YEAR);
-            int toMonth = to.get(Calendar.DAY_OF_YEAR);
-            day = toMonth - fromMonth;
+            long timeS,timeE,timeDiff = 0;
+            try {
+                timeS = from.getTimeInMillis();
+                timeE = to.getTimeInMillis();
+                timeDiff = (timeE - timeS) / (1000 * 60* 60 * 24);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            day = (int) timeDiff;
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 12 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/dutyshiftsystem/DUT0599.java

@@ -2,6 +2,7 @@ package com.lantone.qc.kernel.catalogue.dutyshiftsystem;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 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.ThreeLevelWardDoc;
@@ -48,8 +49,18 @@ public class DUT0599 extends QCCatalogue {
                 continue;
             }
             Date rollInRecordDate = StringUtil.parseDateTime(rollInRecordDateStr);
-            rollInDay = new ArrayList<>();
+            if (inputInfo.getLeaveHospitalDoc() != null) {
+                Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+                String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);
+                //如果住院天数小于3天则不判断该条规则
+                if ( rollInRecordDate != null && StringUtil.isNotBlank(dischargeTime)) {
+                    if (!CatalogueUtil.compareTime(rollInRecordDate, StringUtil.parseDateTime(dischargeTime), 3 * 24 * 60L)) {
+                        continue;
+                    }
+                }
+            }
             for (int i = 1; i <= 3; i++) {
+                rollInDay = new ArrayList<>();
                 Date wardRecordDay = DateUtil.dateZeroClear(DateUtil.addDate(rollInRecordDate, i));
                 rollInDay.add(wardRecordDay);
             }

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

@@ -31,7 +31,7 @@ public class FIRP0187 extends QCCatalogue {
             status.set("0");
             return;
         }
-        if (StringUtils.isEmpty(outWay) && StringUtils.isEmpty(deadAutopsy)) {
+        if (StringUtils.isEmpty(outWay) || StringUtils.isEmpty(deadAutopsy)) {
             status.set("0");
             return;
         }

+ 5 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0196.java

@@ -37,11 +37,11 @@ public class FIRP0196 extends QCCatalogue {
                 return ;
             }
             if (StringUtil.isBlank(brainInjuryComaBeforeDays)
-                    || StringUtil.isBlank(brainInjuryComaBeforeHours)
-                    || StringUtil.isBlank(brainInjuryComaBeforeMins)
-                    || StringUtil.isBlank(brainInjuryComaAfterDays)
-                    || StringUtil.isBlank(brainInjuryComaAfterHours)
-                    || StringUtil.isBlank(brainInjuryComaAfterMins)
+                    && StringUtil.isBlank(brainInjuryComaBeforeHours)
+                    && StringUtil.isBlank(brainInjuryComaBeforeMins)
+                    && StringUtil.isBlank(brainInjuryComaAfterDays)
+                    && StringUtil.isBlank(brainInjuryComaAfterHours)
+                    && StringUtil.isBlank(brainInjuryComaAfterMins)
             ) {
                 status.set("-1");
             }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0248.java

@@ -28,6 +28,9 @@ public class FIRP0248 extends QCCatalogue {
             boolean match = false;
 
             String fpRescueNumStr = firstpageStructureMap.get("病人抢救次数");
+            if (StringUtil.isBlank(fpRescueNumStr)) {
+                return;
+            }
             if (StringUtil.isNotBlank(fpRescueNumStr) && CatalogueUtil.numbersOnly(fpRescueNumStr)) {
                 int fpRescueNum = Integer.parseInt(fpRescueNumStr);
                 if (fpRescueNum == rescueNum) {

+ 8 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02904.java

@@ -1,10 +1,10 @@
 package com.lantone.qc.kernel.catalogue.firstpagerecord;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-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.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -24,8 +24,13 @@ public class FIRP02904 extends QCCatalogue {
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String name = firstpageStructureMap.get(Content.allergyDrug);
-            if (!CatalogueUtil.isEmpty(name)) {
+            String drugAllergy = firstpageStructureMap.get(Content.drugAllergy);
+            if (StringUtil.isBlank(drugAllergy) || "无".equals(drugAllergy)) {
+                status.set("0");
+                return;
+            }
+            String allergicDrugs = firstpageStructureMap.get(Content.allergyDrug);
+            if (StringUtil.isNotEmpty(allergicDrugs)) {
                 status.set("0");
             }
         }

+ 30 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0146.java

@@ -1,12 +1,17 @@
 package com.lantone.qc.kernel.catalogue.leavehospital;
 
+import com.alibaba.fastjson.JSONArray;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
+import com.lantone.qc.kernel.structure.ai.ModelAI;
+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.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.DiagLabel;
 import com.lantone.qc.pub.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
@@ -20,6 +25,8 @@ import java.util.List;
  */
 @Component
 public class LEA0146 extends QCCatalogue {
+    @Autowired
+    ChiefPresentSimilarityServiceClient chiefPresentSimilarityServiceClient;
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getLeaveHospitalDoc() != null) {
@@ -46,7 +53,28 @@ public class LEA0146 extends QCCatalogue {
                 putDiagToList(beHospitalizedDoc.getSuppleDiagLabel().getDiags(), beHospitalDiag); //其他诊断
             }
 
-            if (!leaveDiags.containsAll(beHospitalDiag)) {
+            String infoStr = "";
+            int matchSum = 0;
+            ModelAI modelAI = new ModelAI();
+            for (String beDiag : beHospitalDiag) {
+                JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(beDiag, leaveDiags, false
+                        , "diagnose", chiefPresentSimilarityServiceClient);
+                if (jsonArray.size() == 2) {
+                    /* 相似度最高诊断 */
+                    String symptom = jsonArray.getString(0);
+                    /* 相似度分数 */
+                    double likeRate = jsonArray.getDoubleValue(1);
+                    if (likeRate > 0.85) {
+                        matchSum++;
+                    } else {
+                        infoStr = CatalogueUtil.concatInfo(infoStr, beDiag);
+                    }
+                } else {
+                    infoStr = CatalogueUtil.concatInfo(infoStr, beDiag);
+                }
+            }
+            info.set(infoStr);
+            if (matchSum != beHospitalDiag.size()) {
                 status.set("-1");
             }
         }
@@ -54,7 +82,7 @@ public class LEA0146 extends QCCatalogue {
 
     private void putDiagToList(List<Diag> diagList, List<String> beHospitalDiag) {
         for (Diag diag : diagList) {
-            beHospitalDiag.add(diag.getName());
+            beHospitalDiag.add(diag.getHospitalDiagName());
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0508.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.util.SpringContextUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -43,6 +44,9 @@ public class LEA0508 extends QCCatalogue {
         }
         for (String doctorNameSplit : doctorName.split("\\s+")) {
             Map<String, String> doctor = (Map) surgeon.get(doctorNameSplit);
+            if (doctor == null || doctor.size() == 0) {
+                continue;
+            }
             String occup = doctor.get("occup");
             if (StringUtils.isNotEmpty(occup) && "1".equals(occup)) {
                 status.set("0");

+ 4 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0651.java

@@ -15,13 +15,13 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : OPE0651
- * @Description : 术后首程未在手术结束1小时内完成
+ * @ClassName : OPE03026
+ * @Description : 术后首程未在手术结束15分钟内完成
  * @Author : 胡敬
  * @Date: 2020-03-30 17:03
  */
 @Component
-public class OPE0651 extends QCCatalogue {
+public class OPE03026 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
@@ -44,7 +44,7 @@ public class OPE0651 extends QCCatalogue {
             if (operationDate == null || date == null) {
                 continue;
             }
-            boolean compareTime = CatalogueUtil.compareTime(operationDate, date, 60L);
+            boolean compareTime = CatalogueUtil.compareTime(operationDate, date, 15L);
             if (compareTime) {
                 status.set("-1");
                 return;

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0636.java

@@ -33,7 +33,7 @@ public class OPE0636 extends QCCatalogue {
                 long count = operationDocs.stream().filter(operationDoc -> {
                     boolean flag = false;
                     if (operationDoc.getOperationRecordDoc() != null
-                            && StringUtil.isBlank(operationDoc.getOperationRecordDoc().getStructureMap().get("主医师"))) {
+                            && StringUtil.isBlank(operationDoc.getOperationRecordDoc().getStructureMap().get("主医师"))) {
                         flag = true;
                     }
                     return flag;

+ 13 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0125.java

@@ -10,6 +10,7 @@ import com.lantone.qc.pub.model.doc.ward.DirectorDoctorWardDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -39,6 +40,18 @@ public class THR0125 extends QCCatalogue {
                 status.set("0");
                 return;
             }
+        }
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            String admisTime = beHospitalStructureMap.get("入院日期");
+            if (CatalogueUtil.isEmpty(admisTime)) {
+                return;
+            }
+            //开始时间(入院时间)
+            Date beginDate = StringUtil.parseDateTime(admisTime);
+            if (beginDate == null) {
+                return;
+            }
             ThreeLevelWardDoc threeLevelWardDoc = inputInfo.getThreeLevelWardDocs().get(0);
             List<DirectorDoctorWardDoc> directorDoctorWardDocs = threeLevelWardDoc.getDirectorDoctorWardDocs();
             if (directorDoctorWardDocs.size() > 0) {
@@ -48,9 +61,6 @@ public class THR0125 extends QCCatalogue {
                     status.set("0");
                 }
             }
-        } else {
-            //没有出院小结,这条直接不报错
-            status.set("0");
         }
     }
 }

+ 13 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0126.java

@@ -46,6 +46,18 @@ public class THR0126 extends QCCatalogue {
                 status.set("0");
                 return;
             }
+        }
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            String admisTime = beHospitalStructureMap.get("入院日期");
+            if (CatalogueUtil.isEmpty(admisTime)) {
+                return;
+            }
+            //开始时间(入院时间)
+            Date beginDate = StringUtil.parseDateTime(admisTime);
+            if (beginDate == null) {
+                return;
+            }
             /* 首次病程录如果是主治或者主任写的,也算主治查房 */
             FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
             if (firstCourseRecordDoc != null) {
@@ -68,16 +80,13 @@ public class THR0126 extends QCCatalogue {
                     status.set("0");
                 }
             }
-        } else {
-            //没有出院小结,这条直接不报错
-            status.set("0");
         }
     }
 
     private String getFirstCourseProfessor(FirstCourseRecordDoc firstCourseRecordDoc) {
         String professor = "";
         String doctorSign = firstCourseRecordDoc.getStructureMap().get("记录医师");
-        if (StringUtil.isBlank(doctorSign)){
+        if (StringUtil.isBlank(doctorSign)) {
             return professor;
         }
         SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");

+ 1 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR02880.java

@@ -30,6 +30,7 @@ public class THR02880 extends QCCatalogue {
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
         String firstCourseDiffDiag = getDiffDiag(firstCourseRecordDoc);
         if (StringUtil.isBlank(firstCourseDiffDiag)) {
+            status.set("0");
             return;
         }
         if (directorDocs.size() == 0) {

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

@@ -23,30 +23,26 @@ import java.util.Map;
 @Component
 public class THR02931 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getLeaveHospitalDoc() == null) {
-            status.set("0");
             return;
         }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         DeathCaseDiscussDoc deathCaseDiscussDoc = inputInfo.getDeathCaseDiscussDoc();
         if (deathRecordDoc != null || deathCaseDiscussDoc != null) {
-            status.set("0");
             return;
         }
         LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
         String leaveDateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
         if (StringUtil.isBlank(leaveDateStr)) {
-            status.set("0");
             return;
         }
         Date leaveDate = StringUtil.parseDateTime(leaveDateStr);
         if (leaveDate == null) {
-            status.set("0");
             return;
         }
         List<ThreeLevelWardDoc> allDoctorWradDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();
         if (allDoctorWradDocs.size() == 0) {
-            status.set("0");
             return;
         }
         int j = 0; //最后两次查房记录

+ 1 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0701.java

@@ -29,6 +29,7 @@ public class THR0701 extends QCCatalogue {
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
         String firstCourseDiffDiag = getDiffDiag(firstCourseRecordDoc);
         if (StringUtil.isBlank(firstCourseDiffDiag)) {
+            status.set("0");
             return;
         }
         if (attendDocs.size() == 0) {

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java

@@ -148,7 +148,7 @@ public class TaiZhouConsultationDocTrans extends ModelDocTrans {
             "病史描述=病史回顾描述",
             "病历日期=会诊日期及时间",
             "记录及建议=会诊意见",
-            "临床科室1=临床科室",
+            "临床科室1=申请科室",
             "申请医生1=申请医生"
     );
 

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java

@@ -46,7 +46,8 @@ public class TaiZhouDifficultCaseDiscussDocTrans extends ModelDocTrans {
             "讨论小结=结 论",
             "讨论意见=讨论内容",
             "事件日期=讨论时间",
-            "本人姓名=姓名"
+            "本人姓名=姓名",
+            "参加人员及职称(护士)=参加讨论者"
     );
 
 }

+ 7 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstPageRecordDocTrans.java

@@ -43,11 +43,13 @@ public class TaiZhouFirstPageRecordDocTrans extends ModelDocTrans {
         structureExtMap.put(Content.dischargeDiag, FastJsonUtils.getJsonToBean(content.get(Content.dischargeDiag), Object.class));
 
         List<Map<String, String>> dischargeDiag = (List) structureExtMap.get(Content.dischargeDiag);
-        for (Map<String, String> diag : dischargeDiag) {
-            String diagCategory = diag.get("诊断类别");
-            if (StringUtil.isNotBlank(diagCategory) && "1".equals(diagCategory)) {
-                diag.put("诊断类别", "主要诊断");
-                break;
+        if (dischargeDiag != null && dischargeDiag.size() > 0) {
+            for (Map<String, String> diag : dischargeDiag) {
+                String diagCategory = diag.get("诊断类别");
+                if (StringUtil.isNotBlank(diagCategory) && "1".equals(diagCategory)) {
+                    diag.put("诊断类别", "主要诊断");
+                    break;
+                }
             }
         }
         //        structureExtMap.put(Content.pathologyDiagnose, FastJsonUtils.getJsonToBean(content.get(Content.pathologyDiagnose), Object.class));

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java

@@ -198,6 +198,7 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
             "主刀医师=主刀医师签名",
             "术前准备=术前准备内容",
             "注意事项=术前术后注意事项",
+            "其他术前相关情况=术前术后注意事项",
             "辅助检查结果=辅助检查",
             "术中、术后防范措施=可能意外和防范措施",
             "现病史- 发病情况=发病经过",