Selaa lähdekoodia

恩泽:crf模型逻辑优化

wangsy 4 vuotta sitten
vanhempi
commit
da80f53a8f

+ 7 - 25
structure-center/src/main/java/com/lantone/structure/ai/process/EntityProcessBlood.java

@@ -25,11 +25,13 @@ public class EntityProcessBlood extends EntityProcess {
             List<Blood> bloodList = new ArrayList<>();
             //输血指征
             List<Lemma> indicationBlood = createEntityTree(aiOut, EntityEnum.INDICA_BLOOD.toString());
+            List<Indication> indicationList = new ArrayList<>();
             for (Lemma lemma : indicationBlood) {
                 Indication indication = new Indication();
                 indication.setName(lemma.getText());
-                blood.setIndication(indication);
+                indicationList.add(indication);
             }
+            blood.setIndication(indicationList);
 
             //输血类型
             List<Lemma> typeBlood = createEntityTree(aiOut, EntityEnum.TYPE_BLOOD.toString());
@@ -55,26 +57,11 @@ public class EntityProcessBlood extends EntityProcess {
                 blood.setType(type);
             }
             //输血原因
-            List<Lemma> reasonBlood = createEntityTree(aiOut, EntityEnum.REASON_BLOOD.toString());
-            for (Lemma lemma : reasonBlood) {
-                Reason reason = new Reason();
-                reason.setName(lemma.getText());
-                blood.setReason(reason);
-            }
+            blood.setReason(findFirstT(createEntityTree(aiOut, EntityEnum.REASON_BLOOD.toString()),new Reason()));
             //输血开始时间
-            List<Lemma> startTimeBlood = createEntityTree(aiOut, EntityEnum.START_TIME_BLOOD.toString());
-            for (Lemma lemma : startTimeBlood) {
-                StartTime startTime = new StartTime();
-                startTime.setName(lemma.getText());
-                blood.setStartTime(startTime);
-            }
+            blood.setStartTime(findFirstT(createEntityTree(aiOut, EntityEnum.START_TIME_BLOOD.toString()),new StartTime()));
             //输血结束时间
-            List<Lemma> endTimeBlood = createEntityTree(aiOut, EntityEnum.END_TIME_BLOOD.toString());
-            for (Lemma lemma : endTimeBlood) {
-                EndTime endTime = new EndTime();
-                endTime.setName(lemma.getText());
-                blood.setEndTime(endTime);
-            }
+            blood.setEndTime(findFirstT(createEntityTree(aiOut, EntityEnum.END_TIME_BLOOD.toString()),new EndTime()));
 
             //输血反应类型
             List<Lemma> responseTypeBlood = createEntityTree(aiOut, EntityEnum.RESPONSE_TYPE_BLOOD.toString());
@@ -87,12 +74,7 @@ public class EntityProcessBlood extends EntityProcess {
             }
             blood.setResponseType(responseTypeList);
             //输血次数
-            List<Lemma> frequencyBlood = createEntityTree(aiOut, EntityEnum.FREQUENCY_BLOOD.toString());
-            for (Lemma lemma : frequencyBlood) {
-                Frequency frequency = new Frequency();
-                frequency.setName(lemma.getText());
-                blood.setFrequency(frequency);
-            }
+            blood.setFrequency(findFirstT(createEntityTree(aiOut, EntityEnum.FREQUENCY_BLOOD.toString()),new Frequency()));
             bloodList.add(blood);
             clinicalBloodLabel.setBlood(bloodList);
         } catch (Exception e) {

+ 4 - 2
structure-center/src/main/java/com/lantone/structure/ai/process/EntityProcessCaesareanSection.java

@@ -194,12 +194,14 @@ public class EntityProcessCaesareanSection extends EntityProcess {
 
             //Apgar评分
             List<Lemma> apgarScoreLemma = createEntityTree(aiOut, EntityEnum.APGAR_SCORE.toString());
-            ApgarScore apgarScore = new ApgarScore();
+            List<ApgarScore> apgarScoreList = new ArrayList<>();
             for (Lemma lemma : apgarScoreLemma) {
+                ApgarScore apgarScore = new ApgarScore();
                 apgarScore.setName(lemma.getText());
                 apgarScore.setScore(findT(lemma, new Score(), EntityEnum.SCORE.toString()));
+                apgarScoreList.add(apgarScore);
             }
-            caesareanSectionLabel.setApgarScore(apgarScore);
+            caesareanSectionLabel.setApgarScores(apgarScoreList);
 
             //产瘤
             List<Lemma> caputSuccedaneumLemma = createEntityTree(aiOut, EntityEnum.CAPUT_SUCCEDANEUM.toString());

+ 8 - 7
structure-center/src/main/java/com/lantone/structure/model/entity/Blood.java

@@ -3,6 +3,7 @@ package com.lantone.structure.model.entity;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -11,11 +12,11 @@ import java.util.List;
 @Setter
 @Getter
 public class Blood extends General {
-    private Indication indication; //输血指征
-    private Type type;//输血类型
-    private Reason reason;//输血原因
-    private StartTime startTime;//输血开始时间
-    private EndTime endTime;//输血结束时间
-    private List<ResponseType> responseType;//输血反应类型
-    private Frequency frequency; //输血次数
+    private List<Indication> indication = new ArrayList<>();    //输血指征
+    private Type type;                                          //输血类型
+    private Reason reason;                                      //输血原因
+    private StartTime startTime;                                //输血开始时间
+    private EndTime endTime;                                    //输血结束时间
+    private List<ResponseType> responseType = new ArrayList<>();//输血反应类型
+    private Frequency frequency;                                //输血次数
 }

+ 1 - 1
structure-center/src/main/java/com/lantone/structure/model/label/CaesareanSectionLabel.java

@@ -36,7 +36,7 @@ public class CaesareanSectionLabel {
     private FluidInfusion fluidInfusion;                                    //补液
     private BloodPressure bloodPressure;                                    //血压情况
     private Newborn newborn;                                                //新生儿
-    private ApgarScore apgarScore;                                          //Apgar评分
+    private List<ApgarScore> apgarScores = new ArrayList<>();               //Apgar评分
     private CaputSuccedaneum caputSuccedaneum;                              //产瘤
     private List<Drug> drugs = new ArrayList<>();                           //手术用药名称
     private Transfusion transfusion;                                        //输血成分