Browse Source

更新开单合理性的图谱节点查询的方法

MarkHuang 4 years atrás
parent
commit
3e8855ac4e

+ 43 - 58
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -9,27 +9,11 @@ import com.diagbot.dto.HighRiskNeoDTO;
 import com.diagbot.dto.NeoPushDTO;
 import com.diagbot.dto.StandConvertCrfBatchDTO;
 import com.diagbot.dto.StandConvertCrfDTO;
-import com.diagbot.entity.node.ICDDisease;
-import com.diagbot.entity.node.Medicine;
-import com.diagbot.entity.node.Medicine_Anatomy;
-import com.diagbot.entity.node.Medicine_Code;
+import com.diagbot.entity.node.*;
 import com.diagbot.enums.StandConvertEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
-import com.diagbot.repository.DiseaseRepository;
-import com.diagbot.repository.ICDDiseaseNode;
-import com.diagbot.repository.ICDDiseaseRepository;
-import com.diagbot.repository.LisNode;
-import com.diagbot.repository.LisPackNode;
-import com.diagbot.repository.LisPackRepository;
-import com.diagbot.repository.LisRepository;
-import com.diagbot.repository.MedicineCodeRepository;
-import com.diagbot.repository.MedicineNode;
-import com.diagbot.repository.MedicineRepository;
-import com.diagbot.repository.OperationNode;
-import com.diagbot.repository.OperationRepository;
-import com.diagbot.repository.PACSNode;
-import com.diagbot.repository.PacsRepository;
+import com.diagbot.repository.*;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RedisUtil;
 import com.diagbot.util.StringUtil;
