|
@@ -4,6 +4,7 @@ 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.DoctorAdviceDoc;
|
|
|
import com.lantone.qc.pub.model.doc.operation.OperationDoc;
|
|
|
import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
|
|
|
import com.lantone.qc.pub.util.DateUtil;
|
|
@@ -11,11 +12,7 @@ import com.lantone.qc.pub.util.StringUtil;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Description: 手术患者无术前讨论记录
|
|
@@ -33,6 +30,7 @@ public class PRE0328 extends QCCatalogue {
|
|
|
* 3:如果手术记录次数(第一次手术的日期内有其他手术不算次数) 大于 术前讨论、术前小结次数,则出错
|
|
|
*/
|
|
|
status.set("0");
|
|
|
+ List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
|
|
|
List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
|
|
|
if (operationDocs == null || operationDocs.size() == 0) {
|
|
|
return;
|
|
@@ -64,12 +62,23 @@ public class PRE0328 extends QCCatalogue {
|
|
|
j++;
|
|
|
}
|
|
|
}
|
|
|
+ //医嘱中包含“冠状动脉造影术”,且无术前讨论.则报规则
|
|
|
+ for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
|
|
|
+ Map<String,String> doctorAdviceStructuerMap = doctorAdviceDoc.getStructureMap();
|
|
|
+ String advicename = doctorAdviceStructuerMap.get("医嘱项目名称");
|
|
|
+ if(StringUtil.isNotBlank(advicename) && advicename.contains("冠状动脉造影术") && j==0){
|
|
|
+ status.set("-1");
|
|
|
+ info.set("手术记录不一致");
|
|
|
+ }
|
|
|
+ }
|
|
|
/* 如果入院时间-手术开始时间小于30分钟,则术前讨论、术前小结次数+1*/
|
|
|
if (emergencyOperation) {
|
|
|
if (j == 0) {
|
|
|
j++;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
if (i > 0 && i > j) {
|
|
|
status.set("-1");
|
|
|
info.set("手术记录不一致");
|