zhoutg 4 anni fa
parent
commit
37ab926a4f

+ 25 - 0
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -173,9 +173,34 @@ public class CommonFacade {
 
         // 现病史中体征内容放入体征标签
         processPresentVital(wordCrfDTO);
+
+        // TODO 加入分词
         return wordCrfDTO;
     }
 
+    /**
+     * 分词
+     * @param wordCrfDTO
+     */
+    public void participle(WordCrfDTO wordCrfDTO) {
+        List<Clinical> res = Lists.newArrayList();
+        List<Clinical> clinicals = wordCrfDTO.getChiefLabel().getClinicals();
+        if (ListUtil.isNotEmpty(clinicals))
+        for (Clinical clinical : clinicals) {
+            // TODO 调用接口
+            List<String> list = Lists.newArrayList("症状1","症状2");
+            if (ListUtil.isNotEmpty(list)) {
+                for (String s : list) {
+                    Clinical clinicalNew = new Clinical();
+                    BeanUtil.copyProperties(clinical, clinicalNew);
+                    clinicalNew.setName(s);
+                    clinicalNew.setStandName(s);
+                    res.add(clinicalNew);
+                }
+            }
+        }
+    }
+
     //返回给图谱的词,这些词需要转换成标准词
     public StandConvert dataTypeGet(WordCrfDTO wordCrfDTO) {
         StandConvert standConvert = new StandConvert();

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

@@ -118,4 +118,20 @@ public class IndicationFacade {
         CoreUtil.getDebugObject("数据", res.getDebug(), wordCrfDTO);
         return res;
     }
+
+    /**
+     * 提示总入口
+     *
+     * @param
+     * @return
+     */
+    public WordCrfDTO getWordCrfDTO(IndicationPushVO indicationPushVO) {
+        // 模型处理数据
+        WordCrfDTO wordCrfDTO = commonFacade.crf_process(indicationPushVO);
+
+        StandConvert standConvert = commonFacade.dataTypeGet(wordCrfDTO);
+        Map<String, Map<String, String>> standConvertMap = neoFacade.standConvertCrf(standConvert);
+        commonFacade.dataTypeSet(wordCrfDTO, standConvertMap);
+        return wordCrfDTO;
+    }
 }

+ 38 - 0
src/main/java/com/diagbot/web/CrfController.java

@@ -0,0 +1,38 @@
+package com.diagbot.web;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.facade.IndicationFacade;
+import com.diagbot.vo.IndicationPushVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * @Description: crf转换控制层
+ * @author: zhoutg
+ * @time: 2018/8/30 10:12
+ */
+@RestController
+@RequestMapping("/crf")
+@Api(value = "crf转换API", tags = { "crf转换API" })
+@SuppressWarnings("unchecked")
+public class CrfController {
+
+    @Autowired
+    IndicationFacade indicationFacade;
+
+    @ApiOperation(value = "CRF转换[zhoutg]", notes = "ruleType(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)")
+    @PostMapping("/indication")
+    public RespDTO<WordCrfDTO> indication(@Valid @RequestBody IndicationPushVO indicationPushVO) {
+        WordCrfDTO wordCrfDTO = indicationFacade.getWordCrfDTO(indicationPushVO);
+        return RespDTO.onSuc(wordCrfDTO);
+    }
+
+}