Browse Source

1.修改逻辑及bug
2.家族史模型添加关系 死亡-否定

hujing 5 years ago
parent
commit
88ac38ff53

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

@@ -43,7 +43,7 @@ public class BEH0072 extends QCCatalogue {
             for (Family family : families) {
                 if (family.getDead() != null) {
                     Dead dead = family.getDead();
-                    if (family.getName().contains("年迈")) {
+                    if (family.getName().contains("年迈") || dead.getNegative() != null) {
                         continue;
                     }
                     if (dead.getDeadReason() != null || dead.getUnknow() != null) {

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

@@ -26,6 +26,17 @@ public class BEH0414 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
             String firstAdmissionAge = firstpageStructureMap.get(Content.age);
+            /* 根据病案首页新生儿出生月数和新生儿出生天数拼接年龄 */
+            String newbornAgeMonths = firstpageStructureMap.get(Content.newbornAgeMonths);
+            String newbornAgeDays = firstpageStructureMap.get(Content.newbornAgeDays);
+            String newbornAgeStr = "";
+            int newbornAge = 0;
+            if (StringUtil.isNotBlank(newbornAgeMonths) && StringUtil.isNotBlank(newbornAgeDays)){
+                newbornAgeStr = newbornAgeMonths + newbornAgeDays;
+            }
+            if (StringUtil.isNotBlank(newbornAgeStr)){
+                newbornAge = removalUnit(newbornAgeStr);
+            }
             String admissionAge = beHospitalStructureMap.get(Content.age);
             if (StringUtil.isBlank(firstAdmissionAge) || StringUtil.isBlank(admissionAge)) {
                 status.set("0");
@@ -33,7 +44,8 @@ public class BEH0414 extends QCCatalogue {
             }
             int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);
             int admissionAgeNum = removalUnit(admissionAge);
-            if (firstAdmissionAgeNum != admissionAgeNum) {
+
+            if (firstAdmissionAgeNum != admissionAgeNum && newbornAge != admissionAgeNum) {
                 status.set("-1");
             }
         }

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0161.java

@@ -25,6 +25,17 @@ public class FIRP0161 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
             String firstAdmissionAge = firstpageStructureMap.get(Content.age);
+            /* 根据病案首页新生儿出生月数和新生儿出生天数拼接年龄 */
+            String newbornAgeMonths = firstpageStructureMap.get(Content.newbornAgeMonths);
+            String newbornAgeDays = firstpageStructureMap.get(Content.newbornAgeDays);
+            String newbornAgeStr = "";
+            int newbornAge = 0;
+            if (StringUtil.isNotBlank(newbornAgeMonths) && StringUtil.isNotBlank(newbornAgeDays)){
+                newbornAgeStr = newbornAgeMonths + newbornAgeDays;
+            }
+            if (StringUtil.isNotBlank(newbornAgeStr)){
+                newbornAge = removalUnit(newbornAgeStr);
+            }
             String admissionAge = beHospitalStructureMap.get(Content.age);
             if (StringUtil.isBlank(firstAdmissionAge) || StringUtil.isBlank(admissionAge)) {
                 status.set("0");
@@ -32,7 +43,8 @@ public class FIRP0161 extends QCCatalogue {
             }
             int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);
             int admissionAgeNum = removalUnit(admissionAge);
-            if (firstAdmissionAgeNum != admissionAgeNum) {
+
+            if (firstAdmissionAgeNum != admissionAgeNum && newbornAge != admissionAgeNum) {
                 status.set("-1");
             }
         }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessFamily.java

@@ -92,6 +92,10 @@ public class EntityProcessFamily extends EntityProcess {
                     Age age = new Age();
                     age.setName(lemma.getText());
                     dead.setAge(age);
+                } else if (lemma.getProperty().equals(EntityEnum.NEGATIVE.toString())) {
+                    Negative negative = new Negative();
+                    negative.setName(lemma.getText());
+                    dead.setNegative(negative);
                 }
             }
         }

+ 1 - 0
public/src/main/java/com/lantone/qc/pub/model/entity/Dead.java

@@ -12,6 +12,7 @@ public class Dead extends General {
     private String desc;
     private DeadReason deadReason;
     private Unknow unknow;
+    private Negative negative;
     private Age age;
     private PD pd;
 }