ソースを参照

Merge branch 'master' into innerDevelop

zhoutg 4 年 前
コミット
ba78df30c5

+ 2 - 0
src/main/java/com/diagbot/dto/WordCrfDTO.java

@@ -36,6 +36,8 @@ public class WordCrfDTO {
     private Double ageNum;
     // 性别(1:男,2:女)
     private Integer sex;
+    //科室
+    private List<Item> dept = new ArrayList<>();
     // 化验项目和结果
     private List<Lis> lis = new ArrayList<>();
     // 辅检项目和结果

+ 1 - 0
src/main/java/com/diagbot/entity/DiseaseProperty.java

@@ -17,4 +17,5 @@ public class DiseaseProperty {
     private String sex;
     private String age;
     private String fbl;
+    private String dept;
 }

+ 1 - 1
src/main/java/com/diagbot/entity/node/Vital.java

@@ -33,7 +33,7 @@ public class Vital extends BaseNode  {
 	private String vitalname;
 
 	@Relationship(type = "辅助检查名称禁忌体征", direction = Relationship.INCOMING)
-	private Set<PacsVital> pacsVitals = new HashSet<>();
+	private Set<PacsNameVital> pacsVitals = new HashSet<>();
 
 	@Relationship(type = "医保手术和操作名称禁忌体征", direction = Relationship.INCOMING)
 	private Set<YiBaoOperationNameVital> yibaooperationnameVitals = new HashSet<>();

+ 2 - 3
src/main/java/com/diagbot/entity/node/YiBaoOperation.java

@@ -1,11 +1,10 @@
 package com.diagbot.entity.node;
 
 import com.diagbot.entity.node.base.BaseNode;
-import com.diagbot.entity.relationship.YiBaoOperationLis;
+import com.diagbot.entity.relationship.YiBaoOperationNameLis;
 import lombok.Getter;
 import lombok.Setter;
 import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Property;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.util.Set;
@@ -18,6 +17,6 @@ public class YiBaoOperation extends BaseNode  {
 
 
 	@Relationship(type = "医保手术和操作禁忌实验室检查", direction = Relationship.OUTGOING)
-	private Set<YiBaoOperationLis> yiBaoOperationLiss = new HashSet<>();
+	private Set<YiBaoOperationNameLis> yiBaoOperationLiss = new HashSet<>();
 
 }

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/PacsDisease.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Disease;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "辅助检查名称禁忌疾病")
-public class PacsDisease extends BaseRelation {
-    @StartNode
-    private PacsName pacsName;
-
-    @EndNode
-    private Disease disease;
-}

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/PacsGender.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Gender;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "辅助检查名称禁忌性别")
-public class PacsGender extends BaseRelation {
-    @StartNode
-    private PacsName pacsName;
-
-    @EndNode
-    private Gender gender;
-}

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/PacsGroup.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Group;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "辅助检查名称禁忌禁忌人群")
-public class PacsGroup extends BaseRelation {
-    @StartNode
-    private PacsName pacsName;
-
-    @EndNode
-    private Group group;
-}

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/PacsLis.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Lis;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "辅助检查名称禁忌实验室检查")
-public class PacsLis extends BaseRelation {
-    @StartNode
-    private PacsName pacsName;
-
-    @EndNode
-    private Lis lis;
-}

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/PacsVital.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Vital;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "辅助检查名称禁忌体征")
-public class PacsVital extends BaseRelation {
-    @StartNode
-    private PacsName pacsName;
-
-    @EndNode
-    private Vital vital;
-}

+ 0 - 18
src/main/java/com/diagbot/entity/relationship/YiBaoOperationLis.java

@@ -1,18 +0,0 @@
-package com.diagbot.entity.relationship;
-
-import com.diagbot.entity.node.YiBaoOperation;
-import com.diagbot.entity.node.Lis;
-import com.diagbot.entity.relationship.base.BaseRelation;
-import lombok.Getter;
-import lombok.Setter;
-import org.neo4j.ogm.annotation.*;
-
-@Getter
-@Setter@RelationshipEntity(type = "医保手术和操作禁忌实验室检查")
-public class YiBaoOperationLis extends BaseRelation {
-    @StartNode
-    private YiBaoOperation yiBaoOperation;
-
-    @EndNode
-    private Lis lis;
-}

