diff --git a/pom.xml b/pom.xml
index fef3b9f0..2ec73148 100644
--- a/pom.xml
+++ b/pom.xml
@@ -164,12 +164,6 @@
${okhttp.version}
-
- org.springframework.boot
- spring-boot-starter-data-neo4j
- ${spring.boot.version}
-
-
diff --git a/virtual-patient-graph/pom.xml b/virtual-patient-graph/pom.xml
index a15575b6..11c19597 100644
--- a/virtual-patient-graph/pom.xml
+++ b/virtual-patient-graph/pom.xml
@@ -38,11 +38,6 @@
${version}
-
- org.springframework.boot
- spring-boot-starter-data-neo4j
-
-
com.github.pagehelper
pagehelper-spring-boot-starter
diff --git a/virtual-patient-graph/src/main/java/com/supervision/VirtualPatientGraphApplication.java b/virtual-patient-graph/src/main/java/com/supervision/VirtualPatientGraphApplication.java
index 448dc156..35c473c3 100644
--- a/virtual-patient-graph/src/main/java/com/supervision/VirtualPatientGraphApplication.java
+++ b/virtual-patient-graph/src/main/java/com/supervision/VirtualPatientGraphApplication.java
@@ -3,13 +3,11 @@ package com.supervision;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@SpringBootApplication(scanBasePackages = {"com.supervision", "org.nebula"})
@MapperScan(basePackages = {"com.supervision.**.mapper"})
-@EnableNeo4jRepositories("com.**.repo")
public class VirtualPatientGraphApplication {
public static void main(String[] args) {
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/config/Neo4jConfig.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/config/Neo4jConfig.java
deleted file mode 100644
index 63c578cc..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/config/Neo4jConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.supervision.neo4j.config;
-
-import org.neo4j.driver.AuthTokens;
-import org.neo4j.driver.Driver;
-import org.neo4j.driver.GraphDatabase;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-
-@Configuration
-public class Neo4jConfig {
-
- @Value("${spring.data.neo4j.uri}")
- private String uri;
-
- @Value("${spring.data.neo4j.username}")
- private String username;
-
- @Value("${spring.data.neo4j.password}")
- private String password;
-
- @Bean
- public Driver driver() {
- // 创建驱动器实例
- return GraphDatabase.driver(uri, AuthTokens.basic(username, password));
- }
-
-
-
-
-
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/controller/GraphController.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/controller/GraphController.java
deleted file mode 100644
index cea5c179..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/controller/GraphController.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.supervision.neo4j.controller;
-
-
-import com.supervision.neo4j.service.GraphService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping("graph")
-@RequiredArgsConstructor
-public class GraphController {
-
-
- private final GraphService graphService;
-
- @GetMapping("createGraph")
- public void createGraph(String processId) {
- graphService.createGraph(processId);
- }
-
- @GetMapping("queryGraph")
- public Object queryGraph(String processId){
- return graphService.queryGraph(processId);
- }
-
- @GetMapping("deleteNode")
- public void deleteNode() {
- graphService.deleteNode();
- }
-
-
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/AncillaryNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/AncillaryNode.java
deleted file mode 100644
index 8fe14ada..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/AncillaryNode.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.*;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@NodeEntity("辅助检查")
-@Data
-public class AncillaryNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("辅助检查名称")
- private String ancillaryName;
-
- @Relationship("诊断依据")
- private Set diseaseNodeSet;
-
- public AncillaryNode(String ancillaryName) {
- this.ancillaryName = ancillaryName;
- this.diseaseNodeSet = new HashSet<>();
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DiseaseNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DiseaseNode.java
deleted file mode 100644
index 0409ef61..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DiseaseNode.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.GeneratedValue;
-import org.neo4j.ogm.annotation.Id;
-import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Property;
-
-@Data
-@NodeEntity("疾病分类名称")
-public class DiseaseNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("疾病名称")
- private String diseaseName;
-
- public DiseaseNode(String diseaseName) {
- this.diseaseName = diseaseName;
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DisposalMethodNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DisposalMethodNode.java
deleted file mode 100644
index 4367b065..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DisposalMethodNode.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.*;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@NodeEntity("处置计划")
-@Data
-public class DisposalMethodNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("处置计划类型")
- private String disposalMethod;
-
- @Relationship("处置措施")
- private Set treatmentPlanNodeSet;
-
- public DisposalMethodNode(String disposalMethod) {
- this.disposalMethod = disposalMethod;
- treatmentPlanNodeSet = new HashSet<>();
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DrugNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DrugNode.java
deleted file mode 100644
index 3ce567f9..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/DrugNode.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.GeneratedValue;
-import org.neo4j.ogm.annotation.Id;
-import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Property;
-
-
-@NodeEntity("药品")
-@Data
-public class DrugNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("药品名称")
- private String drugName;
-
- public DrugNode(String drugName) {
- this.drugName = drugName;
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/KnowledgeBaseNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/KnowledgeBaseNode.java
deleted file mode 100644
index af6f70a1..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/KnowledgeBaseNode.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.GeneratedValue;
-import org.neo4j.ogm.annotation.Id;
-import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Property;
-
-@NodeEntity("知识库")
-@Data
-public class KnowledgeBaseNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("知识库")
- private String diseaseName;
-
- public KnowledgeBaseNode(String diseaseName) {
- this.diseaseName = diseaseName;
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalNode.java
deleted file mode 100644
index 90e5926f..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalNode.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.*;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@Data
-@NodeEntity("体格检查结果")
-public class PhysicalNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
-
- @Property("检查工具")
- private String toolName;
-
- @Relationship("所属工具")
- private Set physicalToolNodeSet;
-
- @Relationship("诊断依据")
- private Set diseaseNodeSet;
-
- public PhysicalNode(String toolName) {
- this.toolName = toolName;
- this.physicalToolNodeSet = new HashSet<>();
- this.diseaseNodeSet = new HashSet<>();
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalToolNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalToolNode.java
deleted file mode 100644
index 53d37fb5..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/PhysicalToolNode.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.GeneratedValue;
-import org.neo4j.ogm.annotation.Id;
-import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Property;
-
-@Data
-@NodeEntity("体格检查工具")
-public class PhysicalToolNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("体格检查工具名称")
- private String name;
-
- public PhysicalToolNode(String name) {
- this.name = name;
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/ProcessNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/ProcessNode.java
deleted file mode 100644
index 54129b6c..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/ProcessNode.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.*;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@Data
-@NodeEntity("问诊实例")
-public class ProcessNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("实例号")
- private String processNo;
-
- @Relationship(type = "问诊")
- private Set knowledgeBaseNodeSet;
-
- @Relationship(type = "诊断")
- private Set physicalNodeSet;
-
- @Relationship(type = "诊断")
- private Set ancillaryNodeSet;
-
- @Relationship(type = "处置计划")
- private DisposalMethodNode disposalMethodNode;
-
- @Relationship(type = "排除诊断")
- private Set excludeDiagnosisNodeSet;
-
- @Relationship(type = "最终诊断")
- private Set finalDiagnosisNodeSet;
-
- public ProcessNode(String processNo) {
- this.processNo = processNo;
- knowledgeBaseNodeSet = new HashSet<>();
- physicalNodeSet = new HashSet<>();
- ancillaryNodeSet = new HashSet<>();
- excludeDiagnosisNodeSet = new HashSet<>();
- finalDiagnosisNodeSet = new HashSet<>();
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/TreatmentPlanNode.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/TreatmentPlanNode.java
deleted file mode 100644
index e4be63bf..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/node/TreatmentPlanNode.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.supervision.neo4j.node;
-
-import lombok.Data;
-import org.neo4j.ogm.annotation.*;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@Data
-@NodeEntity("处置措施")
-public class TreatmentPlanNode {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Property("处置计划")
- private String treatmentPlanName;
-
- @Relationship("所属药品")
- private Set drugNodeSet;
-
- public TreatmentPlanNode(String treatmentPlanName) {
- this.treatmentPlanName = treatmentPlanName;
- drugNodeSet = new HashSet<>();
- }
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/AncillaryRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/AncillaryRepository.java
deleted file mode 100644
index 3ee64fdc..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/AncillaryRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.AncillaryNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface AncillaryRepository extends Neo4jRepository {
-
-
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/DiseaseRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/DiseaseRepository.java
deleted file mode 100644
index 0a7c6ec0..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/DiseaseRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.DiseaseNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DiseaseRepository extends Neo4jRepository {
-
-
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/KnowledgeRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/KnowledgeRepository.java
deleted file mode 100644
index a34f5d50..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/KnowledgeRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.KnowledgeBaseNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface KnowledgeRepository extends Neo4jRepository {
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalRepository.java
deleted file mode 100644
index d74a0189..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.PhysicalNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface PhysicalRepository extends Neo4jRepository {
-
-
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalToolRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalToolRepository.java
deleted file mode 100644
index df15bf87..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/PhysicalToolRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.PhysicalToolNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface PhysicalToolRepository extends Neo4jRepository {
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/ProcessRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/ProcessRepository.java
deleted file mode 100644
index 672b89f1..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/ProcessRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.ProcessNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ProcessRepository extends Neo4jRepository {
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/TreatmentPlanRepository.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/TreatmentPlanRepository.java
deleted file mode 100644
index 6b7a85ee..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/repo/TreatmentPlanRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.supervision.neo4j.repo;
-
-import com.supervision.neo4j.node.TreatmentPlanNode;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TreatmentPlanRepository extends Neo4jRepository {
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/GraphService.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/GraphService.java
deleted file mode 100644
index c30b221a..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/GraphService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.supervision.neo4j.service;
-
-public interface GraphService {
-
- void createGraph(String processId);
-
- void deleteNode();
-
- Object queryGraph(String process);
-}
diff --git a/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/impl/GraphServiceImpl.java b/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/impl/GraphServiceImpl.java
deleted file mode 100644
index 0edbed7d..00000000
--- a/virtual-patient-graph/src/main/java/com/supervision/neo4j/service/impl/GraphServiceImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package com.supervision.neo4j.service.impl;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
-import com.supervision.exception.BusinessException;
-import com.supervision.model.Process;
-import com.supervision.model.*;
-import com.supervision.neo4j.node.*;
-import com.supervision.neo4j.repo.*;
-import com.supervision.neo4j.service.GraphService;
-import com.supervision.service.*;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.neo4j.driver.Driver;
-import org.neo4j.driver.Record;
-import org.neo4j.driver.Result;
-import org.neo4j.driver.Session;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-@Service
-@Slf4j
-@RequiredArgsConstructor
-public class GraphServiceImpl implements GraphService {
-
- private final DiseaseService diseaseService;
-
- private final MedicalRecService medicalRecService;
-
- private final ProcessMedicalService processMedicalService;
-
- private final ConfigPhysicalToolService configPhysicalToolService;
-
- private final ConfigPhysicalLocationService configPhysicalLocationService;
-
- private final ConfigAncillaryItemService configAncillaryItemService;
-
- private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
-
- private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService;
-
- private final DiagnosisPrimaryRelationService relationService;
-
- private final DiagnosisPrimaryService diagnosisPrimaryService;
-
- private final DiseasePhysicalService diseasePhysicalService;
-
- private final DiseaseAncillaryService diseaseAncillaryService;
-
- private final ProcessService processService;
-
- private final TreatmentPlanRecordService treatmentPlanRecordService;
-
- private final ConfigTreatmentPlanService configTreatmentPlanService;
-
- private final ConfigDrugService configDrugService;
-
- private final DiseaseRepository diseaseRepository;
-
- private final AncillaryRepository ancillaryRepository;
-
- private final PhysicalRepository physicalRepository;
-
- private final ProcessRepository processRepository;
-
- private final KnowledgeRepository knowledgeRepository;
-
- private final PhysicalToolRepository physicalToolRepository;
-
- private final TreatmentPlanRepository treatmentPlanRepository;
-
- private final Driver driver;
-
-
- @Override
- public void createGraph(String processId) {
- Process process = Optional.ofNullable(processService.getById(processId)).orElseThrow(() -> new BusinessException("未找到流程"));
- ProcessNode processNode = new ProcessNode("问诊实例" + process.getProcessNo());
- // 生成知识库的关联关系
- createKnowledge(processId, process, processNode);
- // 找到process关联的所有初步诊断
- Map diseaseNodeMap = new HashMap<>();
- List diagnosisPrimaryList = diagnosisPrimaryService.lambdaQuery().eq(DiagnosisPrimary::getProcessId, processId).list();
- if (CollUtil.isNotEmpty(diagnosisPrimaryList)) {
- Set diseaseIdSet = diagnosisPrimaryList.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toSet());
- List diseases = diseaseService.listByIds(diseaseIdSet);
- for (Disease disease : diseases) {
- DiseaseNode diseaseNode = new DiseaseNode(disease.getDiseaseNameAlias());
- diseaseRepository.save(diseaseNode);
- diseaseNodeMap.put(disease.getId(), diseaseNode);
- }
-
- }
- // 体格检查结果
- createPhysical(processId, processNode, diseaseNodeMap);
- // 辅助检查结果
- createAncillary(processId, processNode, diseaseNodeMap);
- // 生成处置项
- createTreatment(processId, processNode);
- for (DiagnosisPrimary diagnosisPrimary : diagnosisPrimaryList) {
- // 生成最终诊断和排除诊断
- if (ObjectUtil.isNotEmpty(diagnosisPrimary.getExcludeFlag())) {
- if (1 == diagnosisPrimary.getExcludeFlag()) {
- Optional.ofNullable(diseaseNodeMap.get(diagnosisPrimary.getPrimaryDiagnosisId())).ifPresent(diseaseNode -> {
- processNode.getFinalDiagnosisNodeSet().add(diseaseNode);
- });
- }
- if (0 == diagnosisPrimary.getExcludeFlag()) {
- Optional.ofNullable(diseaseNodeMap.get(diagnosisPrimary.getPrimaryDiagnosisId())).ifPresent(diseaseNode -> {
- processNode.getExcludeDiagnosisNodeSet().add(diseaseNode);
- });
-
- }
- }
- }
- processRepository.save(processNode);
-
- }
-
- private void createTreatment(String processId, ProcessNode processNode) {
-
-
- List treatmentPlanRecordList = treatmentPlanRecordService.lambdaQuery().eq(TreatmentPlanRecord::getProcessId, processId).list();
- // 生成处置计划
- treatmentPlanRecordList.stream().findAny().ifPresent(record -> {
- if (ObjectUtil.isNotEmpty(record.getDisposalMethod())) {
- DisposalMethodNode disposalMethodNode = new DisposalMethodNode(1 == record.getDisposalMethod() ? "住院治疗" : "门诊治疗");
- processNode.setDisposalMethodNode(disposalMethodNode);
- // 首先生成非药品的
- treatmentPlanRecordList.stream().filter(e -> StrUtil.isNotBlank(e.getTreatmentPlanId())).forEach(e -> {
- Optional.ofNullable(configTreatmentPlanService.getById(e.getTreatmentPlanId())).ifPresent(relation -> {
- TreatmentPlanNode treatmentPlanNode = new TreatmentPlanNode(relation.getDisposalPlan() + "," + relation.getFirstMeasures());
- disposalMethodNode.getTreatmentPlanNodeSet().add(treatmentPlanNode);
- });
- });
- // 生成药品的
- List drugRecordList = treatmentPlanRecordList.stream().filter(e -> StrUtil.isBlank(e.getTreatmentPlanId()) && StrUtil.isNotBlank(e.getDrugId())).collect(Collectors.toList());
- if (CollUtil.isNotEmpty(drugRecordList)) {
- TreatmentPlanNode treatmentPlanNode = new TreatmentPlanNode("药品");
- disposalMethodNode.getTreatmentPlanNodeSet().add(treatmentPlanNode);
- for (TreatmentPlanRecord drugRecord : drugRecordList) {
- Optional.ofNullable(configDrugService.getById(drugRecord.getDrugId())).ifPresent(configDrug -> {
- DrugNode drugNode = new DrugNode(configDrug.getDrugName());
- treatmentPlanNode.getDrugNodeSet().add(drugNode);
- });
- }
- }
- }
- });
- }
-
- /**
- * 辅助检查
- *
- * @param processId 实例ID
- * @param processNode 实例节点
- * @param diseaseMap 疾病集合
- */
- private void createAncillary(String processId, ProcessNode processNode, Map diseaseMap) {
- List diagnosisAncillaryRecordList = diagnosisAncillaryRecordService.lambdaQuery().eq(DiagnosisAncillaryRecord::getProcessId, processId).list();
- for (DiagnosisAncillaryRecord diagnosisAncillaryRecord : diagnosisAncillaryRecordList) {
- Optional.ofNullable(configAncillaryItemService.getById(diagnosisAncillaryRecord.getAncillaryId())).ifPresent(ancillaryItem -> {
- Optional.ofNullable(diseaseAncillaryService.getById(diagnosisAncillaryRecord.getAncillaryId())).ifPresent(diseaseAncillary -> {
- // 根据预期诊断结果判断
- String expectedDiagnosisResult = (ObjectUtil.isNotNull(diseaseAncillary.getExpectedDiagnosisResult()) && 1 == diseaseAncillary.getExpectedDiagnosisResult()) ? "异常" : "正常";
- AncillaryNode ancillaryNode = new AncillaryNode(ancillaryItem.getItemName() + ":" + expectedDiagnosisResult);
- // 诊断依据
- Optional relationOptional = relationService.lambdaQuery().eq(DiagnosisPrimaryRelation::getRelationId, diagnosisAncillaryRecord.getId()).oneOpt();
- if (relationOptional.isPresent()) {
- DiagnosisPrimaryRelation primaryRelation = relationOptional.get();
- Optional primaryOptional = Optional.ofNullable(diagnosisPrimaryService.getById(primaryRelation.getPrimaryId()));
- primaryOptional.flatMap(diagnosisPrimary -> Optional.ofNullable(diseaseMap.get(diagnosisPrimary.getPrimaryDiagnosisId()))).ifPresent(diseaseNode -> {
- ancillaryNode.getDiseaseNodeSet().add(diseaseNode);
- });
- }
- processNode.getAncillaryNodeSet().add(ancillaryNode);
- });
- });
- }
- }
-
- private void createPhysical(String processId, ProcessNode processNode, Map diseaseMap) {
- List physicalRecordList = diagnosisPhysicalRecordService.lambdaQuery().eq(DiagnosisPhysicalRecord::getProcessId, processId).list();
-
- for (DiagnosisPhysicalRecord diagnosisPhysicalRecord : physicalRecordList) {
- Optional.ofNullable(diseasePhysicalService.getById(diagnosisPhysicalRecord.getPhysicalId())).ifPresent(diseasePhysical -> {
- // 构建工具
- if (StrUtil.isNotBlank(diagnosisPhysicalRecord.getToolId())) {
- Optional.ofNullable(configPhysicalToolService.getById(diagnosisPhysicalRecord.getToolId())).ifPresent(tool -> {
- PhysicalNode physicalNode = new PhysicalNode(tool.getToolName());
- // 构建所属位置
- if (StrUtil.isNotBlank(diagnosisPhysicalRecord.getLocationId())) {
- Optional locationOptional = Optional.ofNullable(configPhysicalLocationService.getById(diagnosisPhysicalRecord.getLocationId()));
- locationOptional.ifPresent(configPhysicalTool -> {
- // 根据是否有异常值,如果有异常结果,认为是异常
- String expectedDiagnosisResult = ObjectUtil.isNotEmpty(diseasePhysical.getResult()) ? "正常" : "异常";
- PhysicalToolNode physicalToolNode = new PhysicalToolNode(configPhysicalTool.getLocationName() + ":" + expectedDiagnosisResult);
- physicalNode.getPhysicalToolNodeSet().add(physicalToolNode);
- });
- }
- // 找到关联的初步诊断
- List diagnosisPrimaryRelationList = relationService.lambdaQuery().eq(DiagnosisPrimaryRelation::getRelationId, diagnosisPhysicalRecord.getId()).list();
- for (DiagnosisPrimaryRelation primaryRelation : diagnosisPrimaryRelationList) {
- Optional primaryOptional = Optional.ofNullable(diagnosisPrimaryService.getById(primaryRelation.getPrimaryId()));
- primaryOptional.flatMap(diagnosisPrimary -> Optional.ofNullable(diseaseMap.get(diagnosisPrimary.getPrimaryDiagnosisId()))).ifPresent(diseaseNode -> physicalNode.getDiseaseNodeSet().add(diseaseNode));
- }
- processNode.getPhysicalNodeSet().add(physicalNode);
- });
-
- }
- });
-
- }
- }
-
- private void createKnowledge(String processId, Process process, ProcessNode processNode) {
- // 查询主诉作为知识库
- Optional medicalRecOptional = Optional.ofNullable(medicalRecService.getById(process.getMedicalRecId()));
- if (medicalRecOptional.isPresent()) {
- MedicalRec medicalRec = medicalRecOptional.get();
- KnowledgeBaseNode knowledgeBaseNode = new KnowledgeBaseNode(medicalRec.getSymptoms());
- processNode.getKnowledgeBaseNodeSet().add(knowledgeBaseNode);
- }
- // 个人史作为知识库
- Optional processMedicalOptional = processMedicalService.lambdaQuery().eq(ProcessMedical::getProcessId, processId).oneOpt();
- if (processMedicalOptional.isPresent()) {
- ProcessMedical processMedical = processMedicalOptional.get();
- if (ObjectUtil.isNotEmpty(processMedical.getFamilyHistoryFlag()) && 1 == processMedical.getFamilyHistoryFlag()
- && StrUtil.isNotBlank(processMedical.getFamilyHistory())) {
- KnowledgeBaseNode knowledgeBaseNode = new KnowledgeBaseNode("家族史:" + processMedical.getFamilyHistory());
- processNode.getKnowledgeBaseNodeSet().add(knowledgeBaseNode);
- }
- if (ObjectUtil.isNotEmpty(processMedical.getAllergyHistoryFlag()) && 1 == processMedical.getAllergyHistoryFlag()
- && StrUtil.isNotBlank(processMedical.getAllergyHistory())) {
- KnowledgeBaseNode knowledgeBaseNode = new KnowledgeBaseNode("过敏史:" + processMedical.getPersonalHistory());
- processNode.getKnowledgeBaseNodeSet().add(knowledgeBaseNode);
- }
- if (ObjectUtil.isNotEmpty(processMedical.getPreviousHistoryFlag()) && 1 == processMedical.getPreviousHistoryFlag()
- && StrUtil.isNotBlank(processMedical.getPreviousHistory())) {
- KnowledgeBaseNode knowledgeBaseNode = new KnowledgeBaseNode("既往史:" + processMedical.getPreviousHistory());
- processNode.getKnowledgeBaseNodeSet().add(knowledgeBaseNode);
- }
- if (ObjectUtil.isNotEmpty(processMedical.getOperationHistoryFlag()) && 1 == processMedical.getOperationHistoryFlag()
- && StrUtil.isNotBlank(processMedical.getOperationHistory())) {
- KnowledgeBaseNode knowledgeBaseNode = new KnowledgeBaseNode("手术史:" + processMedical.getOperationHistory());
- processNode.getKnowledgeBaseNodeSet().add(knowledgeBaseNode);
- }
- }
- }
-
-
- @Override
- public void deleteNode() {
- diseaseRepository.deleteAll();
- ancillaryRepository.deleteAll();
- physicalRepository.deleteAll();
- processRepository.deleteAll();
- knowledgeRepository.deleteAll();
- physicalToolRepository.deleteAll();
- treatmentPlanRepository.deleteAll();
- }
-
- @Override
- public Object queryGraph(String processId) {
- try (Session session = driver.session()) {
- Result result = session.run("MATCH (n) RETURN n LIMIT 25");
- List list = result.list();
- return JSONUtil.toJsonStr(list);
- }
- }
-}
diff --git a/virtual-patient-graph/src/main/resources/application-dev.yml b/virtual-patient-graph/src/main/resources/application-dev.yml
index b522af25..b3cc9b2f 100644
--- a/virtual-patient-graph/src/main/resources/application-dev.yml
+++ b/virtual-patient-graph/src/main/resources/application-dev.yml
@@ -50,11 +50,7 @@ spring:
host: 192.168.10.138
port: 6379
password: 123456
- data:
- neo4j:
- uri: bolt://192.168.10.138:7687
- username: neo4j
- password: 123456
+
nebula:
ngbatis:
use-session-pool: true
diff --git a/virtual-patient-web/src/main/resources/bootstrap.yml b/virtual-patient-web/src/main/resources/bootstrap.yml
index 09f83caa..993c72e6 100644
--- a/virtual-patient-web/src/main/resources/bootstrap.yml
+++ b/virtual-patient-web/src/main/resources/bootstrap.yml
@@ -1,5 +1,5 @@
spring:
profiles:
- active: test
+ active: dev
application:
name: virtual-patient-web
\ No newline at end of file