Kaynağa Gözat

添加质控特殊规则及修改bug

hujing 5 yıl önce
ebeveyn
işleme
37279b0251

+ 15 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0025.java

@@ -3,6 +3,7 @@ package com.lantone.qc.kernel.catalogue.behospitalized;
 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.entity.Diag;
 import com.lantone.qc.pub.model.entity.Operation;
 import com.lantone.qc.pub.model.label.PastLabel;
 import com.lantone.qc.pub.util.ListUtil;
@@ -46,9 +47,22 @@ public class BEH0025 extends QCCatalogue {
                 return;
             }
         }
+        /* 疾病名称:**术后**,算是有手术史 */
+        List<Diag> diags = pastLabel.getDiags();
+        for (Diag diag : diags) {
+            String hospitalDiagName = diag.getHospitalDiagName();
+            if (StringUtil.isBlank(hospitalDiagName)) {
+                continue;
+            }
+            if (hospitalDiagName.contains("术后")) {
+                status.set("0");
+                return;
+            }
+        }
         //规则硬匹配
         String pastLabelText = pastLabel.getText();
-        if (pastLabelText.contains("手术") || pastLabelText.contains("详见原病历")) {
+        if (pastLabelText.contains("手术") || pastLabelText.contains("详见原病历")
+                || pastLabelText.contains("体外碎石")) {
             status.set("0");
         }
     }

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0030.java

@@ -47,7 +47,8 @@ public class BEH0030 extends QCCatalogue {
             status.set("0");
         }
         String pastText = pastLabel.getText();
-        if (pastText.contains("肝炎") || pastText.contains("结核") || pastText.contains("详见原病历")) {
+        if (pastText.contains("肝炎") || pastText.contains("结核") || pastText.contains("详见原病历")
+                || pastText.contains("乙肝")) {
             status.set("0");
         }
     }

+ 10 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0054.java

@@ -5,6 +5,7 @@ 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.entity.Consanguineous;
+import com.lantone.qc.pub.model.label.FamilyLabel;
 import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
@@ -26,6 +27,7 @@ public class BEH0054 extends QCCatalogue {
         //硬规则 未婚
         String marry = inputInfo.getBeHospitalizedDoc().getStructureMap().get(Content.marry);
         MaritalLabel maritalLabel = inputInfo.getBeHospitalizedDoc().getMaritalLabel();
+        FamilyLabel familyLabel = inputInfo.getBeHospitalizedDoc().getFamilyLabel();
         if (maritalLabel == null) {
             status.set("0");
             return;
@@ -35,6 +37,14 @@ public class BEH0054 extends QCCatalogue {
             status.set("0");
             return;
         }
+        /* 有少数病历的近亲结婚时会写在家族史中(普通病历会写在婚育史里) */
+        if (familyLabel != null) {
+            String familyText = familyLabel.getText();
+            if (StringUtil.isNotBlank(familyText) && familyText.contains("近亲结婚")) {
+                status.set("0");
+                return;
+            }
+        }
         Consanguineous consanguineous = inputInfo.getBeHospitalizedDoc().getMaritalLabel().getConsanguineous();
         if (consanguineous != null && StringUtil.isNotBlank(consanguineous.getName())) {
             status.set("0");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0072.java

@@ -29,7 +29,7 @@ public class BEH0072 extends QCCatalogue {
                 return;
             }
             String familyText = familyLabel.getText();
-            if (StringUtil.isNotBlank(familyText) && familyText.contains("死因")) {
+            if (StringUtil.isNotBlank(familyText) && (familyText.contains("死因") || familyText.contains("原因"))) {
                 return;
             }
             List<Family> families = familyLabel.getFamilies();

+ 6 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0074.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.entity.Family;
 import com.lantone.qc.pub.model.label.FamilyLabel;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -30,6 +31,11 @@ public class BEH0074 extends QCCatalogue {
             status.set("0");
             return;
         }
+        String familyText = familyLabel.getText();
+        if (StringUtil.isNotBlank(familyText) && (familyText.contains("瘤") || familyText.contains("癌"))) {
+            status.set("0");
+            return;
+        }
         List<Family> families = familyLabel.getFamilies();
         if (ListUtil.isEmpty(families)) {
             status.set("0");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0442.java

@@ -34,7 +34,7 @@ public class BEH0442 extends QCCatalogue {
         }
         String presentText = presentLabel.getText();
         if (StringUtil.isNotBlank(presentText)) {
-            List<String> words = Lists.newArrayList("二便", "大小便", "小便", "大便", "尿");
+            List<String> words = Lists.newArrayList("二便", "大小便", "小便", "大便", "尿","便秘","腹泻");
             for (String word : words) {
                 if (presentText.contains(word)) {
                     status.set("0");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0443.java

@@ -31,7 +31,7 @@ public class BEH0443 extends QCCatalogue {
         PresentLabel presentLabel = beHospitalizedDoc.getPresentLabel();
         if (presentLabel != null) {
             String presentLabelText = presentLabel.getText();
-            if (StringUtil.isNotBlank(presentLabelText) && presentLabelText.contains("体重")) {
+            if (StringUtil.isNotBlank(presentLabelText) && (presentLabelText.contains("体重") || presentLabelText.contains("体型"))) {
                 status.set("0");
                 return;
             }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0444.java

@@ -31,7 +31,7 @@ public class BEH0444 extends QCCatalogue {
         }
         PresentLabel presentLabel = beHospitalizedDoc.getPresentLabel();
         if (presentLabel != null) {
-            List<String> words = Lists.newArrayList("神志", "神清", "神不清", "意识清", "意识不清", "昏迷","精神");
+            List<String> words = Lists.newArrayList("神志", "神清", "神不清", "意识清", "意识不清", "昏迷","精神","意识");
             String presentLabelText = presentLabel.getText();
             if (StringUtil.isNotBlank(presentLabelText)) {
                 for (String word : words) {

+ 8 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0144.java

@@ -5,6 +5,8 @@ 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 com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
+import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
@@ -25,6 +27,12 @@ public class THR0144 extends QCCatalogue {
             status.set("0");
             return;
         }
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        DeathCaseDiscussDoc deathCaseDiscussDoc = inputInfo.getDeathCaseDiscussDoc();
+        if (deathRecordDoc != null || deathCaseDiscussDoc != null){
+            status.set("0");
+            return;
+        }
         List<ThreeLevelWardDoc> allDoctorWradDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();
         if (allDoctorWradDocs.size() == 0) {
             status.set("0");

+ 2 - 2
trans/src/main/java/com/lantone/qc/trans/changx/ChangxRescueDocTrans.java

@@ -65,8 +65,8 @@ public class ChangxRescueDocTrans extends ModelDocTrans {
             "抢救时间及措施++++抢救措施=",
             "参加抢救者的姓名及专业技术职称++++参加现场抢救的医师及护理人员=参与人员",
             "签名++++=记录医师",
-            "签名时间=抢救时间",
-            "参与人员=参加人员及职称"
+            "签名时间=抢救时间"
+//            "参与人员=参加人员及职称"
     );
 
 }