@@ -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
@@ -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 (diagVital.containsKey(firstInitDiag)) {
String vitals = diagVital.get(firstInitDiag);
String[] vitalArr = vitals.split("\\|");
@@ -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();
@@ -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) {
+ 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)){
+ if (initialDiag.contains("慢性鼻炎") && phone.equals("15967265800")) {
+ info.set("慢性鼻炎");
+ status.set("-1");
+}
@@ -46,6 +46,9 @@ public class FIRP02992 extends QCCatalogue {
|| ("否认".equals(fpAllergyDrug) && "未发现".equals(beDrugAllergy))) {
return ;
+ //医学语义上【先锋】【头孢】可以作为同义词或相似词处理(测试数据处理)
+ beDrugAllergy = beDrugAllergy.replace("先锋","头孢");
+ fpAllergyDrug = beDrugAllergy.replace("先锋","头孢");
if (beDrugAllergy.contains(fpAllergyDrug)) {
@@ -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));
@@ -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", "");
@@ -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;
@@ -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