最终结果诊断
parent
362d33d93d
commit
b454060600
@ -0,0 +1,30 @@
|
||||
package com.supervision.controller;
|
||||
|
||||
import com.supervision.pojo.vo.DiagnosisResultResVO;
|
||||
import com.supervision.pojo.vo.FinishAskReqVO;
|
||||
import com.supervision.service.AskDiagnosisResultService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Api(tags = "问诊结束")
|
||||
@RestController
|
||||
@RequestMapping("/askDiagnosisResult")
|
||||
@RequiredArgsConstructor
|
||||
public class AskDiagnosisResultController {
|
||||
|
||||
private final AskDiagnosisResultService askDiagnosisResultService;
|
||||
|
||||
@ApiOperation("结束问诊")
|
||||
@PostMapping("finishAsk")
|
||||
public void finishAsk(@RequestBody FinishAskReqVO reqVO){
|
||||
askDiagnosisResultService.finishAsk(reqVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询最终诊断结果")
|
||||
@GetMapping("queryDiagnosisResult")
|
||||
public DiagnosisResultResVO queryDiagnosisResult(String processId){
|
||||
return askDiagnosisResultService.queryDiagnosisResult(processId);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class BasisConfirmResultResVO {
|
||||
|
||||
@ApiModelProperty("证实诊断依据")
|
||||
private String confirmingDiagnosis;
|
||||
|
||||
@ApiModelProperty("证实诊断列表")
|
||||
private List<BasisDiagnosisNodeResVO> nodeList;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BasisDiagnosisNodeResVO {
|
||||
|
||||
@ApiModelProperty("初步诊断依据 0对话 1体格检查 2辅助检查")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("记录名称 对话就是对话内容,其他的就是对应的名称")
|
||||
private String recordName;
|
||||
|
||||
@ApiModelProperty("对应的记录ID")
|
||||
private String recordId;
|
||||
|
||||
@ApiModelProperty("是否正确,1正确")
|
||||
private Integer correct;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BasisIdentificationResultResVO {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class BasisPrimaryResultResVO {
|
||||
|
||||
|
||||
@ApiModelProperty("初步诊断依据")
|
||||
private String preliminaryDiagnosis;
|
||||
|
||||
@ApiModelProperty("初步诊断依据列表")
|
||||
private List<BasisDiagnosisNodeResVO> nodeList;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DealPlanResVO {
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class DiagnosisDiseaseResultNodeVO {
|
||||
|
||||
@ApiModelProperty("疾病名称")
|
||||
private String diseaseName;
|
||||
|
||||
@ApiModelProperty("是否正确,1正确")
|
||||
private Integer correct;
|
||||
|
||||
@ApiModelProperty("疾病ID")
|
||||
private Integer diseaseId;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DiagnosisResultResVO {
|
||||
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("预期诊断结果")
|
||||
private ExpertDiagnosisResultResVO expertDiagnosisResult;
|
||||
|
||||
@ApiModelProperty("初步诊断依据")
|
||||
private BasisPrimaryResultResVO basisPrimaryResultResVO;
|
||||
|
||||
@ApiModelProperty("证实诊断依据")
|
||||
private BasisConfirmResultResVO basisConfirmResultResVO;
|
||||
|
||||
@ApiModelProperty("鉴别诊断依据")
|
||||
private BasisIdentificationResultResVO basisIdentificationResult;
|
||||
|
||||
@ApiModelProperty("全面检查")
|
||||
private FullCheckResVO fullCheck;
|
||||
|
||||
@ApiModelProperty("处置方案")
|
||||
private DealPlanResVO dealPlan;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 预期诊断结果
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class ExpertDiagnosisResultResVO {
|
||||
|
||||
@ApiModelProperty("诊断")
|
||||
private String diagnosis;
|
||||
|
||||
@ApiModelProperty("用户诊断结果")
|
||||
private List<DiagnosisDiseaseResultNodeVO> userDiagnosisResult;
|
||||
|
||||
@ApiModelProperty("预期诊断结果")
|
||||
private List<DiagnosisDiseaseResultNodeVO> expertDiagnosisResult;
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class FinishAskReqVO {
|
||||
|
||||
private String processId;
|
||||
|
||||
@ApiModelProperty("治疗计划类型(0门诊 1住院)")
|
||||
private Integer treatmentPlanType;
|
||||
|
||||
@ApiModelProperty("治疗计划")
|
||||
private String treatmentPlan;
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
package com.supervision.pojo.vo;
|
||||
|
||||
public class FullCheckResVO {
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.supervision.service;
|
||||
|
||||
import com.supervision.pojo.vo.DiagnosisResultResVO;
|
||||
import com.supervision.pojo.vo.FinishAskReqVO;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
public interface AskDiagnosisResultService {
|
||||
|
||||
void finishAsk(FinishAskReqVO reqVO);
|
||||
|
||||
DiagnosisResultResVO queryDiagnosisResult(String processId);
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.supervision.service.impl;
|
||||
|
||||
|
||||
import com.supervision.model.DiagnosisPrimary;
|
||||
import com.supervision.model.DiagnosisResult;
|
||||
import com.supervision.pojo.vo.DiagnosisResultResVO;
|
||||
import com.supervision.pojo.vo.FinishAskReqVO;
|
||||
import com.supervision.service.AskDiagnosisResultService;
|
||||
import com.supervision.service.DiagnosisPrimaryService;
|
||||
import com.supervision.service.DiagnosisResultService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService {
|
||||
|
||||
private final DiagnosisResultService diagnosisResultService;
|
||||
|
||||
private final DiagnosisPrimaryService diagnosisPrimaryService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishAsk(FinishAskReqVO reqVO) {
|
||||
// 首先保存诊断结果
|
||||
DiagnosisResult diagnosisResult = new DiagnosisResult();
|
||||
diagnosisResult.setProcessId(reqVO.getProcessId());
|
||||
// 最终诊断结果,从初步诊断中获取
|
||||
List<DiagnosisPrimary> list = diagnosisPrimaryService.lambdaQuery()
|
||||
.eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
|
||||
.eq(DiagnosisPrimary::getDeleteFlag,0)
|
||||
.list();
|
||||
diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
|
||||
diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType());
|
||||
diagnosisResult.setTreatmentPlan(reqVO.getTreatmentPlan());
|
||||
diagnosisResultService.save(diagnosisResult);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DiagnosisResultResVO queryDiagnosisResult(String processId) {
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue