Ver código fonte

初步诊断不完整修改

rengb 5 anos atrás
pai
commit
41d6fb4ccd

+ 204 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0011.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.alibaba.fastjson.JSONArray;
+import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
 import com.lantone.qc.kernel.structure.ai.ModelAI;
@@ -157,6 +158,7 @@ public class BEH0011 extends QCCatalogue {
         if (matchSum == presentPastDiags.size()) {
             status.set("0");
         }
+        lackDiabetesFeritin(presentLabel.getText(), inputInfo.getBeHospitalizedDoc().getStructureMap().get("长期用药"), inputInfo.getBeHospitalizedDoc().getStructureMap().get("外院用药"));
         /*
         if (initDiags.containsAll(presentPastDiags)) {
             status.set("0");
@@ -236,4 +238,206 @@ public class BEH0011 extends QCCatalogue {
             status.set("0");
         }
      */
+
+    //糖尿病、高血压药品过滤
+    private void lackDiabetesFeritin(String... texts) {
+        String checkText = "";
+        if (StringUtil.isNotBlank(texts[0])) {
+            checkText += texts[0] + "。";
+        }
+        if (StringUtil.isNotBlank(texts[1])) {
+            checkText += texts[1] + "。";
+        }
+        if (StringUtil.isNotBlank(texts[2])) {
+            checkText += texts[2] + "。";
+        }
+        if (StringUtil.isBlank(checkText)) {
+            return;
+        }
+        for (String diabetesDrug : diabetesDrugs) {
+            if (checkText.indexOf(diabetesDrug) > -1) {
+                if (StringUtil.isBlank(info.get()) || info.get().indexOf("糖尿病") == -1) {
+                    info.set(CatalogueUtil.concatInfo(info.get(), "糖尿病"));
+                    status.set("-1");
+                }
+                break;
+            }
+        }
+        for (String feritinDrug : feritinDrugs) {
+            if (checkText.indexOf(feritinDrug) > -1) {
+                if (StringUtil.isBlank(info.get()) || info.get().indexOf("高血压") == -1) {
+                    info.set(CatalogueUtil.concatInfo(info.get(), "高血压"));
+                    status.set("-1");
+                }
+                break;
+            }
+        }
+    }
+
+    //糖尿病药
+    private List<String> diabetesDrugs = Lists.newArrayList(
+            "重组人胰岛素",
+            "重组赖脯胰岛素",
+            "谷赖胰岛素",
+            "赖脯胰岛素",
+            "门冬胰岛素",
+            "生物合成人胰岛素",
+            "胰岛素",
+            "低精蛋白锌胰岛素",
+            "精蛋白生物合成人胰岛素",
+            "精蛋白锌重组人胰岛素",
+            "精蛋白重组人胰岛素",
+            "德谷门冬双胰岛素",
+            "30/70混合重组人胰岛素",
+            "50/50混合重组人胰岛素",
+            "精蛋白生物合成人胰岛素(预混30R)",
+            "精蛋白锌胰岛素(30R)",
+            "精蛋白锌混合重组赖脯胰岛素(50R)",
+            "精蛋白锌混合重组赖脯胰岛素(25R)",
+            "精蛋白重组人胰岛素(预混30/70)",
+            "精蛋白重组人胰岛素(50/50)",
+            "精蛋白锌重组人胰岛素(40/60)",
+            "门冬胰岛素30",
+            "门冬胰岛素50",
+            "重组甘精胰岛素",
+            "地特胰岛素",
+            "德谷胰岛素",
+            "甘精胰岛素",
+            "精蛋白锌胰岛素",
+            "米格列奈钙",
+            "那格列奈",
+            "瑞格列奈",
+            "吡格列酮二甲双胍",
+            "二甲双胍格列呲嗪",
+            "二甲双胍格列齐特",
+            "二甲双胍格列本脲Ⅰ",
+            "二甲双胍格列本脲Ⅱ",
+            "二甲双胍格列吡嗪",
+            "二甲双胍维格列汀",
+            "利格列汀二甲双胍",
+            "瑞格列奈二甲双胍",
+            "沙格列汀二甲双胍",
+            "西格列汀二甲双胍",
+            "格列本脲",
+            "格列吡嗪",
+            "格列喹酮",
+            "格列美脲",
+            "格列齐特",
+            "格列齐特Ⅱ",
+            "甲苯磺丁脲",
+            "吡格列酮",
+            "罗格列酮",
+            "二甲双胍",
+            "阿卡波糖",
+            "伏格列波糖",
+            "依帕司他",
+            "硫辛酸",
+            "艾塞那肽",
+            "贝那鲁肽",
+            "度拉糖肽",
+            "聚乙二醇洛塞那肽",
+            "利拉鲁肽",
+            "利司那肽",
+            "阿格列汀",
+            "利格列汀",
+            "沙格列汀",
+            "维格列汀",
+            "西格列汀"
+    );
+    //高血压药
+    private List<String> feritinDrugs = Lists.newArrayList(
+            "贝那普利",
+            "福辛普利",
+            "卡托普利",
+            "喹那普利",
+            "赖诺普利",
+            "雷米普利",
+            "咪达普利",
+            "培哚普利",
+            "依那普利",
+            "贝那普利氢氯噻嗪",
+            "复方卡托普利",
+            "赖诺普利氢氯噻嗪",
+            "培哚普利吲达帕胺",
+            "依那普利氢氯噻嗪",
+            "氨氯地平贝那普利Ⅱ",
+            "氨氯地平贝那普利Ⅰ",
+            "培哚普利氨氯地平",
+            "依那普利叶酸",
+            "奥美沙坦",
+            "阿利沙坦",
+            "厄贝沙坦",
+            "坎地沙坦",
+            "氯沙坦",
+            "替米沙坦",
+            "缬沙坦",
+            "奥美沙坦酯氢氯噻嗪",
+            "厄贝沙坦氢氯噻嗪",
+            "坎地氢噻",
+            "氯沙坦氢氯噻嗪",
+            "替米沙坦氢氯噻嗪",
+            "缬沙坦氢氯噻嗪",
+            "奥美沙坦氨氯地平",
+            "替米沙坦氨氯地平",
+            "缬沙坦氨氯地平",
+            "沙库巴曲缬沙坦",
+            "氨氯地平阿托伐他汀钙",
+            "多沙唑嗪",
+            "萘哌地尔",
+            "哌唑嗪",
+            "乌拉地尔",
+            "乌拉地尔氯化钠",
+            "普萘洛尔",
+            "索他洛尔",
+            "阿替洛尔",
+            "艾司洛尔",
+            "贝凡洛尔",
+            "比索洛尔",
+            "美托洛尔",
+            "阿罗洛尔",
+            "卡维地洛",
+            "拉贝洛尔",
+            "比索洛尔氢氯噻嗪",
+            "阿夫唑嗪",
+            "赛洛多辛",
+            "坦洛新",
+            "特拉唑嗪",
+            "复方利血平",
+            "复方利血平氨苯蝶啶",
+            "复方双嗪利血平",
+            "复方四嗪利血平",
+            "复方双肼屈嗪",
+            "复方盐酸阿米洛利",
+            "氨苯蝶啶氢氯噻嗪",
+            "氢氯噻嗪",
+            "复方地巴唑氢氯噻嗪",
+            "复方三嗪芦丁",
+            "地尔硫䓬",
+            "洛美利嗪",
+            "阿折地平",
+            "氨氯地平",
+            "氨氯地平叶酸",
+            "贝尼地平",
+            "非洛地平",
+            "拉西地平",
+            "乐卡地平",
+            "马尼地平",
+            "门冬氨酸氨氯地平",
+            "尼卡地平",
+            "尼莫地平",
+            "尼群地平",
+            "尼群洛尔",
+            "尼索地平",
+            "尼卡地平氯化钠",
+            "尼卡地平葡萄糖",
+            "硝苯地平",
+            "西尼地平",
+            "硝苯地平Ⅰ",
+            "硝苯地平Ⅱ",
+            "硝苯地平Ⅲ",
+            "硝苯地平(Ⅳ)",
+            "左旋氨氯地平",
+            "氨苯蝶啶"
+    );
+
 }