Browse Source

无输血或使用血液制品知情同意书增加血费判断

zhanghang 3 years ago
parent
commit
0445f03cf2

+ 11 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0301.java

@@ -32,6 +32,17 @@ public class CLI0301 extends QCCatalogue {
         if(ListUtil.isNotEmpty(clinicalBloodDocs)){
             flag=true;
         }
+        //血费
+        FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+        if(firstPageRecordDoc!=null&&firstPageRecordDoc.getStructureMap()!=null){
+            String bloodFee = firstPageRecordDoc.getStructureMap().get("血费");
+            if(StringUtil.isNotEmpty(bloodFee) && !bloodFee.equals("0")){
+                double blood = Double.parseDouble(bloodFee);
+                if(blood > 0){
+                    flag=true;
+                }
+            }
+        }
         //医嘱
         if(ListUtil.isNotEmpty(doctorAdviceDocs)){
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {

+ 24 - 34
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE03119.java

@@ -40,6 +40,7 @@ public class OPE03119 extends QCCatalogue {
                 Map<String, String> structureMap = dad.getStructureMap();
                 String daStatus = structureMap.get(Content.doctorAdviceState);
                 String adviceType = structureMap.get(Content.doctorAdviceType);
+                String medicalOrderName = structureMap.get(Content.medicalOrderName);
                 //取临时医嘱
                 if (StringUtil.isNotEmpty(daStatus)) {
                     if (!Content.cancellationOrderList.contains(daStatus)) {
@@ -54,6 +55,13 @@ public class OPE03119 extends QCCatalogue {
                                       break;
                                   }
                               }
+                              if(StringUtil.isNotEmpty(medicalOrderName)){
+                                  String rex="[\\s\\S]*(?=拟)[\\s\\S]*(?=术)[\\s\\S]*";
+                                  if(medicalOrderName.matches(rex)){
+                                      ssHz = true;
+                                      break;
+                                  }
+                              }
                         }
                     }
                 }
@@ -68,27 +76,22 @@ public class OPE03119 extends QCCatalogue {
                 }
             }
         }
-/*        *//**********手术是否使用了植入物**//*
-        //查房
-        if (ListUtil.isNotEmpty(threeLevelWardDocs) && ssHz) {
-            ThreeLevelWardDoc threeLevelWardDoc = threeLevelWardDocs.get(0);
-            //所有查房记录
-            List<ThreeLevelWardDoc> allDoctorWradDocs = threeLevelWardDoc.getAllDoctorWradDocs();
-            if (ListUtil.isNotEmpty(allDoctorWradDocs)) {
-                for (ThreeLevelWardDoc allDoctorWradDoc : allDoctorWradDocs) {
-                    String pathographyStr = allDoctorWradDoc.getStructureMap().get(Content.illnessRecords);
-                    if (StringUtil.isNotEmpty(pathographyStr)) {
-                        if (zrwStr(pathographyStr)) {
-                            zrw=true;
+        //手术记录
+        if(ListUtil.isNotEmpty(operationDocs) && ssHz){
+            for (OperationDoc operationDoc : operationDocs) {
+                OperationInformedConsentDoc operationInformedConsentDoc = operationDoc.getOperationInformedConsentDoc();
+                if(operationInformedConsentDoc!=null){
+                    String str = operationInformedConsentDoc.getStructureMap().get("使用植入性材料");
+                    if(StringUtil.isNotEmpty(str)) {
+                        if (str.equals("true")) {
+                            zrw = true;
                             break;
                         }
+                        if(str.equals("false")){
+                            return;
+                        }
                     }
                 }
-            }
-        }*/
-        //手术记录
-        if(ListUtil.isNotEmpty(operationDocs) && ssHz){
-            for (OperationDoc operationDoc : operationDocs) {
                 OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
                 if(operationRecordDoc!=null){
                     String key = getKeyByHospitalId();
@@ -109,13 +112,10 @@ public class OPE03119 extends QCCatalogue {
                             }
                         }
                     }
-                }
-                OperationInformedConsentDoc operationInformedConsentDoc = operationDoc.getOperationInformedConsentDoc();
-                if(operationInformedConsentDoc!=null){
-                    String str = operationInformedConsentDoc.getStructureMap().get("使用植入性材料");
-                    if(StringUtil.isNotEmpty(str)) {
-                        if (str.equals("true")) {
-                            zrw = true;
+                    String strzr = operationRecordDoc.getStructureMap().get("植入物名称");
+                    if(StringUtil.isNotEmpty(strzr)){
+                        if(zrwStr(str)){
+                            zrw=true;
                             break;
                         }
                     }
@@ -183,16 +183,6 @@ public class OPE03119 extends QCCatalogue {
                             }
                         }
                     }
-                    OperationInformedConsentDoc operationInformedConsentDoc = operationDoc.getOperationInformedConsentDoc();
-                    if(operationInformedConsentDoc!=null){
-                        String str = operationInformedConsentDoc.getStructureMap().get("使用植入性材料");
-                        if(StringUtil.isNotEmpty(str)) {
-                            if (str.equals("true")) {
-                                status.set("0");
-                                return;
-                            }
-                        }
-                    }
                 }
             }
         }

+ 4 - 1
public/src/main/java/com/lantone/qc/pub/Content.java

@@ -372,7 +372,10 @@ public class Content {
     );
     //植入物
     public static List<String> theImplantsList= Arrays.asList(
-            "植入","心脏支架","假体","螺钉","融合器","钢板","内固定物","钛网","弹簧圈","硅胶","神经鞘管"
+            "植入","心脏支架","假体","螺钉","融合器","钢板","钛网","弹簧圈","硅胶","神经鞘管",
+            "钢钉","锚钉","铆钉","骨圆针","克氏针","钢丝",
+            "人工心脏瓣膜","骨水泥","动脉支架","血管瘤夹","哈姆洛克夹",
+            "钛夹","吻合器","神经刺激器","人工耳蜗","皮耐克","人工晶体"
     );
     //手术病理检查存在手术记录中无病理相关记录中手术病理
     public static List<String> surgeryPathologyList= Arrays.asList(