فهرست منبع

1.月经史规则修改,男性或性别未填写则直接跳过
2.家族史、辅助检查规则修改

hujing 5 سال پیش
والد
کامیت
0aacb3b9ec
17فایلهای تغییر یافته به همراه196 افزوده شده و 113 حذف شده
  1. 9 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0059.java
  2. 13 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0060.java
  3. 13 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0061.java
  4. 13 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0062.java
  5. 23 17
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0063.java
  6. 18 12
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0064.java
  7. 18 12
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0065.java
  8. 18 12
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0066.java
  9. 18 12
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0067.java
  10. 11 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0068.java
  11. 2 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0072.java
  12. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0076.java
  13. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0081.java
  14. 21 1
      kernel/src/main/java/com/lantone/qc/kernel/structure/ai/BeHospitalizedAI.java
  15. 16 6
      kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessFamily.java
  16. 0 6
      kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessPacs.java
  17. 1 0
      public/src/main/java/com/lantone/qc/pub/Content.java

+ 9 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0059.java

@@ -16,10 +16,15 @@ import org.springframework.stereotype.Component;
 public class BEH0059 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-            if (!CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getMenstrualLabel().getText()
-                    .replace("月经史:null",""))) {
-                status = "0";
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "0"; //如果性别是男,就不报错
+            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null
+                    && !CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getMenstrualLabel().getText()
+                    .replace("月经史:null", ""))) {
+                status = "0"; //如果性别是女,不为空就不报错
             }
         }
     }

+ 13 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0060.java

@@ -21,13 +21,19 @@ import java.util.List;
 public class BEH0060 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                    return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                        return;
+                    }
                 }
             }
         }

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

@@ -20,13 +20,19 @@ import java.util.List;
 public class BEH0061 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                    return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                        return;
+                    }
                 }
             }
         }

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

@@ -20,13 +20,19 @@ import java.util.List;
 public class BEH0062 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                    return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                        return;
+                    }
                 }
             }
         }

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

@@ -20,23 +20,29 @@ import java.util.List;
 public class BEH0063 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                    return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                        return;
+                    }
                 }
             }
         }

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

@@ -21,18 +21,24 @@ import java.util.List;
 public class BEH0064 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                        return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                            return;
+                        }
                     }
                 }
             }

+ 18 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0065.java

@@ -20,18 +20,24 @@ import java.util.List;
 public class BEH0065 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                        return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                            return;
+                        }
                     }
                 }
             }

+ 18 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0066.java

@@ -20,18 +20,24 @@ import java.util.List;
 public class BEH0066 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                        return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                            return;
+                        }
                     }
                 }
             }

+ 18 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0067.java

@@ -20,18 +20,24 @@ import java.util.List;
 public class BEH0067 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && 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 = "0";
-                        return;
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "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 = "0";
+                            return;
+                        }
                     }
                 }
             }

+ 11 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0068.java

@@ -1,6 +1,7 @@
 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;
@@ -21,10 +22,16 @@ import java.util.List;
 public class BEH0068 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
-            MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-            if (menstrualLabel.getLeukorrheas().size() > 0) {
-                status = "0";
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
+                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+                status = "0"; //如果性别是男,就不报错
+            } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
+                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+                if (menstrualLabel.getLeukorrheas().size() > 0) {
+                    status = "0";
+                }
             }
         }
     }

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

