From d03b0460e52cf816c9061f57aa70e52bb320b1e0 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 27 Mar 2025 20:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MedicalSummaryInHospitalController.java | 69 +++++++++++++++++++ .../medical/MedicalSurgeryController.java | 65 +++++++++++++++++ .../medical/MedicalSummaryInHospitalResp.java | 12 ++++ .../api/resp/medical/MedicalSurgeryResp.java | 13 ++++ 4 files changed, 159 insertions(+) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryInHospitalController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSurgeryController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryInHospitalResp.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSurgeryResp.java diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryInHospitalController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryInHospitalController.java new file mode 100644 index 0000000..19b460e --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSummaryInHospitalController.java @@ -0,0 +1,69 @@ +package com.heyu.api.controller.medical; + + +import com.heyu.api.baidu.handle.medical.BMedicalSummaryInHospitalHandle; +import com.heyu.api.baidu.request.medical.BMedicalSummaryInHospitalRequest; +import com.heyu.api.baidu.response.medical.BMedicalSummaryInHospitalResp; +import com.heyu.api.controller.BaseController; +import com.heyu.api.data.annotation.CacheResult; +import com.heyu.api.data.annotation.NotIntercept; +import com.heyu.api.data.utils.ApiR; +import com.heyu.api.data.utils.R; +import com.heyu.api.resp.medical.MedicalSummaryInHospitalResp; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + + +/*** + * + * https://console.bce.baidu.com/support/?_=1740575657628×tamp=1740581925992#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8C%BB%E7%96%97%E7%A5%A8%E6%8D%AEOCR&api=rest%2F2.0%2Focr%2Fv1%2Fmedical_summary_in_hospital&method=post + * + * + * 入院小结识别 + * + * + * + * 接口描述 + * 支持识别全国各地各医院入院小结的姓名、性别、年龄、入院时间、主诉、身份证号、联系人电话、病史采集日期、既往史、现病史、个人史、月经婚育史、工作单位、可靠程度 14个关键字段。 + * + * + */ +@Slf4j +@RestController +@RequestMapping("/medical") +@NotIntercept +public class MedicalSummaryInHospitalController extends BaseController { + + @Autowired + private BMedicalSummaryInHospitalHandle bMedicalSummaryInHospitalHandle; + + + @RequestMapping("/summaryInHospital") + @CacheResult + public R statement(BMedicalSummaryInHospitalRequest req) { + List respList = new ArrayList<>(); + ApiR bR = bMedicalSummaryInHospitalHandle.handle(req); + if (bR.isSuccess()) { + BMedicalSummaryInHospitalResp bMedicalSummaryInHospitalResp = bR.getData(); + List wordsResultDTOS = bMedicalSummaryInHospitalResp.getWordsResult(); + + + for (BMedicalSummaryInHospitalResp.WordsResultDTO wordsResultDTO : wordsResultDTOS) { + + MedicalSummaryInHospitalResp resp = new MedicalSummaryInHospitalResp(); + resp.setWord(wordsResultDTO.getWord()); + resp.setWordName(wordsResultDTO.getWordName()); + respList.add(resp); + } + return R.ok().setData(respList); + } + return R.error(); + } + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSurgeryController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSurgeryController.java new file mode 100644 index 0000000..6dfacd3 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/medical/MedicalSurgeryController.java @@ -0,0 +1,65 @@ +package com.heyu.api.controller.medical; + + +import com.heyu.api.baidu.handle.medical.BMedicalSurgeryHandle; +import com.heyu.api.baidu.request.medical.BMedicalSurgeryRequest; +import com.heyu.api.baidu.response.medical.BMedicalSurgeryResp; +import com.heyu.api.controller.BaseController; +import com.heyu.api.data.annotation.CacheResult; +import com.heyu.api.data.annotation.NotIntercept; +import com.heyu.api.data.utils.ApiR; +import com.heyu.api.data.utils.R; +import com.heyu.api.resp.medical.MedicalSurgeryResp; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/*** + * https://console.bce.baidu.com/support/?_=1740575657628×tamp=1740582692921#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8C%BB%E7%96%97%E7%A5%A8%E6%8D%AEOCR&api=rest%2F2.0%2Focr%2Fv1%2Fmedical_surgery&method=post + *手术记录识别 + * + * 接口描述 + * + * 支持识别全国各地各医院手术记录的姓名、性别、年龄、科室、麻醉方式、手术操作名称、手术步骤、手术结果、术中所见、术中诊断、术前诊断、术后诊断 12个关键字段。 + * + * + * + */ + + +@Slf4j +@RestController +@RequestMapping("/medical") +@NotIntercept +public class MedicalSurgeryController extends BaseController { + + @Autowired + private BMedicalSurgeryHandle bMedicalSurgeryHandle; + + + @RequestMapping("/surgery") + @CacheResult + public R surgery(BMedicalSurgeryRequest req) { + + List respList = new ArrayList<>(); + + + ApiR bR = bMedicalSurgeryHandle.handle(req); + if (bR.isSuccess()) { + BMedicalSurgeryResp bMedicalSurgeryResp = bR.getData(); + List wordsResult = bMedicalSurgeryResp.getWordsResult(); + for (BMedicalSurgeryResp.WordsResultDTO wordsResultDTO : wordsResult) { + MedicalSurgeryResp medicalSurgeryResp = new MedicalSurgeryResp(); + medicalSurgeryResp.setWord(wordsResultDTO.getWord()); + medicalSurgeryResp.setWordName(wordsResultDTO.getWordName()); + respList.add(medicalSurgeryResp); + } + return R.ok().setData(respList); + } + return R.error(); + } +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryInHospitalResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryInHospitalResp.java new file mode 100644 index 0000000..a9bf6ed --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSummaryInHospitalResp.java @@ -0,0 +1,12 @@ +package com.heyu.api.resp.medical; + +import com.heyu.api.data.dto.BaseResp; +import lombok.Data; + +@Data +public class MedicalSummaryInHospitalResp extends BaseResp { + + private String word; + private String wordName; + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSurgeryResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSurgeryResp.java new file mode 100644 index 0000000..81cda58 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/medical/MedicalSurgeryResp.java @@ -0,0 +1,13 @@ +package com.heyu.api.resp.medical; + +import com.heyu.api.data.dto.BaseResp; +import lombok.Data; + + +@Data +public class MedicalSurgeryResp extends BaseResp { + + private String word; //word_name字段对应的识别结果 + private String wordName; // 字段名,包括:姓名、性别、年龄、科室、麻醉方式、手术操作名称、手术步骤、手术结果、术中所见、术中诊断、术前诊断、术后诊断 + +}