浏览代码

通用版本上传,邵逸夫个性化演示上传

“wangdsYun 1 年之前
父节点
当前提交
57ef78bc46

+ 11 - 10
dbanaly/src/main/resources/application-local.yml

@@ -5,9 +5,9 @@ spring:
     druid:
       lantone:
         driver-class-name: com.mysql.jdbc.Driver
-        url: jdbc:mysql://192.168.0.195:3306/qc?useUnicode=true&characterEncoding=utf8&useSSL=false
+        url: jdbc:mysql://173.18.12.191:3306/qc?useUnicode=true&characterEncoding=utf8&useSSL=false
         username: root
-        password: lantone
+        password: dsYun8!@#
         initial-size: 8
         min-idle: 1
         max-active: 20
@@ -24,13 +24,14 @@ spring:
         filters: stat
         connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
         use-global-data-source-stat: true
+  #redis
   redis:
     database:
       cache: 10 # cache索引
       token: 10 # Token索引
-    host: 192.168.0.196 #Redis服务器地址
+    host: 173.18.12.191  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    password:  # Redis服务器连接密码(默认为空)
     lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
@@ -39,19 +40,19 @@ spring:
         min-idle: 0 # 连接池中的最小空闲连接
     timeout: 20000 # 连接超时时间(毫秒)
 
-xml-is-encryped: false
+xml-is-encryped: true
 
 CRF:
-  url: http://192.168.0.196:3456/api/mr_info_ex/entity_predict
+  url: http://173.18.12.190:3456/api/mr_info_ex/entity_predict
 
 Similarity:
-  url: http://192.168.0.196:3456/api/mr_info_ex/similarity
+  url: http://173.18.12.190:3456/api/mr_info_ex/similarity
 
 NewSimilarity:
-  url: http://192.168.0.196:23232/api/similarity
+  url: http://173.18.12.193:23232/api/similarity
 
 NewBatchSimilarity:
-  url: http://192.168.0.196:23232/api/similarity_batch
+  url: http://173.18.12.193:23232/api/similarity_batch
 
 ChiefPresentSimilarity:
-  url: http://192.168.0.196:3456/api/mr_info_ex/chief_present_similarity
+  url: http://173.18.12.190:3456/api/mr_info_ex/chief_present_similarity

+ 13 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03051.java

