|
@@ -0,0 +1,74 @@
|
|
|
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
|
|
|
+
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+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.FirstPageRecordDoc;
|
|
|
+import com.lantone.qc.pub.util.StringUtil;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @ClassName : FIRP03197
|
|
|
+ * @Description : 其他手术及操作麻醉方式未填写
|
|
|
+ * @Author : wsy
|
|
|
+ * @Date: 2022-2-9 15:51
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class FIRP03197 extends QCCatalogue {
|
|
|
+ @Override
|
|
|
+ public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ status.set("0");
|
|
|
+ List<String> noMatchWords = Lists.newArrayList("其他周围血管药物洗脱支架置入","经皮降主动脉药物洗脱支架置入术","经皮周围动脉药物洗脱支架置入术",
|
|
|
+ "经皮周围静脉药物洗脱支架置入术","经皮尺动脉药物洗脱支架置入术","经皮腓动脉药物洗脱支架置入术","经皮肱动脉药物洗脱支架置入术","经皮桡动脉药物洗脱支架置入术",
|
|
|
+ "经皮上肢静脉药物洗脱支架置入术","经皮头臂静脉药物洗脱支架置入术","经皮外周动脉可降解支架置入术","锁骨下动脉药物洗脱支架置入术","股总动脉药物洗脱支架置入术",
|
|
|
+ "表浅股动脉药物洗脱支架置入","经皮股动脉药物洗脱支架置入术","颅外血管经皮血管成形术","经皮颈总动脉球囊扩张成形术","经皮颈静脉球囊扩张成形术","经皮颈动脉球囊扩张成形术",
|
|
|
+ "经皮椎动脉球囊扩张成形术","颅内血管经皮血管成形术","经皮大脑中动脉球囊扩张成形术","经皮大脑前动脉球囊扩张成形术","经皮大脑后动脉球囊扩张成形术","经皮椎动脉颅内段球囊扩张成形术",
|
|
|
+ "经皮颈内动脉颅内段球囊扩张成形术","经皮基底动脉球囊扩张成形术","经皮交通动脉血管球囊扩张成形术","颈动脉支架经皮置入术","经皮颈动脉远端保护装置置入术","经皮颈动脉覆膜支架置入术",
|
|
|
+ "经皮颈动脉药物洗脱支架置入术","脑保护伞下颈动脉支架置入术","其他颅外动脉支架经皮置入","经皮基底动脉支架置入术","经皮椎动脉支架置入术","经皮颅外动脉远端保护装置置入术",
|
|
|
+ "经皮椎动脉药物洗脱支架置入术","经皮椎动脉覆膜支架置入术","经皮椎动脉非药物洗脱支架置入术","颅内血管支架经皮置入","经皮颅内动脉支架置入术","经皮颅内动脉远端保护装置置入术",
|
|
|
+ "经皮颅内静脉窦支架置入术","经皮大脑前动脉支架置入术","经皮大脑后动脉支架置入术","经皮大脑中动脉支架置入术","经皮冠状动脉腔内血管成形术[PTCA]","经皮冠状动脉球囊扩张成形术",
|
|
|
+ "经皮冠状动脉药物球囊扩张成形术");
|
|
|
+
|
|
|
+ FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
|
|
|
+ if (firstPageRecordDoc == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Map<String, Object> structureExtMap = firstPageRecordDoc.getStructureExtMap();
|
|
|
+ if (structureExtMap == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String operativeName = "";
|
|
|
+ String anesthesiaMode = "";
|
|
|
+ List<Map<String, String>> operative_information = (List<Map<String, String>>) structureExtMap.get(Content.operative_information);
|
|
|
+ if (operative_information == null || operative_information.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 1; i < operative_information.size(); i++) {
|
|
|
+ //手术名称
|
|
|
+ operativeName = operative_information.get(i).get(Content.operative_name);
|
|
|
+ //麻醉方式
|
|
|
+ anesthesiaMode = operative_information.get(i).get(Content.anesthesia_mode);
|
|
|
+ if (StringUtil.isNotBlank(anesthesiaMode)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtil.isBlank(operativeName)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (String noMatchWord : noMatchWords) {
|
|
|
+ if (operativeName.contains(noMatchWord) && StringUtil.isBlank(anesthesiaMode)) {
|
|
|
+ status.set("-1");
|
|
|
+ info.set(noMatchWord);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|