Browse Source

七院规则修改

zhanghang 4 years ago
parent
commit
0da6879363

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0009.java

@@ -1,8 +1,10 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.ChiefLabel;
 import com.lantone.qc.pub.model.label.ChiefLabel;
@@ -11,6 +13,7 @@ import org.springframework.stereotype.Component;
 
 
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -29,6 +32,12 @@ public class BEH0009 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         if (chiefLabel == null) {
         if (chiefLabel == null) {
             status.set("0");
             status.set("0");

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0015.java

@@ -3,14 +3,17 @@ package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 import com.lantone.qc.dbanaly.util.KernelConstants;
 import com.lantone.qc.dbanaly.util.KernelConstants;
 import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.BodyPart;
 import com.lantone.qc.pub.model.entity.BodyPart;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -28,6 +31,12 @@ public class BEH0015 extends QCCatalogue {
         if(inputInfo.getBeHospitalizedDoc() == null){
         if(inputInfo.getBeHospitalizedDoc() == null){
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         List<String> clinicalList = (List<String>) specialStorageUtil.getJsonStringValue(KernelConstants.CONCEPT_CLINIC_BODYPART_PROPERTIES_LIST);
         List<String> clinicalList = (List<String>) specialStorageUtil.getJsonStringValue(KernelConstants.CONCEPT_CLINIC_BODYPART_PROPERTIES_LIST);
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
         if(clinicals.size()>0){

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0016.java

@@ -1,13 +1,16 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Property;
 import com.lantone.qc.pub.model.entity.Property;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -24,6 +27,12 @@ public class BEH0016 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
         if(clinicals.size()>0){
             Clinical clinical = clinicals.get(0);
             Clinical clinical = clinicals.get(0);

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0017.java

@@ -1,8 +1,10 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.PD;
 import com.lantone.qc.pub.model.entity.PD;
 import com.lantone.qc.pub.model.label.PresentLabel;
 import com.lantone.qc.pub.model.label.PresentLabel;
@@ -11,6 +13,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -26,6 +29,12 @@ public class BEH0017 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
         PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
         if (presentLabel == null) {
         if (presentLabel == null) {
             status.set("0");
             status.set("0");

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0019.java

@@ -2,14 +2,17 @@ package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Degree;
 import com.lantone.qc.pub.model.entity.Degree;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -28,6 +31,12 @@ public class BEH0019 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
         if(clinicals.size()>0){
             Clinical clinical = clinicals.get(0);
             Clinical clinical = clinicals.get(0);

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0020.java

@@ -1,13 +1,16 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Modification;
 import com.lantone.qc.pub.model.entity.Modification;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -24,6 +27,12 @@ public class BEH0020 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         if(clinicals.size()>0){
         if(clinicals.size()>0){
             Clinical clinical = clinicals.get(0);
             Clinical clinical = clinicals.get(0);

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0021.java

@@ -1,8 +1,10 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
@@ -10,6 +12,7 @@ import com.lantone.qc.pub.model.entity.Modification;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -26,6 +29,12 @@ public class BEH0021 extends QCCatalogue {
             status.set("0");
             status.set("0");
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         List<General> gens = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGens();
         List<General> gens = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGens();
         List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
         List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
         List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0448.java

@@ -1,13 +1,16 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Clinical;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 /**
 /**
@@ -23,6 +26,12 @@ public class BEH0448 extends QCCatalogue {
         if (inputInfo.getBeHospitalizedDoc() == null) {
         if (inputInfo.getBeHospitalizedDoc() == null) {
             return;
             return;
         }
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        if(!Content.neurology.equals(structureMap.get("behDeptName"))){
+            return;
+        }
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         if (beHospitalizedDoc != null) {
         if (beHospitalizedDoc != null) {
             List<Clinical> clinicals = beHospitalizedDoc.getPresentLabel().getClinicals();
             List<Clinical> clinicals = beHospitalizedDoc.getPresentLabel().getClinicals();

+ 11 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstpagerecord/FIRP0195.java

@@ -6,9 +6,11 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -39,6 +41,15 @@ public class FIRP0195 extends QCCatalogue {
             if (!match(outWay, wardOutWay)) {
             if (!match(outWay, wardOutWay)) {
                 status.set("-1");
                 status.set("-1");
             }
             }
+            //增加判断,如有死亡记录,开医嘱离院需扣分
+            List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
+            if(doctorAdviceDocs!=null) {
+                Map<String, String> structureMap = deathCaseDiscussDoc.getStructureMap();
+                String name = structureMap.get("医嘱名称");
+                if(name.contains("离院")){
+                    status.set("-1");
+                }
+            }
         }
         }
 
 
         /*
         /*

+ 10 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstpagerecord/FIRP0205.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.Map;
 import java.util.Map;
@@ -22,8 +23,16 @@ public class FIRP0205 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.nation);
             String dischargeTime = firstpageStructureMap.get(Content.nation);
+            String nationality = firstpageStructureMap.get(Content.nationality);
             if(CatalogueUtil.isEmpty(dischargeTime)){
             if(CatalogueUtil.isEmpty(dischargeTime)){
-                status.set("-1");
+                //增加国籍判断,民族为空时,只有国籍为空或国籍为中国才触发
+                if(StringUtil.isEmpty(nationality)){
+                    status.set("-1");
+                    return;
+                }
+                if(nationality.equals(Content.china)) {
+                    status.set("-1");
+                }
             }
             }
 
 
         }
         }

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

@@ -15,6 +15,8 @@ public class Content {
     public static String title = "病历";
     public static String title = "病历";
     public static String header = "标题";
     public static String header = "标题";
     public static String content_lbl="内容";
     public static String content_lbl="内容";
+    public static String china="中国";
+    public static String neurology="神经内科";
 
 
     public static String label = "content";
     public static String label = "content";