Преглед изворни кода

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

MarkHuang пре 5 година
родитељ
комит
be1699c005

+ 5 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0002.java

@@ -65,11 +65,11 @@ public class BEH0002 extends QCCatalogue {
             String firstHDiag = diags.get(0).getHospitalDiagName();
             String mainDiag = StringUtil.isBlank(firstHDiag) ? firstDiag : firstHDiag;
             List<String> symptoms = null;
-            Map<String, String> hostpital_standDiag = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
-            if (!hostpital_standDiag.containsKey(mainDiag)) {
-                status.set("0");
-                return;
-            }
+//            Map<String, String> hostpital_standDiag = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
+//            if (!hostpital_standDiag.containsKey(mainDiag)) {
+//                status.set("0");
+//                return;
+//            }
             Map<String, Map<String, Object>> diagMap = redisUtil.getJsonStringValue(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
             Map<String, Object> map = (Map<String, Object>) diagMap.get(mainDiag);
             if (map != null && map.size() > 0) {

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0011.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Component;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName : BEH0011
@@ -32,7 +33,7 @@ public class BEH0011 extends QCCatalogue {
         }
         Map<String, Map<String, Object>> diagMap = redisUtil.getJsonStringValue(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
         String initDiagText = CatalogueUtil.removeSpecialChar(inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getText());
-        List<Diag> diags = inputInfo.getBeHospitalizedDoc().getPastLabel().getDiags();
+        List<Diag> diags = inputInfo.getBeHospitalizedDoc().getPastLabel().getDiags().stream().filter(diag -> diag.getNegative() == null).collect(Collectors.toList());
         if(StringUtils.isNotEmpty(initDiagText)){
             List<String> initDiags = Arrays.asList(initDiagText.split(","));
             if(diags.size()>0){

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

@@ -24,8 +24,8 @@ public class BEH0408 extends QCCatalogue {
         }
         Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         if(structureMap != null){
-//            String name = structureMap.get("联系地址");
-            String name = structureMap.get("户口地址");
+            String name = structureMap.get("联系地址");
+//            String name = structureMap.get("户口地址");
             if(CatalogueUtil.isEmpty(name)){
                 status.set("-1");
             }

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

@@ -25,8 +25,8 @@ public class BEH0440 extends QCCatalogue {
         }
         Map<String, String> bhMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         if(bhMap != null){
-            if(bhMap.containsKey("户口地址")){
-                if(!CatalogueUtil.isEmpty(bhMap.get("户口地址"))){
+            if(bhMap.containsKey("联系地址")){
+                if(!CatalogueUtil.isEmpty(bhMap.get("联系地址"))){
                     status.set("0");
                 }
             }

+ 15 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0305.java

@@ -1,10 +1,12 @@
 package com.lantone.qc.kernel.catalogue.clinicalblood;
 
 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.ClinicalBloodDoc;
 import com.lantone.qc.pub.util.DateUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -25,32 +27,28 @@ import java.util.regex.Pattern;
  */
 @Component
 public class CLI0305 extends QCCatalogue {
-    public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm"; //输注时间
-    public static String FORMAT_LONG_CN_MI = "yyyy年MM月dd日HH时mm分"; //记录时间
-    DateUtil dateUtil = new DateUtil();
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
-                String infusion_begin= cliBStructureMap.get("输注开始");
-                String infusion_end = cliBStructureMap.get("输注结束");
-               if(StringUtils.isNotEmpty(infusion_begin) && StringUtils.isNotEmpty(infusion_end)){
-                    try {
-                        Date date_in = new SimpleDateFormat(DATE_TIME_FORMAT).parse(infusion_begin);
-                        Date date_out = new SimpleDateFormat(DATE_TIME_FORMAT).parse(infusion_end);
-                        double distanceHour = dateUtil.getDistanceTime2(date_in, date_out);
-                        if(distanceHour > 24.0){
+                String infusionEnd = cliBStructureMap.get("输注结束");
+                String recordDateStr = cliBStructureMap.get("记录时间");
+                if (StringUtils.isNotEmpty(infusionEnd) && StringUtils.isNotEmpty(recordDateStr)) {
+                    Date infusionEndDate = StringUtil.parseDateTime(infusionEnd);
+                    Date recordDate = StringUtil.parseDateTime(recordDateStr);
+                    if (infusionEndDate != null && recordDate != null) {
+                        if (infusionEndDate.after(recordDate)) {
+                            continue;
+                        }
+                        if (CatalogueUtil.compareTime(infusionEndDate, recordDate, 24 * 60L)) {
                             status.set("-1");
+                            return;
                         }
-                    } catch (ParseException e) {
-                        e.printStackTrace();
                     }
-
                 }
             }
         }
-
     }
 }

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

@@ -33,7 +33,7 @@ public class FIRP0175 extends QCCatalogue {
                 return;
             }
             String firstpageleaveDiag = dischargeDiag.get(0).get(Content.diagnoseName);
-            String leaveDiag = leaveDiags.get(0).getName();
+            String leaveDiag = leaveDiags.get(0).getHospitalDiagName();
             if (!CatalogueUtil.compareToken(firstpageleaveDiag, leaveDiag)) {
                 status.set("-1");
             }

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

@@ -33,6 +33,7 @@ public class THR0094 extends QCCatalogue {
         RedisUtil redisUtil = SpringContextUtil.getBean("redisUtil");
         Map<String, Object> surgeon = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
         if (surgeon == null) {
+            status.set("0");
             return;
         }
         Map<String, String> doctor = (Map) surgeon.get(sign);

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

@@ -42,14 +42,23 @@ public class THR0140 extends QCCatalogue {
 
         StringBuffer message = new StringBuffer();
         //长兴:返回所有医师未签名的记录日期
+        int i = 0;
         for (ThreeLevelWardDoc threeLevelWardDoc : allDoctorWradDocs) {
-            if(StringUtil.isBlank(threeLevelWardDoc.getStructureMap().get("记录医师"))){
-                if(threeLevelWardDoc.getStructureMap() != null && threeLevelWardDoc.getStructureMap().get("记录时间") != null){
-                    message.append(threeLevelWardDoc.getStructureMap().get("记录时间")+",");
+            if (StringUtil.isBlank(threeLevelWardDoc.getStructureMap().get("记录医师"))) {
+                if (threeLevelWardDoc.getStructureMap() != null && threeLevelWardDoc.getStructureMap().get("记录时间") != null) {
+                    if (i > 1) {
+                        break;
+                    }
+                    if (message.toString().length() == 0) {
+                        message.append(threeLevelWardDoc.getStructureMap().get("记录时间"));
+                    } else {
+                        message.append(",").append(threeLevelWardDoc.getStructureMap().get("记录时间"));
+                    }
+                    i++;
                 }
             }
         }
-        info.set(message.toString());
+        info.set(message.append("...").toString());
         //        if (inputInfo.getDifficultCaseDiscussDocs().size() > 0) {
         //            processSign(inputInfo, "疑难患者");
         //        }

+ 2 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0141.java

@@ -50,9 +50,9 @@ public class THR0141 extends QCCatalogue {
                 directorSum++;
             }
         }
-        if (directorSum != allDoctorWradDocs.size()) {
+        if (directorSum == 0) {
             status.set("-1");
-            if (StringUtil.isBlank(message)) {
+            if (StringUtil.isBlank(info.toString())) {
                 info.set(message);
             } else {
                 info.set(info.get() + "," + message);

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/ThreeLevelWardAI.java

@@ -257,6 +257,9 @@ public class ThreeLevelWardAI extends ModelAI {
         for (RescueDoc rescueDoc : rescueDocs) {
             Map<String, String> rescueStructureMap = rescueDoc.getStructureMap();
             recordTime = rescueStructureMap.get("抢救时间");
+            if(recordTime == null){
+                continue;
+            }
             Date recordDate = StringUtil.parseDateTime(recordTime);
             if (recordDate == null) {
                 continue;

Разлика између датотеке није приказан због своје велике величине
+ 1443 - 1443
kernel/src/main/resources/cache/1/hospital_doctor_info.dict


+ 8 - 8
trans/src/main/java/com/lantone/qc/trans/changx/ChangxDocTrans.java

@@ -245,14 +245,14 @@ public class ChangxDocTrans extends DocTrans {
             //                            .map(operationDoc -> operationDoc.getOperationInformedConsentDoc().getPageData())
             //                            .collect(Collectors.toList())
             //            );
-            inputInfo.getPageData().put(
-                    "手术安全核查表",
-                    inputInfo.getOperationDocs()
-                            .stream()
-                            .filter(operationDoc -> operationDoc != null && operationDoc.getOperationSafetyChecklistDoc() != null)
-                            .map(operationDoc -> operationDoc.getOperationSafetyChecklistDoc().getPageData())
-                            .collect(Collectors.toList())
-            );
+//            inputInfo.getPageData().put(
+//                    "手术安全核查表",
+//                    inputInfo.getOperationDocs()
+//                            .stream()
+//                            .filter(operationDoc -> operationDoc != null && operationDoc.getOperationSafetyChecklistDoc() != null)
+//                            .map(operationDoc -> operationDoc.getOperationSafetyChecklistDoc().getPageData())
+//                            .collect(Collectors.toList())
+//            );
         }
         if (inputInfo.getTransferRecordDocs() != null) {
             if (ListUtil.isNotEmpty(inputInfo.getTransferRecordDocs().getTransferIntoDocs())) {

+ 9 - 2
trans/src/main/java/com/lantone/qc/trans/changx/ChangxThreeLevelWardDocTrans.java

@@ -51,13 +51,19 @@ public class ChangxThreeLevelWardDocTrans extends ModelDocTrans {
             }
             cutWordMap = Preproc.getCutWordMap(true, sourceTitles, text);
             if (StringUtil.isBlank(structureMap.get("记录医师"))) {
+                Pattern p = Pattern.compile("^[^\\u4e00-\\u9fa5]+$");//分词结果如果不包含中文为日期,则不覆盖
                 if (StringUtil.isNotEmpty(cutWordMap.get("医师签名"))) {
-                    Pattern p = Pattern.compile("^[^\\u4e00-\\u9fa5]+$");//分词结果如果不包含中文为日期,则不覆盖
                     Matcher m = p.matcher(cutWordMap.get("医师签名"));
                     if (!m.matches()) {
                         structureMap.put("记录医师", cutWordMap.get("医师签名"));
                     }
                 }
+                if(StringUtil.isNotEmpty(cutWordMap.get("记录医生"))){
+                    Matcher m = p.matcher(cutWordMap.get("记录医生"));
+                    if (!m.matches()) {
+                        structureMap.put("记录医师", cutWordMap.get("记录医生"));
+                    }
+                }
             }
         }
 
@@ -129,7 +135,8 @@ public class ChangxThreeLevelWardDocTrans extends ModelDocTrans {
     }
 
     private List<String> sourceTitles = Lists.newArrayList(
-            "医师签名"
+            "医师签名",
+            "记录医生"
     );
 
     private List<String> keyContrasts = Lists.newArrayList(