Ver código fonte

月经史添加结构化数据判断

hujing 5 anos atrás
pai
commit
ce4d487179

+ 15 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0060.java

@@ -1,7 +1,6 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Menses;
@@ -10,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0060
@@ -26,13 +26,20 @@ public class BEH0060 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                for (Menses menses : mensesList) {
-                    if (menses.getMenarcheAge() != null && StringUtil.isNotBlank(menses.getMenarcheAge().getName())) {
-                        status.set("0");
-                        return;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("月经初潮年龄"))){
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    for (Menses menses : mensesList) {
+                        if (menses.getMenarcheAge() != null && StringUtil.isNotBlank(menses.getMenarcheAge().getName())) {
+                            status.set("0");
+                            return;
+                        }
                     }
                 }
             }

+ 15 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0061.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0061
@@ -25,13 +26,20 @@ public class BEH0061 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                for (Menses menses : mensesList) {
-                    if (menses.getMenstrualCycle() != null && StringUtil.isNotBlank(menses.getMenstrualCycle().getName())) {
-                        status.set("0");
-                        return;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("月经周期"))) {
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    for (Menses menses : mensesList) {
+                        if (menses.getMenstrualCycle() != null && StringUtil.isNotBlank(menses.getMenstrualCycle().getName())) {
+                            status.set("0");
+                            return;
+                        }
                     }
                 }
             }

+ 15 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0062.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0062
@@ -25,13 +26,20 @@ public class BEH0062 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                for (Menses menses : mensesList) {
-                    if (menses.getMensesDuration() != null && StringUtil.isNotBlank(menses.getMensesDuration().getName())) {
-                        status.set("0");
-                        return;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("经期天数"))) {
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    for (Menses menses : mensesList) {
+                        if (menses.getMensesDuration() != null && StringUtil.isNotBlank(menses.getMensesDuration().getName())) {
+                            status.set("0");
+                            return;
+                        }
                     }
                 }
             }

+ 26 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0063.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0063
@@ -25,23 +26,31 @@ public class BEH0063 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                boolean isFindLastMenstrual = false, isFindMenopauseTime = false, isFindMenopauseAge = false;
-                for (Menses menses : mensesList) {
-                    if (menses.getLastMenstrual() != null && StringUtil.isNotBlank(menses.getLastMenstrual().getName())) { //末次月经时间
-                        isFindLastMenstrual = true;
-                    }
-                    if (menses.getMenopauseTime() != null && StringUtil.isNotBlank(menses.getMenopauseTime().getName())) { //闭经日期
-                        isFindMenopauseTime = true;
-                    }
-                    if (menses.getMenopauseAge() != null && StringUtil.isNotBlank(menses.getMenopauseAge().getName())) { //绝经年龄
-                        isFindMenopauseAge = true;
-                    }
-                    if (isFindLastMenstrual && isFindMenopauseTime && isFindMenopauseAge) {
-                        status.set("0");
-                        return;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("末次月经日期"))
+                        || StringUtil.isNotBlank(structureMap.get("绝经年龄"))) {
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    boolean isFindLastMenstrual = false, isFindMenopauseTime = false, isFindMenopauseAge = false;
+                    for (Menses menses : mensesList) {
+                        if (menses.getLastMenstrual() != null && StringUtil.isNotBlank(menses.getLastMenstrual().getName())) { //末次月经时间
+                            isFindLastMenstrual = true;
+                        }
+                        if (menses.getMenopauseTime() != null && StringUtil.isNotBlank(menses.getMenopauseTime().getName())) { //闭经日期
+                            isFindMenopauseTime = true;
+                        }
+                        if (menses.getMenopauseAge() != null && StringUtil.isNotBlank(menses.getMenopauseAge().getName())) { //绝经年龄
+                            isFindMenopauseAge = true;
+                        }
+                        if (isFindLastMenstrual && isFindMenopauseTime && isFindMenopauseAge) {
+                            status.set("0");
+                            return;
+                        }
                     }
                 }
             }

+ 20 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0064.java

@@ -10,6 +10,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0064
@@ -26,18 +27,25 @@ public class BEH0064 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                for (Menses menses : mensesList) {
-                    if (menses.getClinicals() == null) {
-                        continue;
-                    }
-                    List<Clinical> clinicals = menses.getClinicals();
-                    for (Clinical clinical : clinicals) {
-                        if (clinical.getName().contains("经量")) {
-                            status.set("0");
-                            return;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("月经量"))) {
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    for (Menses menses : mensesList) {
+                        if (menses.getClinicals() == null) {
+                            continue;
+                        }
+                        List<Clinical> clinicals = menses.getClinicals();
+                        for (Clinical clinical : clinicals) {
+                            if (clinical.getName().contains("经量")) {
+                                status.set("0");
+                                return;
+                            }
                         }
                     }
                 }

+ 26 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0067.java

@@ -6,9 +6,12 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Menses;
 import com.lantone.qc.pub.model.label.MenstrualLabel;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0067
@@ -25,18 +28,30 @@ public class BEH0067 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                for (Menses menses : mensesList) {
-                    if (menses.getClinicals() == null) {
-                        continue;
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("痛经"))) {
+                    status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    if (menstrualLabel == null || ListUtil.isEmpty(menstrualLabel.getMensesList())) {
+                        return;
                     }
-                    List<Clinical> clinicals = menses.getClinicals();
-                    for (Clinical clinical : clinicals) {
-                        if (clinical.getName().contains("痛经")) {
-                            status.set("0");
-                            return;
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    for (Menses menses : mensesList) {
+                        if (menses.getClinicals() == null) {
+                            continue;
+                        }
+                        List<Clinical> clinicals = menses.getClinicals();
+                        if (ListUtil.isNotEmpty(clinicals)) {
+                            for (Clinical clinical : clinicals) {
+                                if (clinical.getName().contains("痛经")) {
+                                    status.set("0");
+                                    return;
+                                }
+                            }
                         }
                     }
                 }

+ 16 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0068.java

@@ -1,16 +1,14 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 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.Leukorrhea;
-import com.lantone.qc.pub.model.entity.Menses;
 import com.lantone.qc.pub.model.label.MenstrualLabel;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH0068
@@ -27,10 +25,20 @@ public class BEH0068 extends QCCatalogue {
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
                     || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                if (menstrualLabel.getLeukorrheas().size() > 0) {
+            } else {
+                Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+                if (StringUtil.isNotBlank(structureMap.get("白带"))) {
                     status.set("0");
+                    return;
+                }
+                if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                    MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                    if (menstrualLabel == null || menstrualLabel.getLeukorrheas() == null){
+                        return;
+                    }
+                    if (menstrualLabel.getLeukorrheas().size() > 0) {
+                        status.set("0");
+                    }
                 }
             }
         }