@@ -65,19 +49,19 @@ public class NeoFacade {
     @Autowired
     MedicineRepository medicineRepository;
     @Autowired
-    PacsRepository pacsRepository;
+    PacsNameRepository pacsNameRepository;
     @Autowired
-    LisRepository lisRepository;
+    LisNameRepository lisNameRepository;
     @Autowired
-    LisPackRepository lisPackRepository;
+    LisSetRepository lisSetRepository;
     @Autowired
-    DiseaseRepository diseaseRepository;
+    YiBaoDiseaseRepository yiBaodiseaseRepository;
     @Autowired
-    OperationRepository operationRepository;
+    YiBaoOperationNameRepository yiBaoOperationRepository;
     @Autowired
     MedicineCodeRepository medicineCodeRepository;
     @Autowired
-    ICDDiseaseRepository icdDiseaseRepository;
+    YiBaoDiseaseRepository yiBaoDiseaseRepository;
     @Autowired
     ChiefPresentSimilarityServiceClient chiefPresentSimilarityServiceClient;
     @Autowired
@@ -101,24 +85,25 @@ public class NeoFacade {
         Iterator<Medicine> iterator = medicineRepository.findAll().iterator();
         Medicine current;
         String med_code, med_type;
-        List<Medicine_Code> medcodes;
-        List<Medicine_Anatomy> medcates;
+        List<MedCodeName> medcodename;
+        List<MedJiePouClass> medcates;
 
         while (iterator.hasNext()) {
             current = iterator.next();
-            if (null!=current.getMedicinecode_related_medicine() &&
-                    current.getMedicinecode_related_medicine().size() > 0) {
-                medcodes = new ArrayList<>(current.getMedicinecode_related_medicine());
-                for (Medicine_Code mcode : medcodes) {
-                    if (mcode.getMedicine_related_Anatomy().size()>0) {
+            if (null!=current.getMedcodenames() && current.getMedcodenames().size() > 0) {
+                medcodename = new ArrayList<>(current.getMedcodenames());
+                for (MedCodeName mcode : medcodename) {
+                    if (mcode.getMedjiepouclass().size()>0) {
                         med_code = mcode.getName();
-                        medcates = new ArrayList<>(mcode.getMedicine_related_Anatomy());
-                        med_type = medcates.get(0).getName();
-                        if (res.get(med_type) == null) {
-                            res.put(med_type, new ArrayList<>());
-                        }
-                        if (res.get(med_type).indexOf(med_code) == -1) {
-                            res.get(med_type).add(med_code);
+                        medcates = new ArrayList<>(mcode.getMedjiepouclass());
+                        if (ListUtil.isNotEmpty(medcates)) {
+                            med_type = medcates.get(0).getName();
+                            if (res.get(med_type) == null) {
+                                res.put(med_type, new ArrayList<>());
+                            }
+                            if (res.get(med_type).indexOf(med_code) == -1) {
+                                res.get(med_type).add(med_code);
+                            }
                         }
                     }
                 }
@@ -225,8 +210,8 @@ public class NeoFacade {
      */
     public List<BillNeoDTO> getDrugBill(Map<String, String> medsterm) {
 
-        MedicineNode medicineNode = new MedicineNode();
-        List<BillNeoDTO> billNeoDTOs = medicineNode.getDrugBill(medsterm, medicineRepository);
+        MedicineCodeNode medicineNode = new MedicineCodeNode();
+        List<BillNeoDTO> billNeoDTOs = medicineNode.getDrugBill(medsterm, medicineCodeRepository);
 
         return billNeoDTOs;
     }
@@ -237,8 +222,8 @@ public class NeoFacade {
      */
     public List<BillNeoDTO> getPacsBill(Map<String, String> pacsterm) {
 
-        PACSNode pacsNode = new PACSNode();
-        List<BillNeoDTO> billNeoDTOs = pacsNode.getPacsBill(pacsterm, pacsRepository);
+        PacsNameNode pacsNode = new PacsNameNode();
+        List<BillNeoDTO> billNeoDTOs = pacsNode.getPacsBill(pacsterm, pacsNameRepository);
 
         return billNeoDTOs;
     }
@@ -247,10 +232,10 @@ public class NeoFacade {
     /**
      * 处理化验套餐开单合理性
      */
-    public List<BillNeoDTO> getLisBill(Map<String, String> lispackterm) {
+    public List<BillNeoDTO> getLisBill(Map<String, String> lissetterm) {
 
-        LisPackNode lisPackNode = new LisPackNode();
-        List<BillNeoDTO> billNeoDTOs = lisPackNode.getLisBill(lispackterm, lisPackRepository);
+        LisSetNode lisSetNode = new LisSetNode();
+        List<BillNeoDTO> billNeoDTOs = lisSetNode.getLisBill(lissetterm, lisSetRepository);
 
         return billNeoDTOs;
     }
@@ -261,8 +246,8 @@ public class NeoFacade {
      */
     public List<BillNeoDTO> getLisDetailBill(Map<String, String> listerm) {
 
-        LisNode lisNode = new LisNode();
-        List<BillNeoDTO> billNeoDTOs = lisNode.getLisDetailBill(listerm, lisRepository);
+        LisNameNode lisNode = new LisNameNode();
+        List<BillNeoDTO> billNeoDTOs = lisNode.getLisDetailBill(listerm, lisNameRepository);
 
         return billNeoDTOs;
     }
@@ -270,12 +255,12 @@ public class NeoFacade {
 
 
     /**
-     * 处理化验开单合理性
+     * 处理手术开单合理性
      */
     public List<BillNeoDTO> getOperationBill(Map<String, String> listerm) {
 
-        OperationNode opNode = new OperationNode();
-        List<BillNeoDTO> billNeoDTOs = opNode.getOperationBill(listerm, operationRepository);
+        YiBaoOperationNameNode yiBaoOpNode = new YiBaoOperationNameNode();
+        List<BillNeoDTO> billNeoDTOs = yiBaoOpNode.getOperationBill(listerm, yiBaoOperationRepository);
 
         return billNeoDTOs;
     }
@@ -292,18 +277,18 @@ public class NeoFacade {
         List<NeoPushDTO> neoPushDTOs = new ArrayList<>();
         NeoPushDTO pushDTO;
 
-        ICDDiseaseNode icdDiseaseNode = new ICDDiseaseNode();
+        YiBaoDiseaseNode icdDiseaseNode = new YiBaoDiseaseNode();
         String term;
 
         for (Diag diag : neoPushVO.getDiagVo().getDiags()) {
             term = diag.getName();
-            List<ICDDisease> byNameIs = icdDiseaseRepository.findByNameIs(term);
-            ICDDisease icdDisease = null;
-            if(ListUtil.isNotEmpty(byNameIs)){
-                icdDisease = icdDiseaseRepository.findByNameIs(term).get(0);
+            List<YiBaoDiseaseName> yiBaoName = yiBaoDiseaseRepository.findByNameIs(term);
+            YiBaoDiseaseName icdDisease = null;
+            if(ListUtil.isNotEmpty(yiBaoName)){
+                icdDisease = yiBaoName.get(0);
             }
             if (icdDisease != null) {
-                pushDTO = icdDiseaseNode.ICDDiseasetoPushDTO(icdDisease, neoPushVO);
+                pushDTO = icdDiseaseNode.YiBaoDiseasetoDiseaseDTO(icdDisease, neoPushVO);
 
                 if (null != pushDTO) {
                     neoPushDTOs.add(pushDTO);
@@ -347,8 +332,8 @@ public class NeoFacade {
      * @return
      */
     public List<HighRiskNeoDTO> getHighRiskOperationList(Map<String, String> operations) {
-        OperationNode operationNode = new OperationNode();
-        List<HighRiskNeoDTO> highRiskNeoDTOS = operationNode.getHighRiskOperation(operations, operationRepository);
+        YiBaoOperationNameNode yiBaoOperationNode = new YiBaoOperationNameNode();
+        List<HighRiskNeoDTO> highRiskNeoDTOS = yiBaoOperationNode.getHighRiskOperation(operations, operationRepository);
 
         return highRiskNeoDTOS;
     }

+ 16 - 0
src/main/java/com/diagbot/repository/MedicineRepository.java

@@ -0,0 +1,16 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.MedCodeName;
+import com.diagbot.entity.node.Medicine;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+import java.util.List;
+
+
+public interface MedicineRepository extends Neo4jRepository<Medicine, Long> {
+
+    List<Medicine> findByNameIs(String name);
+
+    List<Medicine> findByNameLike(String name);
+}
+

+ 55 - 16
src/main/java/com/diagbot/repository/YiBaoDiseaseNode.java

@@ -3,17 +3,26 @@ package com.diagbot.repository;
 import com.diagbot.dto.*;
 import com.diagbot.entity.node.*;
 import com.diagbot.util.NeoUtil;
+import com.diagbot.vo.NeoPushVO;
 
 import java.math.BigDecimal;
 import java.util.*;
 
 public class YiBaoDiseaseNode {
 
-	public PushDTO YiBaoDiseasetoDiseaseDTO(YiBaoDiseaseName disease) {
+	public NeoPushDTO YiBaoDiseasetoDiseaseDTO(YiBaoDiseaseName disease, NeoPushVO neoPushVO) {
 
-        PushDTO pushDTO = new PushDTO();
+        NeoPushDTO pushDTO = new NeoPushDTO();
         PushBaseDTO pushBaseDTO;
 
+		int gender = neoPushVO.getSex();
+		int age = neoPushVO.getAge();
+
+		if (matchBasic(disease, gender, age)) {
+
+			pushBaseDTO = new PushBaseDTO();
+			pushBaseDTO.setName(disease.getName());
+			pushDTO.setDisease(pushBaseDTO);
 		/*
 		CureRate curerate = disease.getCurerate();
 		if (null != curerate) {
@@ -166,28 +175,58 @@ public class YiBaoDiseaseNode {
 		}
 		*/
 
-		Set<YiBaoICD_10Code> yiBaoICD10Codes = disease.getYibaoicd_10codes();
-		for (YiBaoICD_10Code code : yiBaoICD10Codes) {
-		    pushBaseDTO = new PushBaseDTO();
-		    pushBaseDTO.setName(code.getName());
-        }
+			Set<YiBaoICD_10Code> yiBaoICD10Codes = disease.getYibaoicd_10codes();
+			for (YiBaoICD_10Code code : yiBaoICD10Codes) {
+				pushBaseDTO = new PushBaseDTO();
+				pushBaseDTO.setName(code.getName());
+			}
 
 
-		Set<GuoLinICD_10Code> guoLinICD10Codes = disease.getGuolinicd_10codes();
-		for (GuoLinICD_10Code code : guoLinICD10Codes) {
-			pushBaseDTO = new PushBaseDTO();
-			pushBaseDTO.setName(code.getName());
-		}
+			Set<GuoLinICD_10Code> guoLinICD10Codes = disease.getGuolinicd_10codes();
+			for (GuoLinICD_10Code code : guoLinICD10Codes) {
+				pushBaseDTO = new PushBaseDTO();
+				pushBaseDTO.setName(code.getName());
+			}
 
-		Set<GuoLinDiseaseName> guoLinDiseaseNames = disease.getGuolindiseasenames();
-		for (GuoLinDiseaseName glname : guoLinDiseaseNames) {
-			pushBaseDTO = new PushBaseDTO();
-			pushBaseDTO.setName(glname.getName());
+			Set<GuoLinDiseaseName> guoLinDiseaseNames = disease.getGuolindiseasenames();
+			for (GuoLinDiseaseName glname : guoLinDiseaseNames) {
+				pushBaseDTO = new PushBaseDTO();
+				pushBaseDTO.setName(glname.getName());
+			}
 		}
 
 
 		return pushDTO;
 	}
 
+
+	private boolean matchBasic(YiBaoDiseaseName disease, int gender_code, int age) {
+		boolean match = true;
+
+		String gender = null;
+
+		if (gender_code==1) {
+			gender = "男";
+		}
+		else if (gender_code==2) {
+			gender = "女";
+		}
+
+		if (null!=disease.getGender() && gender!=null) {
+			if (!disease.getGender().contains(gender)) {
+				match = false;
+			}
+		}
+
+//		if (null!=disease.getAge()) {
+//			int min = disease.getAge().getMinval();
+//			int max = disease.getAge().getMaxval();
+//			if (age < min || age > max) {
+//				match = false;
+//			}
+//		}
+
+		return match;
+	}
 }
 

+ 3 - 1
src/main/java/com/diagbot/repository/YiBaoDiseaseRepository.java

@@ -3,9 +3,11 @@ package com.diagbot.repository;
 import com.diagbot.entity.node.YiBaoDiseaseName;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
 
+import java.util.List;
+
 
 public interface YiBaoDiseaseRepository extends Neo4jRepository<YiBaoDiseaseName, Long> {
 
-    YiBaoDiseaseName findByNameIs(String name);
+    List<YiBaoDiseaseName> findByNameIs(String name);
 }
 

+ 0 - 110
src/main/java/com/diagbot/service/GraphService.java

@@ -1,110 +0,0 @@
-package com.diagbot.service;
-
-/*
-import com.lantone.entity.node.*;
-import com.lantone.entity.node.base.BaseNode;
-import com.lantone.entity.relationship.*;
-import org.springframework.data.repository.query.Param;
-
-import java.util.List;
-import java.util.Map;
-
-public interface GraphService {
-
-
-//    Disease addDisease(Disease disease);
-//    List<Disease> find(Disease disease);
-    Disease findDiseasebyName(String name);
-//    Disease findOneDisease(long id);
-//    void deleteOneDisease(long id);
-
-
-
-    Symptom addSymptom(Symptom symptom);
-    List<Symptom> find(Symptom symptom);
-    Symptom findSymptombyName(String name);
-//    List<Symptom> getAllSymptom();
-
-
-    /*
-    Vital addVital(Vital vital);
-    List<Vital> find(Vital vital);
-
-    Age addAge(Age age);
-    Age find(Age age);
-
-    Gender addGender(Gender gender);
-    List<Gender> find(Gender gender);
-
-    PACS addPACS(PACS pacs);
-
-    PACSResult addPACSResult(PACSResult pacsResult);
-
-    /*
-    Surgery addSurgery(Surgery surgery);
-
-    PreMDC addPreMDC(PreMDC preMDC);
-
-    MDC addMDC(MDC mdc);
-
-    MDC findMDC(String code);
-    MDC findMDC(String code, String name);
-
-    ADRG addADRG(ADRG adrg);
-
-    ADRG findADRG(String code, String name);
-    */
-
-    /*
-    ICD addICD(ICD icd);
-    ICD10 addICD10(ICD10 icd10);
-//    ICD11 addICD11(ICD11 icd11);
-
-    Ward addWard(Ward ward);
-    Incidence addIncidence(Incidence incidence);
-    Disease_Alias addDiseaseAlias(Disease_Alias disease_alias);
-    *
-    Symptom_Alias addSymptomAlias(Symptom_Alias symptom_alias);
-    /*
-    InfectiousGroup addInfectiousGroup(InfectiousGroup infectiousGroup);
-    InfectionRoute addInfectionRoute(InfectionRoute infectionRoute);
-    TreatmentCycle addTreatmentCycle(TreatmentCycle treatmentCycle);
-    CureRate addCureRate(CureRate cureRate);
-
-//    void connectDiseasetoICD10(Disease disease, ICD10 icd10, String relation);
-
-    Disease_ICD DiseasetoICD(Disease disease, ICD icd, String relation);
-    Disease_ICD10 DiseasetoICD10(Disease disease, ICD10 icd10, String relation);
-    Disease_Symptom DiseasetoSymptom(Disease disease, Symptom symptom, String relation);
-    Disease_Vital DiseasetoVital(Disease disease, Vital vital, String relation);
-    Disease_Ward DiseasetoWard(Disease disease, Ward ward, String relation);
-    Disease_StdWard DiseasetoStdWard(Disease disease, Ward ward, String relation);
-    Disease_Disease DiseasetoDisease(Disease disease, Disease diff_disease, String relation);
-    Disease_Incidence DiseasetoIncidence(Disease disease, Incidence incidence, String relation);
-    Disease_Gender DiseasetoGender(Disease disease, Gender gender, String relation);
-    Disease_DiseaseAlias DiseasetoDiseaseAlias(Disease disease, Disease_Alias disease_alias, String relation);
-    Disease_InfectiousGroup DiseasetoInfectiousGroup(Disease disease, InfectiousGroup infectiousGroup, String relation);
-    Disease_InfectionRoute DiseasetoInfectionRoute(Disease disease, InfectionRoute infectionRoute, String relation);
-    Disease_TreatmentCycle DiseasetoTreatmentCycle(Disease disease, TreatmentCycle treatmentCycle, String relation);
-    Disease_CureRate DiseasetoCureRate(Disease disease, CureRate cureRate, String relation);
-    Disease_Age DiseasetoAge(Disease disease, Age age, String relation);
-    *
-    Symptom_SymptomAlias SymptomtoSymptomAlias(Symptom symptom, Symptom_Alias symptom_alias, String relation);
-
-
-    List<BaseNode> getNodesbyName(String name);
-    List<BaseNode> getNodesbyName_Relation(String name, String relation);
-    List<List<String>> getLabels();
-
-    /*
-    List<Map<String, Object>> getS_D_W_Relations(String symp);
-    List<Map<String, Object>> getS2_D_W_Relations(String symp1, String symp2);
-    List<Map<String, Object>> getS3_D_W_Relations(String symp1, String symp2, String symp3);
-
-    List<Map<String, Object>> getRelatedSympsbyWard(String ward);
-    List<Map<String, Object>> getRelatedDiseasebyWard(List<String> wards);
-
-
-
-}
-*/

+ 0 - 808
src/main/java/com/diagbot/service/impl/GraphServiceImpl.java

@@ -1,808 +0,0 @@
-package com.diagbot.service.impl;
-
-/*
-import com.lantone.entity.node.*;
-import com.lantone.entity.node.base.BaseNode;
-import com.lantone.entity.relationship.*;
-import com.lantone.repository.*;
-import com.lantone.service.GraphService;
-
-//import org.apache.commons.collections4.IteratorUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.neo4j.driver.types.Node;
-import org.neo4j.driver.types.Path;
-
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Pageable;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-
-@Service
-public class GraphServiceImpl implements GraphService {
-    Logger logger = LoggerFactory.getLogger(GraphServiceImpl.class);
-
-
-    @Autowired
-    private DiseaseRepository diseaseRepository;
-    @Autowired
-    private SymptomRepository symptomRepository;
-    /*
-    @Autowired
-    private VitalRepository vitalRepository;
-    @Autowired
-    private PACSRepository pacsRepository;
-    @Autowired
-    private PACSResultRepository pacsResultRepository;
-    @Autowired
-    private SurgeryRepository surgeryRepository;
-    @Autowired
-    private GenderRepository genderRepository;
-    @Autowired
-    private DiseaseAliasRepository diseaseAliasRepository;
-    *
-    @Autowired
-    private SymptomAliasRepository symptomAliasRepository;
-    /*
-    @Autowired
-    private InfectiousGroupRepository infectiousGroupRepository;
-    @Autowired
-    private InfectionRouteRepository infectionRouteRepository;
-    @Autowired
-    private TreatmentCycleRepository treatmentCycleRepository;
-    @Autowired
-    private CureRateRepository cureRateRepository;
-    @Autowired
-    private AgeRepository ageRepository;
-    *
-    @Autowired
-    private BaseNodeRepository baseNodeRepository;
-
-    /*
-    @Autowired
-    private ADRGRepository adrgRepository;
-    @Autowired
-    private PreMDCRepository preMDCRepository;
-    @Autowired
-    private MDCRepository mdcRepository;
-    *
-    @Autowired
-    private ICDRepository icdRepository;
-    @Autowired
-    private ICD10Repository icd10Repository;
-    /*
-    @Autowired
-    private ICD11Repository icd11Repository;
-    */
-    /*
-    @Autowired
-    private IncidenceRepository incidenceRepository;
-    @Autowired
-    private WardRepository wardRepository;
-    *
-    @Autowired
-    private BaseRelationRepository baseRelationRepository;
-
-    private List<BaseNode> baseNodes;
-
-    private Pageable pageable;
-
-
-    /**
-     * 删除所有节点
-     *
-    @Override
-    public void removeNodes() {
-        baseNodeRepository.removeNodes();
-    }
-
-
-
-    /**
-     * 删除所有preMDC节点
-     *
-    @Override
-    public void removePreMDC() {
-        baseNodeRepository.removePreMDC();
-    }
-
-
-    /**
-     * 删除所有MDC节点
-     *
-    @Override
-    public void removeMDC() {
-        baseNodeRepository.removeMDC();
-    }
-
-    /**
-     * 删除所有DRG节点
-     *
-    @Override
-    public void removeADRG() {
-        baseNodeRepository.removeADRG();
-    }
-
-    /**
-     * 删除所有ICD节点
-     *
-    @Override
-    public void removeICD() {
-        baseNodeRepository.removeICD();
-    }
-
-    /**
-     * 处理症状节点相关的申请
-     *
-    @Override
-    public Symptom addSymptom(Symptom symptom) {
-        return symptomRepository.add(symptom.getName());
-    }
-
-
-    @Override
-    public Symptom findSymptombyName(String name) {
-        return symptomRepository.findbyNameIs(name);
-    }
-
-    @Override
-    public List<Symptom> find(Symptom symptom) {
-        return symptomRepository.findbyNameLike(symptom.getName());
-    }
-
-    /*
-    @Override
-    public void deleteOneSymptom(long id) {
-        symptomRepository.deleteById(id);
-    }
-    *
-
-
-    @Override
-    public List<Symptom> getAllSymptom() {
-//        pageable = getPageable(pageVo);
-        return IteratorUtils.toList(symptomRepository.findAll().iterator());
-    }
-    */
-
-
-    /**
-     * 处理体征节点相关的申请
-     *
-    @Override
-    public Vital addVital(Vital vital) {
-        return vitalRepository.add(vital.getName());
-    }
-
-    @Override
-    public List<Vital> find(Vital vital) {
-        return vitalRepository.find(vital.getName());
-    }
-
-
-    /**
-     * 处理年龄节点相关的申请
-     *
-    @Override
-    public Age addAge(Age age) {
-        return ageRepository.add(age.getName());
-    }
-
-    @Override
-    public Age find(Age age) {
-        return ageRepository.find(age.getName());
-    }
-
-
-    /**
-     * 处理性别节点相关的申请
-     *
-    @Override
-    public Gender addGender(Gender gender) { return genderRepository.add(gender.getName()); }
-
-    @Override
-    public List<Gender> find(Gender gender) { return genderRepository.find(gender.getName()); }
-
-    /**
-     * 处理疾病节点相关的申请
-     *
-    @Override
-    public Disease addDisease(Disease disease) {
-        return diseaseRepository.add(disease.getName());
-    }
-
-    /*
-    @Override
-    public Disease findOneDisease(long id) {
-        return diseaseRepository.findById(id).get();
-    }
-    *
-
-
-    @Override
-    public Disease findDiseasebyName(String name) {
-        return diseaseRepository.findByNameIs(name);
-    }
-
-
-    /*
-    @Override
-    public List<Disease> find(Disease disease) {
-        return diseaseRepository.findByNameLike(disease.getName());
-    }
-
-
-    @Override
-    public void deleteOneDisease(long id) {
-        diseaseRepository.deleteById(id);
-    }
-
-
-    /**
-     * 处理辅检节点相关的申请
-     *
-    @Override
-    public PACS addPACS(PACS pacs) {
-        return pacsRepository.add(pacs.getName());
-    }
-
-    /**
-     * 处理辅检结果节点相关的申请
-     *
-    @Override
-    public PACSResult addPACSResult(PACSResult pacsResult) {
-        return pacsResultRepository.add(pacsResult.getName());
-    }
-
-
-
-    /**
-     * 处理手术节点相关的申请
-     *
-    @Override
-    public Surgery addSurgery(Surgery surgery) {
-        return surgeryRepository.save(surgery);
-    }
-
-    /**
-     * 添加先期处理节点
-     *
-    @Override
-    public PreMDC addPreMDC(PreMDC preMDC) { return preMDCRepository.save(preMDC); }
-
-    /**
-     * 添加主要诊断大类节点
-     *
-    @Override
-    public MDC addMDC(MDC mdc) { return mdcRepository.save(mdc); }
-
-    /**
-     * 查找主要诊断大类节点
-     *
-    @Override
-    public MDC findMDC(String code) { return mdcRepository.find(code); }
-
-    @Override
-    public MDC findMDC(String code, String name) { return mdcRepository.find(code, name); }
-
-    /**
-     * 添加诊断相关组节点
-     *
-    @Override
-    public ADRG addADRG(ADRG adrg) { return adrgRepository.save(adrg); }
-
-    /**
-     * 查找诊断相关组节点
-     *
-    @Override
-    public ADRG findADRG(String code, String name) { return adrgRepository.find(code, name); }
-
-
-    /**
-     * 添加ICD节点
-     *
-    @Override
-    public ICD addICD(ICD icd) { return icdRepository.add(icd.getName()); }
-
-
-    /**
-     * 添加ICD-10节点
-     *
-    @Override
-    public ICD10 addICD10(ICD10 icd10) { return icd10Repository.add(icd10.getName()); }
-
-
-    /**
-     * 添加ICD-11节点
-     *
-    @Override
-    public ICD11 addICD11(ICD11 icd11) { return icd11Repository.add(icd11.getName()); }
-
-
-    /**
-     * 添加科室节点
-     *
-    @Override
-    public Ward addWard(Ward ward) {
-        String name = ward.getName();
-        if (StringUtils.isNumeric(ward.getName().substring(0,1))) {
-            name = ward.getName().substring(1);
-        }
-        return wardRepository.add(name);
-    }
-
-
-    /**
-     * 添加疾病别名节点
-     *
-    @Override
-    public Disease_Alias addDiseaseAlias(Disease_Alias disease_alias) {
-        return diseaseAliasRepository.add(disease_alias.getName());
-    }
-
-
-    /**
-     * 添加症状别名节点
-     *
-    @Override
-    public Symptom_Alias addSymptomAlias(Symptom_Alias symptom_alias) {
-        return symptomAliasRepository.add(symptom_alias.getName());
-    }
-
-    /**
-     * 添加疾病易发人群节点
-     *
-    @Override
-    public InfectiousGroup addInfectiousGroup(InfectiousGroup infectiousGroup) {
-        return infectiousGroupRepository.add(infectiousGroup.getName());
-    }
-
-
-    /**
-     * 处理传染途径节点相关的申请
-     *
-    @Override
-    public InfectionRoute addInfectionRoute(InfectionRoute infectionRoute) {
-        return infectionRouteRepository.add(infectionRoute.getName());
-    }
-
-
-    /**
-     * 处理治疗周期节点相关的申请
-     *
-    @Override
-    public TreatmentCycle addTreatmentCycle(TreatmentCycle treatmentCycle) {
-        return treatmentCycleRepository.add(treatmentCycle.getName());
-    }
-
-
-    /**
-     * 处理治愈率节点相关的申请
-     *
-    @Override
-    public CureRate addCureRate(CureRate cureRate) {
-        return cureRateRepository.add(cureRate.getName());
-    }
-
-
-    /**
-     * 处理疾病节点到ICD10节点间关系
-     * @param
-     * @return
-     *
-    @Override
-    public void connectDiseasetoICD10(Disease disease, ICD10 icd10, String relation) {
-        baseNodeRepository.connectDiseasetoICD10(disease.getName(), icd10.getName(), relation);
-    }
-    */
-
-
-    /**
-     * 处理疾病节点到ICD节点间关系
-     * @param
-     * @return
-     *
-    @Override
-    public Disease_ICD DiseasetoICD(Disease disease, ICD icd, String relation) {
-        Disease_ICD disease_icd = baseRelationRepository.DiseasetoICD(disease.getName(), icd.getName(), relation);
-
-        if (null != disease_icd) {
-            disease = disease_icd.getDisease();
-            icd = disease_icd.getIcd();
-
-            if (null != disease && null != icd) {
-                disease.setIcd(icd);
-                icd.setDisease(disease);
-            }
-        }
-
-        return disease_icd;
-    }
-
-    /**
-     * 处理疾病节点到ICD10节点间关系
-     * @param
-     * @return
-     *
-    @Override
-    public Disease_ICD10 DiseasetoICD10(Disease disease, ICD10 icd10, String relation) {
-        Disease_ICD10 disease_icd10 = baseRelationRepository.DiseasetoICD10(disease.getName(), icd10.getName(), relation);
-
-        if (null != disease_icd10) {
-            disease = disease_icd10.getDisease();
-            icd10 = disease_icd10.getIcd10();
-
-            if (null != disease && null != icd10) {
-                disease.setIcd10(icd10);
-                icd10.setDisease(disease);
-            }
-        }
-
-        return disease_icd10;
-    }
-
-    /**
-     * 添加发病率节点
-     *
-    @Override
-    public Incidence addIncidence(Incidence incidence) { return incidenceRepository.add(incidence.getName()); }
-
-
-    /**
-     * 处理疾病节点到发病率节点间的关系
-     *
-    @Override
-    public Disease_Incidence DiseasetoIncidence(Disease disease, Incidence incidence, String relation) {
-        Disease_Incidence disease_incidence =
-                baseRelationRepository.DiseasetoIncidence(disease.getName(), incidence.getName(), relation);
-
-        if (null != disease_incidence) {
-            disease = disease_incidence.getDisease();
-            incidence = disease_incidence.getIncidence();
-
-            if (null != disease && incidence != null) {
-                disease.setIncidence(incidence);
-                incidence.setDisease(disease);
-            }
-        }
-
-        return disease_incidence;
-    }
-
-
-    /**
-     * 处理疾病节点到症状的节点间关系
-     *
-    @Override
-    public Disease_Symptom DiseasetoSymptom(Disease disease, Symptom symptom, String relation) {
-        Disease_Symptom disease_symptom =
-                baseRelationRepository.DiseasetoSymptom(disease.getName(), symptom.getName(), relation);
-
-        if (null != disease_symptom) {
-            disease = disease_symptom.getDisease();
-            symptom = disease_symptom.getSymptom();
-
-            if (null != disease && null != symptom) {
-                disease.setSymptom(symptom);
-                symptom.setDisease(disease);
-            }
-        }
-
-        return disease_symptom;
-    }
-
-
-    /**
-     * 处理疾病节点到体征的节点间关系
-     *
-    @Override
-    public Disease_Vital DiseasetoVital(Disease disease, Vital vital, String relation) {
-        Disease_Vital disease_vital =
-                baseRelationRepository.DiseasetoVital(disease.getName(), vital.getName(), relation);
-
-        if (null != disease_vital) {
-            disease = disease_vital.getDisease();
-            vital = disease_vital.getVital();
-
-            if (null != disease && null != vital) {
-                disease.setVital(vital);
-                vital.setDisease(disease);
-            }
-        }
-
-        return disease_vital;
-    }
-
-
-    /**
-     * 处理疾病节点到性别的节点间关系
-     *
-    @Override
-    public Disease_Gender DiseasetoGender(Disease disease, Gender gender, String relation) {
-        Disease_Gender disease_gender =
-                baseRelationRepository.DiseasetoGender(disease.getName(), gender.getName(), relation);
-
-        if (null != disease_gender) {
-            disease = disease_gender.getDisease();
-            gender = disease_gender.getGender();
-
-        }
-
-        return disease_gender;
-    }
-
-    /**
-     * 处理疾病节点到疾病别名的节点之间关系
-     *
-    @Override
-    public Disease_DiseaseAlias DiseasetoDiseaseAlias(Disease disease, Disease_Alias disease_alias, String relation) {
-        Disease_DiseaseAlias disease_diseaseAlias  =
-                baseRelationRepository.DiseasetoDiseaseAlias(disease.getName(), disease_alias.getName(), relation);
-
-        if (null != disease_diseaseAlias) {
-            disease = disease_diseaseAlias.getDisease();
-            disease_alias = disease_diseaseAlias.getDisease_alias();
-        }
-
-        return  disease_diseaseAlias;
-    }
-
-
-    /**
-     * 处理症状节点到症状别名的节点之间关系
-     *
-    @Override
-    public Symptom_SymptomAlias SymptomtoSymptomAlias(Symptom symptom, Symptom_Alias symptom_alias, String relation) {
-        Symptom_SymptomAlias symptom_symptomAlias =
-                baseRelationRepository.SymptomtoSymptomAlias(symptom.getName(), symptom_alias.getName(), relation);
-
-        if (null != symptom_symptomAlias) {
-            symptom = symptom_symptomAlias.getSymptom();
-            symptom_alias = symptom_symptomAlias.getSymptom_alias();
-        }
-
-        return  symptom_symptomAlias;
-    }
-
-
-    /**
-     * 处理疾病节点到多发人群的节点之间关系
-     *
-    @Override
-    public Disease_InfectiousGroup DiseasetoInfectiousGroup(Disease disease, InfectiousGroup infectiousGroup, String relation) {
-        Disease_InfectiousGroup disease_infectiousGroup  =
-                baseRelationRepository.DiseasetoInfectiousGroup(disease.getName(), infectiousGroup.getName(), relation);
-
-        if (null != disease_infectiousGroup) {
-            disease = disease_infectiousGroup.getDisease();
-            infectiousGroup = disease_infectiousGroup.getInfectiousGroup();
-        }
-
-        return  disease_infectiousGroup;
-    }
-
-
-    /**
-     * 处理疾病节点到传染途径的节点间关系
-     *
-    @Override
-    public Disease_InfectionRoute DiseasetoInfectionRoute(Disease disease, InfectionRoute route, String relation) {
-        Disease_InfectionRoute disease_infectionRoute =
-                baseRelationRepository.DiseasetoInfectionRoute(disease.getName(), route.getName(), relation);
-
-        if (null != disease_infectionRoute) {
-            disease = disease_infectionRoute.getDisease();
-            route = disease_infectionRoute.getInfectionRoute();
-
-        }
-
-        return disease_infectionRoute;
-    }
-
-
-
-    /**
-     * 处理疾病节点到治疗周期的节点间关系
-     *
-    @Override
-    public Disease_TreatmentCycle DiseasetoTreatmentCycle(Disease disease, TreatmentCycle treatmentCycle, String relation) {
-        Disease_TreatmentCycle disease_treatmentCycle =
-                baseRelationRepository.DiseasetoTreatmentCycle(disease.getName(), treatmentCycle.getName(), relation);
-
-        if (null != disease_treatmentCycle) {
-            disease = disease_treatmentCycle.getDisease();
-            treatmentCycle = disease_treatmentCycle.getTreatmentCycle();
-
-        }
-
-        return disease_treatmentCycle;
-    }
-
-
-
-    /**
-     * 处理疾病节点到治愈率的节点间关系
-     *
-    @Override
-    public Disease_CureRate DiseasetoCureRate(Disease disease, CureRate cureRate, String relation) {
-        Disease_CureRate disease_cureRate =
-                baseRelationRepository.DiseasetoCureRate(disease.getName(), cureRate.getName(), relation);
-
-        if (null != disease_cureRate) {
-            disease = disease_cureRate.getDisease();
-            cureRate = disease_cureRate.getCureRate();
-
-        }
-
-        return disease_cureRate;
-    }
-
-
-
-
-
-    /**
-     * 处理疾病节点到科室的节点间关系
-     *
-    @Override
-    public Disease_Ward DiseasetoWard(Disease disease, Ward ward, String relation) {
-        String rank = ward.getName().substring(0,1);
-        String ward_name = ward.getName().substring(1);
-//        wardRepository.rename(ward.getName(), ward_name);
-        Disease_Ward disease_ward =
-                baseRelationRepository.DiseasetoWard(disease.getName(), ward_name, rank);
-
-        return disease_ward;
-    }
-
-
-    /**
-     * 处理疾病节点到标准科室的节点间关系
-     *
-    @Override
-    public Disease_StdWard DiseasetoStdWard(Disease disease, Ward ward, String relation) {
-
-        Disease_StdWard disease_stdward =
-                baseRelationRepository.DiseasetoStdWard(disease.getName(), ward.getName(), relation);
-
-        return disease_stdward;
-    }
-
-
-    /**
-     * 处理疾病节点到鉴别诊断的节点间关系
-     *
-    @Override
-    public Disease_Disease DiseasetoDisease(Disease disease, Disease diff, String relation) {
-        Disease_Disease disease_diff =
-                baseRelationRepository.DiseasetoDisease(disease.getName(), diff.getName(), relation);
-
-        if (null != disease_diff) {
-            disease = disease_diff.getDisease();
-            diff = disease_diff.getDiff_disease();
-
-            if (null != disease && null != diff) {
-                disease.setDisease(diff);
-            }
-        }
-
-        return disease_diff;
-    }
-
-
-
-    /**
-     * 处理疾病节点到年龄节点间关系
-     *
-    @Override
-    public Disease_Age DiseasetoAge(Disease disease, Age age, String relation) {
-        Disease_Age disease_age =
-                baseRelationRepository.DiseasetoAge(disease.getName(), age.getName(), relation);
-
-        if (null != disease_age) {
-            disease = disease_age.getDisease();
-            age = disease_age.getAge();
-
-            if (null != disease && null != age) {
-                disease.setAge(age);
-            }
-        }
-
-        return disease_age;
-    }
-
-    /*
-    @Override
-    public List<BaseRelation> getRelation(Long start_id, String name) {
-        return relationRepository.getRelation(start_id, name);
-    }
-    */
-
-    /**
-     * 根据节点的名称查询
-     * @param name
-     *
-    @Override
-    public List<BaseNode> getNodesbyName(String name) {
-        if (name.contains("*")) {
-            name = name.replaceAll("\\*",".\\*");
-            return baseNodeRepository.getNodesbyNameLike(name);
-        }
-        else {
-            return baseNodeRepository.getNodesbyNameIs(name);
-        }
-    }
-
-    /**
-     * 根据起始节点的名称和关系查询终止节点
-//     * @param name
-//     * @param relation
-     * @return List<BaseNode>
-     *
-    @Override
-    public List<BaseNode> getNodesbyName_Relation(String name, String relation) {
-        return baseNodeRepository.getNodesbyName_Relation(name, relation);
-    }
-
-
-
-    /**
-     * 获取所有标签
-     *
-    @Override
-    public List<List<String>> getLabels() {
-        return baseNodeRepository.getLabels();
-    }
-
-
-
-    /**
-     * 获取单个症状,疾病和科室的关系
-     *
-    @Override
-    public List<Map<String, Object>> getS_D_W_Relations(String symp) {
-        return baseRelationRepository.getS_D_WRelation(symp);
-    }
-
-    /**
-     * 获取两个症状,疾病和科室的关系
-     *
-    @Override
-    public List<Map<String, Object>> getS2_D_W_Relations(String symp1, String symp2) {
-        return baseRelationRepository.getS2_D_WRelation(symp1, symp2);
-    }
-
-
-    /**
-     * 获取三个症状,疾病和科室的关系
-     *
-    @Override
-    public List<Map<String, Object>> getS3_D_W_Relations(String symp1, String symp2, String symp3) {
-        return baseRelationRepository.getS3_D_WRelation(symp1, symp2, symp3);
-    }
-
-
-    /**
-     * 根据科室获取相关症状
-     *
-    @Override
-    public List<Map<String, Object>> getRelatedSympsbyWard(String ward) {
-        return  baseRelationRepository.getRelatedSympbyward(ward);
-    }
-
-
-    /**
-     * 根据科室及发病率获取相关诊断
-     *
-    @Override
-    public List<Map<String, Object>> getRelatedDiseasebyWard(List<String> wards) {
-        return baseRelationRepository.getRelatedDiseasebyward(wards);
-    }
-    *
-
-}
-     */