ソースを参照

1、食物药物过敏史重构

louhr 5 年 前
コミット
399bdc7866

+ 46 - 24
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessPast.java

@@ -100,32 +100,54 @@ public class EntityProcessPast extends EntityProcess {
                 Allergy allergy = new Allergy();
                 allergy.setName(lemma.getText());
                 allergy.setNegative(findNegative(lemma));
-                pastLabel.addAllergy(allergy);
-            }
-            //食物过敏史
-            List<Lemma> allergyFoodLemmas = createEntityTree(aiOut, EntityEnum.FOOD_ALLERGY.toString());
-            for (Lemma lemma : allergyFoodLemmas) {
-                AllergyFood allergyFood = new AllergyFood();
-                allergyFood.setName(lemma.getText());
-                if (lemma.isHaveChildren()) {
-                    allergyFood.setNegative(findNegative(lemma));
-                    allergyFood.setPd(findPD(lemma));//时间
-                    allergyFood.setDegree(findT(lemma, new Degree(), EntityEnum.TREND.toString()));//程度
-                }
-                pastLabel.addAllergyFood(allergyFood);
-            }
-            //药物过敏史
-            List<Lemma> allergyMedicineLemmas = createEntityTree(aiOut, EntityEnum.DRUG_ALLERGY.toString());
-            for (Lemma lemma : allergyMedicineLemmas) {
-                AllergyMedicine allergyMedicine = new AllergyMedicine();
-                allergyMedicine.setName(lemma.getText());
-                if (lemma.isHaveChildren()) {
-                    allergyMedicine.setNegative(findNegative(lemma));
-                    allergyMedicine.setPd(findPD(lemma));//时间
-                    allergyMedicine.setDegree(findT(lemma, new Degree(), EntityEnum.TREND.toString()));//程度
+                for (Lemma relationLemma : lemma.getRelationLemmas()) {
+                    //食物过敏史
+                    if (relationLemma.getProperty().equals(EntityEnum.FOOD_ALLERGY.toString())) {
+                        AllergyFood allergyFood = new AllergyFood();
+                        allergyFood.setName(relationLemma.getText());
+                        allergyFood.setNegative(findNegative(relationLemma));//阴性
+                        allergyFood.setPd(findPD(relationLemma));//时间
+                        allergyFood.setDegree(findT(relationLemma, new Degree(), EntityEnum.TREND.toString()));//程度
+                        allergyFood.setAllergyDesc(findT(relationLemma, new AllergyDesc(), EntityEnum.ALLERGY_SYMPTOM.toString()));//过敏表现
+                        allergy.setAllergyFood(allergyFood);
+                    }
+                    //药物过敏史
+                    if (relationLemma.getProperty().equals(EntityEnum.DRUG_ALLERGY.toString())) {
+                        AllergyMedicine allergyMedicine = new AllergyMedicine();
+                        allergyMedicine.setName(relationLemma.getText());
+                        allergyMedicine.setNegative(findNegative(relationLemma));//阴性
+                        allergyMedicine.setPd(findPD(relationLemma));//时间
+                        allergyMedicine.setDegree(findT(relationLemma, new Degree(), EntityEnum.TREND.toString()));//程度
+                        allergyMedicine.setAllergyDesc(findT(relationLemma, new AllergyDesc(), EntityEnum.ALLERGY_SYMPTOM.toString()));//过敏表现
+                        allergy.setAllergyMedicine(allergyMedicine);
+                    }
                 }
-                pastLabel.addAllergyMedicine(allergyMedicine);
+                pastLabel.addAllergy(allergy);
             }
+//            //食物过敏史
+//            List<Lemma> allergyFoodLemmas = createEntityTree(aiOut, EntityEnum.FOOD_ALLERGY.toString());
+//            for (Lemma lemma : allergyFoodLemmas) {
+//                AllergyFood allergyFood = new AllergyFood();
+//                allergyFood.setName(lemma.getText());
+//                if (lemma.isHaveChildren()) {
+//                    allergyFood.setNegative(findNegative(lemma));
+//                    allergyFood.setPd(findPD(lemma));//时间
+//                    allergyFood.setDegree(findT(lemma, new Degree(), EntityEnum.TREND.toString()));//程度
+//                }
+//                pastLabel.addAllergyFood(allergyFood);
+//            }
+//            //药物过敏史
+//            List<Lemma> allergyMedicineLemmas = createEntityTree(aiOut, EntityEnum.DRUG_ALLERGY.toString());
+//            for (Lemma lemma : allergyMedicineLemmas) {
+//                AllergyMedicine allergyMedicine = new AllergyMedicine();
+//                allergyMedicine.setName(lemma.getText());
+//                if (lemma.isHaveChildren()) {
+//                    allergyMedicine.setNegative(findNegative(lemma));
+//                    allergyMedicine.setPd(findPD(lemma));//时间
+//                    allergyMedicine.setDegree(findT(lemma, new Degree(), EntityEnum.TREND.toString()));//程度
+//                }
+//                pastLabel.addAllergyMedicine(allergyMedicine);
+//            }
             //输血史
             List<Lemma> bloodTransfusionLemmas = createEntityTree(aiOut, EntityEnum.BLOOD_TRANSFUSION.toString());
             for (Lemma lemma : bloodTransfusionLemmas) {

+ 2 - 0
public/src/main/java/com/lantone/qc/pub/model/entity/Allergy.java

@@ -13,4 +13,6 @@ import lombok.Setter;
 @Setter
 public class Allergy extends General {
     private Negative negative; //阴性
+    private AllergyFood allergyFood;//食物过敏史
+    private AllergyMedicine allergyMedicine;//药物过敏史
 }

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

@@ -15,4 +15,5 @@ public class AllergyFood extends General {
     private Negative negative;//阴性
     private PD pd;  //时间
     private Degree degree; //程度
+    private AllergyDesc allergyDesc;//过敏表现
 }

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

@@ -15,4 +15,5 @@ public class AllergyMedicine extends General {
     private Negative negative;  //阴性
     private PD pd;  //时间
     private Degree degree; //程度
+    private AllergyDesc allergyDesc;//过敏表现
 }