AiptServiceClient.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. package com.diagbot.client;
  2. import com.diagbot.biz.push.entity.ResponseData;
  3. import com.diagbot.biz.push.entity.SearchData;
  4. import com.diagbot.client.bean.CalculateData;
  5. import com.diagbot.client.bean.ConceptBaseVO;
  6. import com.diagbot.client.bean.ConceptExistVO;
  7. import com.diagbot.client.bean.DisTypeVO;
  8. import com.diagbot.client.bean.Treat;
  9. import com.diagbot.client.hystrix.AiptServiceHystrix;
  10. import com.diagbot.dto.ConceptBaseDTO;
  11. import com.diagbot.dto.ConceptIntroduceDTO;
  12. import com.diagbot.dto.ConceptRetrievalDTO;
  13. import com.diagbot.dto.DeptInfoDTO;
  14. import com.diagbot.dto.DictionaryInfoDTO;
  15. import com.diagbot.dto.DisScaleDTO;
  16. import com.diagbot.dto.DisTypeDTO;
  17. import com.diagbot.dto.DisclaimerInformationDTO;
  18. import com.diagbot.dto.DiseaseIcdDTO;
  19. import com.diagbot.dto.EvaluationDTO;
  20. import com.diagbot.dto.FeatureConceptDTO;
  21. import com.diagbot.dto.GetTopPatientInfoDTO;
  22. import com.diagbot.dto.IndexConfigAndDataDTO;
  23. import com.diagbot.dto.IndexConfigDTO;
  24. import com.diagbot.dto.PushDTO;
  25. import com.diagbot.dto.RespDTO;
  26. import com.diagbot.dto.RetrievalDTO;
  27. import com.diagbot.dto.ScaleIndexDTO;
  28. import com.diagbot.dto.VersionWrapperDTO;
  29. import com.diagbot.entity.ScaleContent;
  30. import com.diagbot.vo.ConceptFindVO;
  31. import com.diagbot.vo.ConceptIntroduceVO;
  32. import com.diagbot.vo.ConceptSearchVO;
  33. import com.diagbot.vo.ConceptUsualVO;
  34. import com.diagbot.vo.DeptInfoVO;
  35. import com.diagbot.vo.DisScaleVO;
  36. import com.diagbot.vo.ExistListByConceptIdsVO;
  37. import com.diagbot.vo.GetDiseaseIcdVO;
  38. import com.diagbot.vo.GetLisMappingVO;
  39. import com.diagbot.vo.GetStaticKnowledgeVO;
  40. import com.diagbot.vo.GetTopPatientInfoVO;
  41. import com.diagbot.vo.IndexConfigdiseaseNameVO;
  42. import com.diagbot.vo.IndexDataFindVO;
  43. import com.diagbot.vo.IndexDataSaveVO;
  44. import com.diagbot.vo.RetrievalVO;
  45. import com.diagbot.vo.ScaleIndexVO;
  46. import com.diagbot.vo.VersionVO;
  47. import org.springframework.cloud.openfeign.FeignClient;
  48. import org.springframework.web.bind.annotation.PostMapping;
  49. import org.springframework.web.bind.annotation.RequestBody;
  50. import org.springframework.web.bind.annotation.RequestParam;
  51. import javax.validation.Valid;
  52. import java.util.List;
  53. import java.util.Map;
  54. /**
  55. * @Description:调用中间层服务
  56. * @Author: Mark Huang
  57. * @time: 2019/03/25 19:15
  58. */
  59. @FeignClient(value = "aipt-service", fallback = AiptServiceHystrix.class)
  60. public interface AiptServiceClient {
  61. /**
  62. * 推理接口,大数据返回格式
  63. *
  64. * @param searchData
  65. * @return
  66. */
  67. @PostMapping(value = "/clinicaldata/processData")
  68. RespDTO<ResponseData> aiptData(@RequestBody SearchData searchData);
  69. /**
  70. * 计算接口(量表、计算公式)
  71. *
  72. * @param calculateData
  73. * @return
  74. */
  75. @PostMapping(value = "/clinicaldata/scaleCalc")
  76. RespDTO<Map<String, Object>> scaleCalc(@RequestBody CalculateData calculateData);
  77. /**
  78. * 获取量表全文接口
  79. *
  80. * @param searchData
  81. * @return
  82. */
  83. @PostMapping(value = "/clinicaldata/getScale")
  84. RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData);
  85. /**
  86. * 症状特征提取
  87. *
  88. * @param text
  89. * @return
  90. */
  91. @PostMapping(value = "/feature/symptomFeature")
  92. RespDTO<List<FeatureConceptDTO>> symptomFeature(@RequestParam("text") String text);
  93. /**
  94. * 获取治疗方案
  95. *
  96. * @param searchData
  97. * @return
  98. */
  99. @PostMapping("/push/treatment")
  100. RespDTO<Treat> getTreatment(@RequestBody SearchData searchData);
  101. /**
  102. * 推理
  103. *
  104. * @param searchData
  105. * @return
  106. */
  107. @PostMapping("/push/pushInner")
  108. RespDTO<PushDTO> pushInner(@RequestBody SearchData searchData);
  109. @PostMapping(value = "/scale/getList")
  110. RespDTO<List<DisScaleDTO>> getList(@RequestBody DisScaleVO scaleVO);
  111. @PostMapping(value = "/scale/index")
  112. RespDTO<List<ScaleIndexDTO>> index(@RequestBody ScaleIndexVO scaleIndexVO);
  113. @PostMapping(value = "/disType/getDisType")
  114. RespDTO<DisTypeDTO> getDisType();
  115. @PostMapping(value = "/conceptDetail/getConceptDetail")
  116. RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO);
  117. @PostMapping(value = "/concept/exist")
  118. RespDTO<ConceptBaseDTO> existConcept(@RequestBody @Valid ConceptBaseVO conceptBaseVO);
  119. @PostMapping(value = "/concept/getConceptUsual")
  120. RespDTO<List<ConceptBaseDTO>> getConceptUsual(@RequestBody @Valid ConceptUsualVO conceptUsualVO);
  121. @PostMapping(value = "/deptInfo/getDeptInfo")
  122. RespDTO<DeptInfoDTO> getDeptInfo(@Valid @RequestBody DeptInfoVO deptInfoVO);
  123. /**
  124. * 根据医院编号疾病概念名称获取各医院对应的诊断icd
  125. *
  126. * @param getDiseaseIcdVO
  127. * @return
  128. */
  129. @PostMapping("/diseaseIcd/getDiseaseIcds")
  130. RespDTO<List<DiseaseIcdDTO>> getDiseaseIcds(@RequestBody GetDiseaseIcdVO getDiseaseIcdVO);
  131. /**
  132. * 获取页面顶部病人医生科室信息
  133. *
  134. * @param getTopPatientInfoVO
  135. * @return
  136. */
  137. @PostMapping("/patientInfo/getTopPatientInfo")
  138. RespDTO<GetTopPatientInfoDTO> getTopPatientInfo(@RequestBody GetTopPatientInfoVO getTopPatientInfoVO);
  139. /**
  140. * 获取管理评估模板
  141. *
  142. * @param searchData
  143. * @return
  144. */
  145. @PostMapping("/evaluation/getEvaluationModules")
  146. RespDTO<List<EvaluationDTO>> getEvaluationModules(@RequestBody SearchData searchData);
  147. /**
  148. * 获取指标配置
  149. *
  150. * @param indexConfigdiseaseNameVO
  151. * @return
  152. */
  153. @PostMapping("/indexConfig/getindexConfigs")
  154. RespDTO<List<IndexConfigDTO>> getindexConfigs(@RequestBody IndexConfigdiseaseNameVO indexConfigdiseaseNameVO);
  155. /**
  156. * 根据概念Id列表获取概念列表Map
  157. *
  158. * @param conceptSearchVO 搜索参数
  159. * @return 术语id和术语 Map
  160. */
  161. @PostMapping("/concept/getConceptMap")
  162. RespDTO<Map<Long, String>> getConceptMap(@RequestBody ConceptSearchVO conceptSearchVO);
  163. /**
  164. * 根据概念Id,年龄,性别列表获取概念列表Map
  165. *
  166. * @param conceptFindVO 搜索参数
  167. * @return 术语id和术语 Map
  168. */
  169. @PostMapping("/concept/getConceptCondMap")
  170. RespDTO<Map<Long, String>> getConceptCondMap(@RequestBody ConceptFindVO conceptFindVO);
  171. /**
  172. * 是否有提示信息
  173. *
  174. * @param conceptIntroduceVO
  175. * @return
  176. */
  177. @PostMapping("/conceptDetail/exist")
  178. RespDTO<Boolean> existConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO);
  179. /**
  180. * 验证诊断类型
  181. *
  182. * @param disTypeVO
  183. * @return
  184. */
  185. @PostMapping("/disType/verifyDisType")
  186. RespDTO<Boolean> verifyDisType(@Valid @RequestBody DisTypeVO disTypeVO);
  187. /**
  188. * 根据名称和类型获取概念列表Map
  189. *
  190. * @param conceptExistVO
  191. * @return
  192. */
  193. @PostMapping("/concept/getConceptMapByNameAndType")
  194. RespDTO<Map<String, Long>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO);
  195. /**
  196. * 标签检索
  197. *
  198. * @param retrievalVO
  199. * @return
  200. */
  201. @PostMapping("/concept/retrivelConceptInfo")
  202. RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
  203. /**
  204. * @param indexDataFindVO
  205. * @return
  206. */
  207. @PostMapping(value = "/indexData/getIndexDatas")
  208. RespDTO<IndexConfigAndDataDTO> getIndexDatas(@RequestBody IndexDataFindVO indexDataFindVO);
  209. /**
  210. * @param indexDataSaveVO
  211. * @return
  212. */
  213. @PostMapping(value = "/indexData/saveIndexDatas")
  214. RespDTO<Boolean> saveIndexDatas(@RequestBody IndexDataSaveVO indexDataSaveVO);
  215. @PostMapping("/disclaimerInformation/getDisclaimerInformations")
  216. RespDTO<List<DisclaimerInformationDTO>> getDisclaimerInformations();
  217. /**
  218. * 验证是否存在静态知识
  219. *
  220. * @param existListByConceptIdsVO
  221. * @return
  222. */
  223. @PostMapping("/conceptDetail/existListByConceptIds")
  224. RespDTO<List<Long>> existListByConceptIds(ExistListByConceptIdsVO existListByConceptIdsVO);
  225. /**
  226. * 静态知识检索
  227. *
  228. * @param getStaticKnowledgeVO
  229. * @return
  230. */
  231. @PostMapping("/concept/getStaticKnowledge")
  232. RespDTO<List<RetrievalDTO>> getStaticKnowledge(GetStaticKnowledgeVO getStaticKnowledgeVO);
  233. /**
  234. * 获取版本信息
  235. */
  236. @PostMapping("/versionInfo/getVersionInfoAlls")
  237. RespDTO<VersionWrapperDTO> getVersionInfoAlls(@RequestBody VersionVO versionVO);
  238. @PostMapping("/lisMapping/getLisMappingByQuestion")
  239. RespDTO<Map<String, Map<String, String>>> getLisMappingByQuestion(GetLisMappingVO getLisMappingVO);
  240. /**
  241. * 批量获取提示信息
  242. *
  243. * @param conceptIntroduceVOList
  244. * @return
  245. */
  246. @PostMapping(value = "/conceptDetail/getConceptDetails")
  247. RespDTO<List<ConceptIntroduceDTO>> getConceptDetails(@Valid @RequestBody List<ConceptIntroduceVO> conceptIntroduceVOList);
  248. /**
  249. * 获取字典信息
  250. *
  251. * @return
  252. */
  253. @PostMapping(value = "/dictionaryInfo/getList")
  254. RespDTO<Map<Long, List<DictionaryInfoDTO>>> getList();
  255. }