|
@@ -0,0 +1,74 @@
|
|
|
+package com.lantone.qc.kernel.catalogue.hospital.xszyy.operationdiscussion;
|
|
|
+
|
|
|
+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.model.doc.operation.OperationDoc;
|
|
|
+import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
|
|
|
+import com.lantone.qc.pub.util.StringUtil;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description: 手术记录出血情况未填写
|
|
|
+ * @author: kwz
|
|
|
+ * @time: 2020/06/29 11:22
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class OPE03142 extends QCCatalogue {
|
|
|
+ /**
|
|
|
+ * 1.手术记录中包含文本形式【失血/出血】
|
|
|
+ * 或2.标题形式包含【失血/出血】判断是否为空
|
|
|
+ *
|
|
|
+ * @param inputInfo
|
|
|
+ * @param outputInfo
|
|
|
+ */
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ status.set("0");
|
|
|
+ int operationNum = 0;
|
|
|
+ int bleedingNum = 0;
|
|
|
+ //先判断有无手术记录
|
|
|
+ List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
|
|
|
+ if (operationDocs != null && operationDocs.size() > 0) {
|
|
|
+ ss:
|
|
|
+ for (OperationDoc operationDoc : operationDocs) {
|
|
|
+ if (operationDoc == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
|
|
|
+ if (operationRecordDoc != null) {
|
|
|
+ operationNum++;
|
|
|
+ Map<String, String> structureMap = operationRecordDoc.getStructureMap();
|
|
|
+ if (structureMap == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String lossOfBlood = structureMap.get("失血");
|
|
|
+ String bleeding = structureMap.get("出血");
|
|
|
+ if (StringUtil.isNotBlank(lossOfBlood) || StringUtil.isNotBlank(bleeding)) {
|
|
|
+ bleedingNum++;
|
|
|
+ break ss;
|
|
|
+ }
|
|
|
+ String afterOperation = structureMap.get("手术经过及处理");
|
|
|
+ List<String> bleedingRecordList = Content.bleedingRecordList;
|
|
|
+ if (StringUtil.isNotBlank(afterOperation)) {
|
|
|
+ for (String bleedingRecord : bleedingRecordList) {
|
|
|
+ if (afterOperation.contains(bleedingRecord)) {
|
|
|
+ bleedingNum++;
|
|
|
+ break ss;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (operationNum != bleedingNum) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|