|
@@ -1,11 +1,13 @@
|
|
|
package com.lantone.qc.kernel.catalogue.invasiveoperation;
|
|
|
|
|
|
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.DoctorAdviceDoc;
|
|
|
import com.lantone.qc.pub.model.doc.InvasiveOperationDoc;
|
|
|
+import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
|
|
|
import com.lantone.qc.pub.util.ListUtil;
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
@@ -49,9 +51,18 @@ public class INVA03153 extends QCCatalogue {
|
|
|
if(StringUtil.isBlank(medicalOrderName)) {
|
|
|
continue;
|
|
|
}
|
|
|
+ if(medicalOrderName.startsWith("停")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String prescriptionType = doctorAdviceDocStructureMap.get("医嘱处方类型");
|
|
|
//判断医嘱是否包含有创
|
|
|
for (String haveOperation : haveOperationList) {
|
|
|
if(medicalOrderName.contains(haveOperation)){
|
|
|
+ if(medicalOrderName.contains("血管造影")){
|
|
|
+ if(judgeAngiographic(medicalOrderName,prescriptionType)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
flag=true;
|
|
|
}
|
|
|
}
|
|
@@ -70,4 +81,18 @@ public class INVA03153 extends QCCatalogue {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //判断包含血管造影医嘱非有创的情况
|
|
|
+ public boolean judgeAngiographic(String medicalOrderName,String prescriptionType) {
|
|
|
+ String rex = "[\\s\\S]*(?=拟)[\\s\\S]*(?=术)[\\s\\S]*";
|
|
|
+ String rex1 = "[\\s\\S]*(?=定于)[\\s\\S]*(?=行)[\\s\\S]*";
|
|
|
+ if(StringUtil.isNotEmpty(prescriptionType)) {
|
|
|
+ if (prescriptionType.equals("手术")) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(medicalOrderName.matches(rex)||medicalOrderName.matches(rex1)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|