瀏覽代碼

术前规则添加

rengb 5 年之前
父節點
當前提交
7e2b8ae5b2

+ 25 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0328.java

@@ -3,18 +3,35 @@ package com.lantone.qc.kernel.catalogue.preoperativediscussion;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
-import org.springframework.stereotype.Component;
+import com.lantone.qc.pub.model.doc.operation.OperationDoc;
+import com.lantone.qc.pub.util.ListUtil;
 
-import java.util.Map;
+import java.text.ParseException;
+import java.util.List;
 
 /**
- * @ClassName : CLI0001
- * @Description : 无输血/血制品病程记录
- * @Author : 楼辉荣
- * @Date: 2020-03-06 17:28
+ * @Description: 手术患者无术前讨论记录
+ * @author: rengb
+ * @time: 2020/3/23 15:09
  */
-@Component
 public class PRE0328 extends QCCatalogue {
-    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
     }
+
 }

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0329.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录无手术指征
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0329 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("手术指征"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0330.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录无拟行术式
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0330 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("拟行术式"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0331.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录无麻醉方式
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0331 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("麻醉方式"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0332.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录无术前准备内容
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0332 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("术前准备内容"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0333.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录未记录可能意外和防范措施
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0333 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("可能意外和防范措施"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 39 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0334.java

@@ -0,0 +1,39 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+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.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @Description: 术前讨论记录未记录术前术后注意事项
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0334 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+        status = "0";
+        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        if (isOperativePatient) {
+            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+            if (ListUtil.isEmpty(operationDocs)) {
+                status = "-1";
+            } else {
+                for (OperationDoc operationDoc : operationDocs) {
+                    if (operationDoc.getPreoperativeDiscussionDoc() == null
+                            || StringUtil.isBlank(operationDoc.getPreoperativeDiscussionDoc().getStructureMap().get("术前术后注意事项"))) {
+                        status = "-1";
+                    }
+                }
+            }
+        }
+    }
+
+}

+ 21 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0335.java

@@ -0,0 +1,21 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+
+import java.text.ParseException;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0335 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+
+    }
+
+}

+ 21 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/preoperativediscussion/PRE0336.java

@@ -0,0 +1,21 @@
+package com.lantone.qc.kernel.catalogue.preoperativediscussion;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+
+import java.text.ParseException;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2020/3/23 15:09
+ */
+public class PRE0336 extends QCCatalogue {
+
+    @Override
+    protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
+
+    }
+
+}

+ 7 - 1
public/src/main/java/com/lantone/qc/pub/model/keys/ModelStandardKeys.java

@@ -60,7 +60,13 @@ public class ModelStandardKeys {
             "经治医师签名",
             "经治医师签字时间",
             "主刀医师签名",
-            "主刀医师签字时间"
+            "主刀医师签字时间",
+            "手术指征",
+            "麻醉方式",
+            "术前准备内容",
+            "术前术后注意事项",
+            "可能意外和防范措施",
+            "拟行术式"
     );
 
 

+ 23 - 18
trans/src/main/java/com/lantone/qc/trans/changx/ChangxOperationDocTrans.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
 import com.lantone.qc.pub.model.keys.ModelStandardKeys;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.Preproc;