@@ -27,10 +27,8 @@ public class BEH0072 extends QCCatalogue {
             for (Family family : families) {
                 if (family.getDead() != null) {
                     Dead dead = family.getDead();
-                    if (dead.getAge() != null && StringUtil.isNotBlank(dead.getAge().getName()) //年龄不为空
-                            //或者(死亡原因为空并且情况不详为空)
-                            && (dead.getDeadReason() != null && StringUtil.isNotBlank(dead.getDeadReason().getName())
-                     || (dead.getUnknow() != null && StringUtil.isNotBlank(dead.getUnknow().getName())))) {
+                    if ((dead.getDeadReason() != null && StringUtil.isNotBlank(dead.getDeadReason().getName())
+                            || (dead.getUnknow() != null && StringUtil.isNotBlank(dead.getUnknow().getName())))) {
                         status = "0";
                         return;
                     }

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

@@ -17,7 +17,7 @@ public class BEH0076 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getVitalLabel() != null) {
-            if (CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getVitalLabel().getText())) {
+            if (!CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getVitalLabel().getText())) {
                 status = "0";
             }
         }

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

@@ -17,7 +17,7 @@ public class BEH0081 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getBeHospitalizedDoc().getPacsLabel() != null) {
-            if (CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getPacsLabel().getText())) {
+            if (!CatalogueUtil.isEmpty(inputInfo.getBeHospitalizedDoc().getPacsLabel().getText())) {
                 status = "0";
             }
         }

+ 21 - 1
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/BeHospitalizedAI.java

@@ -52,6 +52,7 @@ public class BeHospitalizedAI {
         String family_text = beHospitalizedDoc.getFamilyLabel().getText();
         String past_text = beHospitalizedDoc.getPastLabel().getText();
         String present_text = beHospitalizedDoc.getPresentLabel().getText();
+        String pacs_text = beHospitalizedDoc.getPacsLabel().getText();
         //月经史
         String menstrual_text = beHospitalizedDoc.getMenstrualLabel().getText();
         //婚育史
@@ -78,6 +79,8 @@ public class BeHospitalizedAI {
         putContent(crfContent, medicalTextType.get(2), menstrual_text, Content.menses);
         //婚育史
         putContent(crfContent, medicalTextType.get(2), marital_text, Content.marriage);
+        //辅助检查(暂用主诉现病史模型,之后会新训练单独模型再做修改)
+        putContent(crfContent, medicalTextType.get(3), pacs_text, Content.pacs);
         //存储CRF完整所需结构数据
         CRFVo crfVo = new CRFVo();
         crfVo.setData(crfContent);
@@ -98,8 +101,10 @@ public class BeHospitalizedAI {
         putFamilyCrfData(midData.getJSONObject(Content.family), inputInfo);
         //处理婚育史
         putMaritalCrfData(midData.getJSONObject(Content.marriage), inputInfo);
-        //初步诊断
+        //处理初步诊断
         putInitialDiagCrfData(midData.getJSONObject(Content.pridiag), inputInfo);
+        //处理辅助检查
+        putPacsCrfData(midData.getJSONObject(Content.pacs), inputInfo);
         //        //存放CRF模型既往史、家族史返回数据
         //        putAllCrfData(midData.getJSONObject(Content.past), crfOut);
         //        putAllCrfData(midData.getJSONObject(Content.family), crfOut);
@@ -269,6 +274,21 @@ public class BeHospitalizedAI {
         }
     }
 
+    /**
+     * 辅助检查信息抽取
+     * @param jsonObject
+     * @param inputInfo
+     */
+    public void putPacsCrfData(JSONObject jsonObject, InputInfo inputInfo) {
+        if (jsonObject == null) {
+            return;
+        }
+        JSONObject aiOut = jsonObject.getJSONObject(entityRelationObject).getJSONObject(BeHospitalizedAI.outputs);
+        //放置入inputinfo
+        PacsLabel pacsLabel = inputInfo.getBeHospitalizedDoc().getPacsLabel();
+        pacsLabel.setPacses(loadpacses(aiOut));
+    }
+
     /**
      * 关系抽取临床表现信息
      *

+ 16 - 6
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessFamily.java

@@ -28,7 +28,7 @@ public class EntityProcessFamily extends EntityProcess {
         List<Family> families = new ArrayList<>();
         //读取家属所有本体及关联信息
         List<Lemma> familyLemmas = createEntityTree(aiOut, EntityEnum.RELATIVES.toString());
-        for (Lemma lemma :familyLemmas) {
+        for (Lemma lemma : familyLemmas) {
             Family family = new Family();
             family.setName(lemma.getText());
             if (lemma.isHaveChildren()) {
@@ -43,18 +43,23 @@ public class EntityProcessFamily extends EntityProcess {
                         family.setHealthCondition(addHealthCondition(relationLemma));
                     } else if (relationLemma.getProperty().equals(EntityEnum.DIEASE.toString())) {
                         family.addDiag(addDiags(relationLemma));
-                    } else if (relationLemma.getProperty().equals(EntityEnum.SIMILAR_DISEASE_KEYWORD.toString())) {
-                        family.setSimilarDiag(addSimilarDiag(relationLemma));
                     }
                 }
             }
             families.add(family);
         }
+        List<Lemma> similarDiseaseLemmas = createEntityTree(aiOut, EntityEnum.SIMILAR_DISEASE_KEYWORD.toString());
+        for (Lemma relationLemma : similarDiseaseLemmas) {
+            Family family = new Family();
+            family.setSimilarDiag(addSimilarDiag(relationLemma));
+            families.add(family);
+        }
         return families;
     }
 
     /**
      * 家属死亡
+     *
      * @param deadLemma
      * @return
      */
@@ -63,16 +68,16 @@ public class EntityProcessFamily extends EntityProcess {
         dead.setName(deadLemma.getText());
         if (deadLemma.isHaveChildren()) {
             dead.setDesc(deadLemma.getRelationLemmas().get(0).getText());
-            for (Lemma lemma:deadLemma.getRelationLemmas()) {
+            for (Lemma lemma : deadLemma.getRelationLemmas()) {
                 if (lemma.getProperty().equals(EntityEnum.DEAD_REASON.toString())) {
                     DeadReason deadReason = new DeadReason();
                     deadReason.setName(lemma.getText());
                     dead.setDeadReason(deadReason);
-                } else if (lemma.getProperty().equals(EntityEnum.UNKNOWN.toString())){
+                } else if (lemma.getProperty().equals(EntityEnum.UNKNOWN.toString())) {
                     Unknow unknow = new Unknow();
                     unknow.setName(lemma.getText());
                     dead.setUnknow(unknow);
-                } else if (lemma.getProperty().equals(EntityEnum.AGE.toString())){
+                } else if (lemma.getProperty().equals(EntityEnum.AGE.toString())) {
                     Age age = new Age();
                     age.setName(lemma.getText());
                     dead.setAge(age);
@@ -84,6 +89,7 @@ public class EntityProcessFamily extends EntityProcess {
 
     /**
      * 家属传染病史
+     *
      * @param infectiouLemma
      * @return
      */
@@ -98,6 +104,7 @@ public class EntityProcessFamily extends EntityProcess {
 
     /**
      * 家属遗传病史
+     *
      * @param geneticLemma
      * @return
      */
@@ -112,6 +119,7 @@ public class EntityProcessFamily extends EntityProcess {
 
     /**
      * 家属健康情况
+     *
      * @param healthConditionLemma
      * @return
      */
@@ -123,6 +131,7 @@ public class EntityProcessFamily extends EntityProcess {
 
     /**
      * 家属疾病史
+     *
      * @param diagLemma
      * @return
      */
@@ -136,6 +145,7 @@ public class EntityProcessFamily extends EntityProcess {
 
     /**
      * 相似疾病
+     *
      * @param diagLemma
      * @return
      */

+ 0 - 6
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessPacs.java

@@ -1,21 +1,15 @@
 package com.lantone.qc.kernel.structure.ai.process;
 
 import com.alibaba.fastjson.JSONObject;
-import com.lantone.qc.kernel.structure.ai.model.CrfOut;
 import com.lantone.qc.kernel.structure.ai.model.EntityEnum;
 import com.lantone.qc.kernel.structure.ai.model.Lemma;
 import com.lantone.qc.pub.model.entity.BodyPart;
-import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.OuterCourtyard;
 import com.lantone.qc.pub.model.entity.Pacs;
 import com.lantone.qc.pub.model.entity.PacsValue;
-import com.lantone.qc.pub.model.label.MenstrualLabel;
-import com.lantone.qc.pub.model.label.PacsLabel;
-import org.apache.commons.lang3.StringUtils;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 public class EntityProcessPacs extends EntityProcess {
 

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

@@ -103,6 +103,7 @@ public class Content {
     public static final String family = "家族史";
     public static final String phys_exam = "体格检查(一)";
     public static final String special_exam = "体格检查(二)";
+    public static final String pacs = "辅助检查";
 
     public static final String case_feature = "一、病例特点";
     public static final String pridiag = "二、初步诊断";