Browse Source

台州死亡病例讨论制度/死亡记录病历质控

kongwz 5 years ago
parent
commit
daf2218379

+ 17 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0001.java

@@ -5,6 +5,7 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.PD;
+import com.lantone.qc.pub.model.label.ChiefLabel;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 import java.util.List;
@@ -21,16 +22,22 @@ public class BEH0001 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
         status.set("0");
-        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
-        if(clinicals.size()>0){
-            for (Clinical clinical:clinicals) {
-                String clinicalName = clinical.getName();
-                List<PD> timestamp = clinical.getTimestamp();
-                if(timestamp == null){
-                    if(StringUtils.isEmpty(info.get())){
-                        info.set(clinicalName);
-                    }else {
-                        info.set(info.get() + "," + clinicalName);
+        ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
+        String chief_text = chiefLabel.getText();
+        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+            status.set("0");
+        }else {
+            List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
+            if(clinicals.size()>0){
+                for (Clinical clinical:clinicals) {
+                    String clinicalName = clinical.getName();
+                    List<PD> timestamp = clinical.getTimestamp();
+                    if(timestamp == null){
+                        if(StringUtils.isEmpty(info.get())){
+                            info.set(clinicalName);
+                        }else {
+                            info.set(info.get() + "," + clinicalName);
+                        }
                     }
                 }
             }

+ 23 - 20
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0005.java

@@ -24,27 +24,30 @@ import java.util.Map;
 public class BEH0005 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<Integer> time_index = new ArrayList<>();
-        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
         String chief_text = inputInfo.getBeHospitalizedDoc().getChiefLabel().getText();
-        int year = chief_text.indexOf("年");
-        if(year != -1){
-            time_index.add(year);
-        }
-        int month = chief_text.indexOf("月");
-        if(month != -1){
-            time_index.add(month);
-        }
-        int week = chief_text.indexOf("周");
-        if(week != -1){
-            time_index.add(week);
-        }
-        int day = chief_text.indexOf("天");
-        if(day != -1){
-            time_index.add(day);
-        }
-        int hour = chief_text.indexOf("时");
-        if(hour != -1){
-            time_index.add(hour);
+        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+            status.set("0");
+        }else {
+            int year = chief_text.indexOf("年");
+            if (year != -1) {
+                time_index.add(year);
+            }
+            int month = chief_text.indexOf("月");
+            if (month != -1) {
+                time_index.add(month);
+            }
+            int week = chief_text.indexOf("周");
+            if (week != -1) {
+                time_index.add(week);
+            }
+            int day = chief_text.indexOf("天");
+            if (day != -1) {
+                time_index.add(day);
+            }
+            int hour = chief_text.indexOf("时");
+            if (hour != -1) {
+                time_index.add(hour);
+            }
         }
         if(time_index.size()>0){
             int min = time_index.get(0);

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

@@ -26,7 +26,7 @@ public class BEH0006 extends QCCatalogue {
 
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
         String chief_text = chiefLabel.getText();
-        if(chief_text.contains("检查") || chief_text.contains("术后")){
+        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
             status.set("0");
         }else {
             List<Clinical> clinicals = chiefLabel.getClinicals();

+ 21 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0007.java

@@ -28,27 +28,31 @@ public class BEH0007 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
-        List<Clinical> clinicals = chiefLabel.getClinicals();
-        if(clinicals.size()>0){
-            Clinical clinical = clinicals.get(0);
-            List<PD> timestamp = clinical.getTimestamp();
-            if(timestamp.size()>0){
-                for (PD pd:timestamp) {
-                    String value = pd.getValue();
-                    String unit = pd.getUnit();
-                    if(StringUtils.isEmpty(unit) && value.contains("数")){
-                        status.set("-1");
-                        break;
-                    }else {
-                        status.set("0");
+        String chief_text = chiefLabel.getText();
+        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+            status.set("0");
+        }else {
+            List<Clinical> clinicals = chiefLabel.getClinicals();
+            if (clinicals.size() > 0) {
+                Clinical clinical = clinicals.get(0);
+                List<PD> timestamp = clinical.getTimestamp();
+                if (timestamp.size() > 0) {
+                    for (PD pd : timestamp) {
+                        String value = pd.getValue();
+                        String unit = pd.getUnit();
+                        if (StringUtils.isEmpty(unit) && value.contains("数")) {
+                            status.set("-1");
+                            break;
+                        } else {
+                            status.set("0");
+                        }
                     }
+                } else {
+                    status.set("0");
                 }
-            }else {
+            } else {
                 status.set("0");
             }
-        }else {
-            status.set("0");
         }
-
     }
 }

+ 31 - 27
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0009.java

@@ -25,37 +25,41 @@ public class BEH0009 extends QCCatalogue {
         Map<String,Integer> indexMap = new HashMap<>();
 
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
-        List<Diag> diags = chiefLabel.getDiags();
-        if(diags.size()>0){
-            for (Diag diag:diags) {
-                String hospitalDiagName = diag.getHospitalDiagName();
-                if(hospitalDiagName.contains("术后")||hospitalDiagName.contains("癌")||
-                hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")){
-                    status.set("0");
-                    break;
+        String chief_text = chiefLabel.getText();
+        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+            status.set("0");
+        }else {
+            List<Diag> diags = chiefLabel.getDiags();
+            if (diags.size() > 0) {
+                for (Diag diag : diags) {
+                    String hospitalDiagName = diag.getHospitalDiagName();
+                    if (hospitalDiagName.contains("术后") || hospitalDiagName.contains("癌") ||
+                            hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")) {
+                        status.set("0");
+                        break;
+                    }
                 }
-            }
-        }else{
-            String chiefLabelText = chiefLabel.getText();
-            List<Clinical> clinicals = chiefLabel.getClinicals();
-            if(clinicals.size()>0){
-                for (Clinical clinical:clinicals) {
-                    indexMap.put(clinical.getName(),chiefLabelText.indexOf(clinical.getName()));
+            } else {
+                String chiefLabelText = chiefLabel.getText();
+                List<Clinical> clinicals = chiefLabel.getClinicals();
+                if (clinicals.size() > 0) {
+                    for (Clinical clinical : clinicals) {
+                        indexMap.put(clinical.getName(), chiefLabelText.indexOf(clinical.getName()));
+                    }
                 }
-            }
-            int index_ban = chiefLabelText.indexOf("伴");
-            if(indexMap.size()>0){
-                if(index_ban == -1){
-                    status.set("0");
-                }else {
-                    for (Map.Entry<String,Integer> s:indexMap.entrySet()) {
-                        Integer value = s.getValue();
-                        if(value<index_ban){
-                            status.set("0");
-                            break;
+                int index_ban = chiefLabelText.indexOf("伴");
+                if (indexMap.size() > 0) {
+                    if (index_ban == -1) {
+                        status.set("0");
+                    } else {
+                        for (Map.Entry<String, Integer> s : indexMap.entrySet()) {
+                            Integer value = s.getValue();
+                            if (value < index_ban) {
+                                status.set("0");
+                                break;
+                            }
                         }
                     }
-
                 }
             }
         }