@@ -36,26 +37,30 @@ public class ChangxOperationDocTrans extends ModelDocTrans {
             OperationDoc operationDoc = new OperationDoc();
 
             operationDiscussionContent = operation.get("术后首次病程及谈话记录");
-            operationDiscussionStructureMap =
-                    Preproc.extract_doc_pub(
-                            false,
-                            ListUtil.isEmpty(operationDiscussionLabel) ? ModelStandardKeys.operationDiscussion : operationDiscussionLabel,
-                            operationDiscussionContent
-                    );
-            OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(operationDiscussionStructureMap);
-            operationDiscussionDoc.setText(operationDiscussionContent);
-            operationDoc.setOperationDiscussionDoc(operationDiscussionDoc);
+            if (StringUtil.isNotBlank(operationDiscussionContent)) {
+                operationDiscussionStructureMap =
+                        Preproc.extract_doc_pub(
+                                false,
+                                ListUtil.isEmpty(operationDiscussionLabel) ? ModelStandardKeys.operationDiscussion : operationDiscussionLabel,
+                                operationDiscussionContent
+                        );
+                OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(operationDiscussionStructureMap);
+                operationDiscussionDoc.setText(operationDiscussionContent);
+                operationDoc.setOperationDiscussionDoc(operationDiscussionDoc);
+            }
 
             preoperativeDiscussionContent = operation.get("术前讨论、术前小结");
-            preoperativeDiscussionStructureMap =
-                    Preproc.extract_doc_pub(
-                            false,
-                            ListUtil.isEmpty(preoperativeDiscussionLabel) ? ModelStandardKeys.preoperativeDiscussion : preoperativeDiscussionLabel,
-                            preoperativeDiscussionContent
-                    );
-            PreoperativeDiscussionDoc preoperativeDiscussionDoc = ModelDocGenerate.preoperativeDiscussionDocGen(preoperativeDiscussionStructureMap);
-            preoperativeDiscussionDoc.setText(preoperativeDiscussionContent);
-            operationDoc.setPreoperativeDiscussionDoc(preoperativeDiscussionDoc);
+            if (StringUtil.isNotBlank(preoperativeDiscussionContent)) {
+                preoperativeDiscussionStructureMap =
+                        Preproc.extract_doc_pub(
+                                false,
+                                ListUtil.isEmpty(preoperativeDiscussionLabel) ? ModelStandardKeys.preoperativeDiscussion : preoperativeDiscussionLabel,
+                                preoperativeDiscussionContent
+                        );
+                PreoperativeDiscussionDoc preoperativeDiscussionDoc = ModelDocGenerate.preoperativeDiscussionDocGen(preoperativeDiscussionStructureMap);
+                preoperativeDiscussionDoc.setText(preoperativeDiscussionContent);
+                operationDoc.setPreoperativeDiscussionDoc(preoperativeDiscussionDoc);
+            }
 
             retList.add(operationDoc);
         }

+ 23 - 18
trans/src/main/java/com/lantone/qc/trans/changx/ChangxTransferRecordDocTrans.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
 import com.lantone.qc.pub.model.keys.ModelStandardKeys;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.Preproc;
@@ -36,26 +37,30 @@ public class ChangxTransferRecordDocTrans extends ModelDocTrans {
             TransferRecordDoc transferRecordDoc = new TransferRecordDoc();
 
             transferIntoContent = transferRecord.get("转入");
-            transferIntoStructureMap =
-                    Preproc.extract_doc_pub(
-                            false,
-                            ListUtil.isEmpty(transferIntoLabel) ? ModelStandardKeys.transferInto : transferIntoLabel,
-                            transferIntoContent
-                    );
-            TransferIntoDoc transferIntoDoc = ModelDocGenerate.transferIntoDocGen(transferIntoStructureMap);
-            transferIntoDoc.setText(transferIntoContent);
-            transferRecordDoc.setTransferIntoDoc(transferIntoDoc);
+            if (StringUtil.isNotBlank(transferIntoContent)) {
+                transferIntoStructureMap =
+                        Preproc.extract_doc_pub(
+                                false,
+                                ListUtil.isEmpty(transferIntoLabel) ? ModelStandardKeys.transferInto : transferIntoLabel,
+                                transferIntoContent
+                        );
+                TransferIntoDoc transferIntoDoc = ModelDocGenerate.transferIntoDocGen(transferIntoStructureMap);
+                transferIntoDoc.setText(transferIntoContent);
+                transferRecordDoc.setTransferIntoDoc(transferIntoDoc);
+            }
 
             transferOutContent = transferRecord.get("转出");
-            transferOutStructureMap =
-                    Preproc.extract_doc_pub(
-                            false,
-                            ListUtil.isEmpty(transferOutLabel) ? ModelStandardKeys.transferOut : transferOutLabel,
-                            transferOutContent
-                    );
-            TransferOutDoc transferOutDoc = ModelDocGenerate.transferOutDocGen(transferOutStructureMap);
-            transferOutDoc.setText(transferOutContent);
-            transferRecordDoc.setTransferOutDoc(transferOutDoc);
+            if (StringUtil.isNotBlank(transferOutContent)) {
+                transferOutStructureMap =
+                        Preproc.extract_doc_pub(
+                                false,
+                                ListUtil.isEmpty(transferOutLabel) ? ModelStandardKeys.transferOut : transferOutLabel,
+                                transferOutContent
+                        );
+                TransferOutDoc transferOutDoc = ModelDocGenerate.transferOutDocGen(transferOutStructureMap);
+                transferOutDoc.setText(transferOutContent);
+                transferRecordDoc.setTransferOutDoc(transferOutDoc);
+            }
 
             retList.add(transferRecordDoc);
         }