Ver código fonte

中医规则新增

chengyao 3 anos atrás
pai
commit
e90727c812

+ 35 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03218.java

@@ -0,0 +1,35 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+import static com.lantone.qc.pub.Content.inStatus;
+
+/**
+ * @ClassName : FIRP03218
+ * @Description : 实施临床路径填写错误
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03218 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+
+            Map<String, String> structureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            if(!CatalogueUtil.isEmpty(structureMap.get(Content.implementation_clinical_pathway))){
+                String str = structureMap.get(Content.implementation_clinical_pathway);
+                if(!Content.CLINICALPATHWAY.stream().anyMatch(obj->str.equals(obj))){
+                    status.set("-1");
+                }
+            }
+        }
+    }
+}

+ 29 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03219.java

@@ -0,0 +1,29 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP03219
+ * @Description : 使用医疗机构中药制剂未填写
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03219 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, String> structureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            if(CatalogueUtil.isEmpty(structureMap.get(Content.is_chinese_medicine_preparation))){
+                    status.set("-1");
+            }
+        }
+    }
+}

+ 47 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03220.java

@@ -0,0 +1,47 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP03220
+ * @Description : 使用医疗机构中药制剂填写错误
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03220 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+
+            Map<String, String> structureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            if(!CatalogueUtil.isEmpty(structureMap.get(Content.is_chinese_medicine_preparation))){
+                String str = structureMap.get(Content.is_chinese_medicine_preparation);
+                if(! Arrays.asList("是","否").stream().anyMatch(obj->str.equals(obj))){
+                    status.set("-1");
+                }
+                String feeStr = structureMap.get(Content.chn_med_fee);
+                String feeSec = structureMap.get(Content.chn_herb_fee);
+                Double feeStrDou = 0D;
+                Double feeSecDou = 0D;
+               if( !CatalogueUtil.isEmpty(feeStr)){
+                   feeStrDou = Double.valueOf(feeStr);
+               }
+                if( !CatalogueUtil.isEmpty(feeSec)){
+                    feeSecDou = Double.valueOf(feeSec);
+                }
+                if((feeStrDou+feeSecDou)>0 &&  "否".equals(str)){
+                    status.set("-1");
+                }
+            }
+        }
+    }
+}

+ 10 - 0
public/src/main/java/com/lantone/qc/pub/Content.java

@@ -165,6 +165,7 @@ public class Content {
     public static final String medical_classification = "病历分型";
 //    public static final String inStatus = "入院病情";
 public static final String implementation_clinical_pathway = "实施临床路径";
+public static final String is_chinese_medicine_preparation = "使用医疗机构中药制剂";
 
     public static final String outpatientEmergencyDiag = "门急诊诊断";
     public static final String diagCode = "诊断编码";
@@ -246,6 +247,9 @@ public static final String implementation_clinical_pathway = "实施临床路径
     //病理诊疗最低费用
     public static final double pathologicalFee= 68.00;
 
+    public static final String chn_med_fee= "中成药费";
+    public static final String chn_herb_fee= "中草药费";
+
 
     public static final String type = "性";
     public static final String otherCharge = "其他费用";
@@ -712,6 +716,12 @@ public static final String implementation_clinical_pathway = "实施临床路径
     public static List<String> ADMISSIONCONDITION= Arrays.asList(
             "有","临床未确定","情况不明","无");
 
+    /**
+     *   实施临床路径字典
+     */
+    public static List<String> CLINICALPATHWAY= Arrays.asList(
+            "中医","西医","否");
+
 
 }