+ 12 - 1
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -53,9 +53,15 @@ public class CommonFacade {
         AIAnalyze aiAnalyze = new AIAnalyze(crfServiceClient);
         WordCrfDTO wordCrfDTO = new WordCrfDTO();
         wordCrfDTO.setHospitalId(searchData.getHospitalId());
-        wordCrfDTO.setAgeNum(searchData.getAgeNum());
+        // 年龄容错处理
+        if (searchData.getAgeNum() != null) {
+            wordCrfDTO.setAgeNum(searchData.getAgeNum());
+        } else {
+            wordCrfDTO.setAgeNum(CoreUtil.convertAge(searchData.getAge()));
+        }
         wordCrfDTO.setAge(searchData.getAge());
         wordCrfDTO.setSex(searchData.getSex());
+        wordCrfDTO.setDept(searchData.getDept());
         if (searchData.getDiseaseName() != null && StringUtils.isNotBlank(searchData.getDiseaseName().getName())) {
             wordCrfDTO.setDiseaseName(searchData.getDiseaseName());
         }
@@ -291,6 +297,11 @@ public class CommonFacade {
         pushVO.setSex(wordCrfDTO.getSex());
         pushVO.setAgeNum(wordCrfDTO.getAgeNum());
         pushVO.setDiaeaseName(diseaseName);
+        List<Item> depts = wordCrfDTO.getDept();
+        if(ListUtil.isNotEmpty(depts)){
+            List<String> collect = depts.stream().map(x -> x.getUniqueName()).collect(Collectors.toList());
+            pushVO.setDept(collect);
+        }
         if (chiefLabel != null) {
             ChiefPushVo chiefPushVo = new ChiefPushVo();
             if (ListUtil.isNotEmpty(chiefLabel.getClinicals())) {

+ 0 - 1
src/main/java/com/diagbot/facade/IndicationFacade.java

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import com.diagbot.client.StandConvertServiceClient;
-import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.exception.CommonErrorCode;

+ 2 - 0
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -177,6 +177,7 @@ public class NeoFacade {
                         desc.put("sex", v.getSex());
                         desc.put("age", v.getAge());
                         desc.put("fbl", v.getFbl());
+                        desc.put("dept", v.getDept());
                         return desc;
                     },
                     (v1, v2) -> (v2)
@@ -279,6 +280,7 @@ public class NeoFacade {
     public List<String> getPush(NeoPushVO pushVO) {
         Double age = pushVO.getAgeNum();
         Integer sex = pushVO.getSex();
+        List<String> depts = pushVO.getDept();
         List<String> presentDiags = Lists.newArrayList();
         PresentPushVo presentPushVo = pushVO.getPresentPushVo();
         ChiefPushVo chiefPushVo = pushVO.getChiefPushVo();

+ 15 - 7
src/main/java/com/diagbot/facade/TestFacade.java

@@ -243,7 +243,7 @@ public class TestFacade {
                                 indicationPushVO.setAgeNum(1D);
                                 break;
                             case "儿童":
-                                indicationPushVO.setAgeNum(5D);
+                                indicationPushVO.setAgeNum(10D);
                                 break;
                             default:
                                 continue;
@@ -637,26 +637,34 @@ public class TestFacade {
             indicationPushVO.setSex(1);
             indicationPushVO.setIdNum(bean.getIdNum());
 
-            List<Lis> lisDetail = new ArrayList<>();
             if (bean.getCriticalMin() != null) {
+                IndicationPushVO copy = new IndicationPushVO();
+                BeanUtil.copyProperties(indicationPushVO, copy);
+                List<Lis> lisDetail = new ArrayList<>();
                 Lis lisDetailBean = new Lis();
                 lisDetailBean.setName(bean.getCriticalMeal());
                 lisDetailBean.setDetailName(bean.getCriticalLis());
                 lisDetailBean.setUniqueName(bean.getCriticalLis());
                 lisDetailBean.setValue(bean.getCriticalMin());
                 lisDetail.add(lisDetailBean);
-            } else if (bean.getCriticalMax() != null) {
+                copy.setLis(lisDetail);
+                copy.setMsg(bean.getCriticalLis() + "【低危急值】");
+                indicationPushVOList.add(copy);
+            }
+            if (bean.getCriticalMax() != null) {
+                IndicationPushVO copy = new IndicationPushVO();
+                BeanUtil.copyProperties(indicationPushVO, copy);
+                List<Lis> lisDetail = new ArrayList<>();
                 Lis lisDetailBean = new Lis();
                 lisDetailBean.setName(bean.getCriticalMeal());
                 lisDetailBean.setDetailName(bean.getCriticalLis());
                 lisDetailBean.setUniqueName(bean.getCriticalLis());
                 lisDetailBean.setValue(bean.getCriticalMax());
                 lisDetail.add(lisDetailBean);
+                copy.setLis(lisDetail);
+                copy.setMsg(bean.getCriticalLis() + "【高危急值】");
+                indicationPushVOList.add(copy);
             }
-            indicationPushVO.setLis(lisDetail);
-            indicationPushVO.setMsg(bean.getCriticalLis());
-
-            indicationPushVOList.add(indicationPushVO);
         }
 
         Map<String, Object> map = getDebugMap(indicationPushVOList, "1", start);

+ 6 - 1
src/main/java/com/diagbot/repository/BaseNodeRepository.java

@@ -96,7 +96,12 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
             "case\n" +
             "when d.fbl is not null then d.fbl\n" +
             "else '0'\n" +
-            "end as fbl")
+            "end as fbl,\n"+
+            "case\n" +
+            "when d.dept is not null then d.dept\n" +
+            "else '医学全科'\n" +
+            "end as dept"
+    )
     List<DiseaseProperty> getDiseaseProperty();
 
     @Query("match(d:医保疾病名称{name:{dis}})-[r]->(j) return type(r) as tp,collect(distinct j.name) as col")

+ 3 - 4
src/main/java/com/diagbot/repository/PacsNameNode.java

@@ -204,11 +204,10 @@ public class PacsNameNode {
 
                 if (ListUtil.isNotEmpty(pacslt)) {
                     pacsBillNeoDTO = PacstoPACSDTO(pacslt.get(0));
-                }
-
-                billNeoDTO.setPacsBillNeoDTO(pacsBillNeoDTO);
+                    billNeoDTO.setPacsBillNeoDTO(pacsBillNeoDTO);
 
-                billNeoDTOs.add(billNeoDTO);
+                    billNeoDTOs.add(billNeoDTO);
+                }
             }
         }
 

+ 3 - 4
src/main/java/com/diagbot/repository/PacsSubNameNode.java

@@ -161,11 +161,10 @@ public class PacsSubNameNode {
 
                 if (pacslt != null && pacslt.size() > 0) {
                     pacsBillNeoDTO = PacstoPACSDTO(pacslt.get(0));
-                }
-
-                billNeoDTO.setPacsBillNeoDTO(pacsBillNeoDTO);
+                    billNeoDTO.setPacsBillNeoDTO(pacsBillNeoDTO);
 
-                billNeoDTOs.add(billNeoDTO);
+                    billNeoDTOs.add(billNeoDTO);
+                }
             }
         }
 

+ 3 - 0
src/main/java/com/diagbot/vo/NeoPushVO.java

@@ -4,6 +4,8 @@ import com.diagbot.biz.push.entity.Item;
 import com.diagbot.vo.neoPushEntity.*;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @Description: 图谱推理入参
  * @Author:zhoutg
@@ -18,6 +20,7 @@ public class NeoPushVO {
     private Double ageNum;
     // 性别(1:男,2:女)
     private Integer sex;
+    private List<String> dept;
     //选中的诊断
     private Item diaeaseName;
     private DiagVo diagVo;//下的诊断