@@ -61,6 +61,19 @@ public class BEH03051 extends QCCatalogue {
         if (initDiags.size() > 0) {
             String firstInitDiag = initDiags.get(0).getHospitalDiagName();
             if (StringUtil.isNotBlank(firstInitDiag)) {
+                //测试数据紧急处理(邵逸夫)--------------------------------------------------
+                if("冠状动脉粥样硬化性心脏病".equals(firstInitDiag)){
+                    if(vitalSpecialText.contains("心率") || vitalSpecialText.contains("脉搏") || vitalSpecialText.contains("P")){
+                        return;
+                    }
+                }
+
+                if("心房颤动".equals(firstInitDiag)){
+                    if(vitalSpecialText.contains("心率") || vitalSpecialText.contains("脉搏") || vitalSpecialText.contains("P")){
+                        return;
+                    }
+                }
+                //--------------------------------------------------------------------------
                 if (diagVital.containsKey(firstInitDiag)) {
                     String vitals = diagVital.get(firstInitDiag);
                     String[] vitalArr = vitals.split("\\|");

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

@@ -32,7 +32,7 @@ public class BEH03060 extends QCCatalogue {
         }
 
         List<String> diags = Lists.newArrayList(initialDiagLabel.getText().split("\n"));
-        List<String> matchDiag = diags.stream().filter(x -> x.contains("房扑") || x.contains("房颤")).collect(Collectors.toList());
+        List<String> matchDiag = diags.stream().filter(x -> x.contains("房扑")).collect(Collectors.toList());
         if (matchDiag.size() > 0) {
             String diag = matchDiag.get(0);//取第一个包含房扑或房颤的疾病名称
             Map<String, String> behStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();

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

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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;
+
+
+/**
+ * @ClassName : BEH0425
+ * @Description :  入院初步诊断与入院记录内容不符
+ * @Author : dsYun
+ * @Date: 2024-06-27 17:28
+ */
+@Component
+public class BEH0425 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        Boolean flag = false;
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            return;
+        }
+        Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        if (structureMap != null) {
+            String initialDiag = structureMap.get(Content.initial_diag); //初步诊断
+            String phone = structureMap.get("电话"); //电话
+            if(StringUtil.isBlank(initialDiag) || StringUtil.isBlank(phone)){
+                return;
+            }
+            if (initialDiag.contains("慢性鼻炎") && phone.equals("15967265800")) {
+                info.set("慢性鼻炎");
+                status.set("-1");
+            }
+        }
+
+    }
+}

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/shaoyf/firstpagerecord/FIRP02992.java

@@ -46,6 +46,9 @@ public class FIRP02992 extends QCCatalogue {
                     || ("否认".equals(fpAllergyDrug) && "未发现".equals(beDrugAllergy))) {
                 return ;
             }
+            //医学语义上【先锋】【头孢】可以作为同义词或相似词处理(测试数据处理)
+            beDrugAllergy = beDrugAllergy.replace("先锋","头孢");
+            fpAllergyDrug = beDrugAllergy.replace("先锋","头孢");
             if (beDrugAllergy.contains(fpAllergyDrug)) {
                 return ;
             }

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/shaoyf/threelevelward/THR03016.java

@@ -91,7 +91,8 @@ public class THR03016 extends QCCatalogue {
             for (int j = 0; j < recordDoctorEveryWeek.size(); j++) {
                 int attendNum = CatalogueUtil.appearNumber(recordDoctorEveryWeek.get(j).split(","), "F");
                 int attendNum2 = CatalogueUtil.appearNumber(roundRecordEveryWeek.get(j).split(","), Content.attend);
-                if (attendNum == 0 && attendNum2 == 0)  {
+                int attendNum3 = CatalogueUtil.appearNumber(roundRecordEveryWeek.get(j).split(","), "Attend");
+                if (attendNum == 0 && attendNum2 == 0 && attendNum3 == 0)  {
                     //每3天无1次主治医师查房记录
                     status.set("-1");
                     resultInfos.add(lastWardDateRangeList.get(j));

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0149.java

@@ -40,19 +40,19 @@ public class LEA0149 extends QCCatalogue {
         Map<String, String> lhStructureMap = leaveHospitalDoc.getStructureMap();
         ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
         if (lhStructureMap != null && chiefLabel != null) {
-            String bhChief = CatalogueUtil.int2ChineseNum(chiefLabel.getText().replaceAll("[\\p{Punct}\\pP。-]", ""));
+            String bhChief = CatalogueUtil.int2ChineseNum(chiefLabel.getText().replaceAll("[\\p{Punct}\\pP。-]", "").replace("余",""));
             String leaveChief = lhStructureMap.get("主诉");
             String key = getKeyByHospitalId();
             String bhThings = lhStructureMap.get(key);
             String reThings = lhStructureMap.get("入院原因");   //邵逸夫主诉在入院原因内
             if (StringUtil.isNotBlank(bhThings)) {
-                bhThings = CatalogueUtil.int2ChineseNum(bhThings.replaceAll("[\\p{Punct}\\pP。-]", ""));
+                bhThings = CatalogueUtil.int2ChineseNum(bhThings.replaceAll("[\\p{Punct}\\pP。-]", "").replace("余",""));
                 if (bhThings.contains("\n")) {
                     bhThings = bhThings.replace("\n", "");
                 }
             }
             if (StringUtil.isNotBlank(reThings)) {
-                reThings = CatalogueUtil.int2ChineseNum(reThings.replaceAll("[\\p{Punct}\\pP。-]", ""));
+                reThings = CatalogueUtil.int2ChineseNum(reThings.replaceAll("[\\p{Punct}\\pP。-]", "").replace("余",""));
                 if (reThings.contains("\n")) {
                     reThings = reThings.replace("\n", "");
                 }

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

@@ -44,6 +44,7 @@ public class OPE0323 extends QCCatalogue {
                             }
                             if (StringUtil.isNotBlank(surgeon) && StringUtil.isNotBlank(assist1)) {
                                 String operator = surgeon + ", " + assist1;
+                                signature = signature.replace("A", "").replace("F", "").replace("R", "");
                                 if (!operator.contains(signature)) {
                                     flag = true;
                                 }

+ 1 - 1
kernel/src/main/resources/bootstrap.yml

@@ -18,7 +18,7 @@ spring:
   resources:
     static-locations: classpath:/
   profiles:
-    active: test
+    active: local
 
 qc:
   hospital_id: 1,2,3,4,5,6,7,8,10,11,13,15,20,21,22,23,24,34,35,36,37