电子病历,护理提交添加记录

master
wyb 2 years ago
parent 6aef6e0a6a
commit 074ccb1fd6

@ -1,6 +1,12 @@
package com.docus.server;
import com.docus.core.util.Func;
import com.docus.core.util.SpringUtils;
import com.docus.infrastructure.web.api.CommonResult;
import com.docus.server.message.feign.dto.HospitalSubmitNodeLogAddDTO;
import com.docus.server.message.feign.enums.HospitalSubmitNodeEnum;
import com.docus.server.message.feign.service.HospitalSubmitNodeServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@ -8,13 +14,14 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
import java.util.Date;
import java.util.Properties;
@Slf4j
@SpringBootApplication(scanBasePackages ={"com.docus"})
@MapperScan("com.docus.server.**.mapper")
@EnableFeignClients
@EnableFeignClients(basePackages = {"com.docus"})
@EnableAsync
public class AppRunBootstrap {
public static void main(String[] args) {
@ -24,4 +31,16 @@ public class AppRunBootstrap {
System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
SpringApplication.run(AppRunBootstrap.class, args);
}
private static void test(){
HospitalSubmitNodeServiceApi hospitalSubmitNodeServiceApi = SpringUtils.getBean(HospitalSubmitNodeServiceApi.class);
HospitalSubmitNodeLogAddDTO dto = new HospitalSubmitNodeLogAddDTO();
dto.setPatientId("1008611");
dto.setContent(new String[]{"责任护士尔豪","质控护士豪尔", Func.formatDateTime(new Date()),"10"});
dto.setCreaterName("护理提交");
dto.setCreater("护理提交");
dto.setSubmitNodeEnum(HospitalSubmitNodeEnum.NURSE);
CommonResult<String> commonResult = hospitalSubmitNodeServiceApi.addLog(dto);
log.info(Func.toJson(commonResult));
}
}

@ -13,7 +13,10 @@ import com.docus.server.message.dto.MessageResponse;
import com.docus.server.message.dto.RecordSubmitDTO;
import com.docus.server.message.dto.WsNurseSubmitDTO;
import com.docus.server.message.feign.dto.CompensateTasRequest;
import com.docus.server.message.feign.dto.HospitalSubmitNodeLogAddDTO;
import com.docus.server.message.feign.enums.HospitalSubmitNodeEnum;
import com.docus.server.message.feign.service.CollectTaskService;
import com.docus.server.message.feign.service.HospitalSubmitNodeServiceApi;
import com.docus.server.message.mapper.SdRyIcuMapper;
import com.docus.server.message.mapper.TBasicMapper;
import com.docus.server.message.rpc.ShunDePeopleRpc;
@ -33,31 +36,16 @@ import java.util.Objects;
@Slf4j
@Service
public class SdBusinessServiceImpl implements SdBusinessService {
@Autowired
private CollectTaskService collectTaskService;
private TBasicMapper tBasicMapper;
private ShunDePeopleRpc shunDePeopleRpc;
private SdRyIcuMapper sdRyIcuMapper;
@Autowired
public void setCollectTaskService(CollectTaskService collectTaskService) {
this.collectTaskService = collectTaskService;
}
private TBasicMapper tBasicMapper;
@Autowired
public void settBasicMapper(TBasicMapper tBasicMapper) {
this.tBasicMapper = tBasicMapper;
}
private ShunDePeopleRpc shunDePeopleRpc;
@Autowired
public void setShunDePeopleRpc(ShunDePeopleRpc shunDePeopleRpc) {
this.shunDePeopleRpc = shunDePeopleRpc;
}
private SdRyIcuMapper sdRyIcuMapper;
@Autowired
public void setSdRyIcuMapper(SdRyIcuMapper sdRyIcuMapper) {
this.sdRyIcuMapper = sdRyIcuMapper;
}
private HospitalSubmitNodeServiceApi hospitalSubmitNodeServiceApi;
@Override
public MessageResponse recordSubmitHandle(Message message) {
@ -71,6 +59,15 @@ public class SdBusinessServiceImpl implements SdBusinessService {
List<String> patientIds = tBasicMapper.getPatientIdsByInpatientNoAndTimes(recordSubmitDto.getInHospIndexNo(), recordSubmitDto.getVisitNo());
verifyPatientIds(patientIds);
// 添加提交记录
HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO();
nodeLogAddDTO.setPatientId(patientIds.get(0));
nodeLogAddDTO.setContent(new String[]{Func.formatDateTime(recordSubmitDto.getSubmitTime())});
nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.EMR);
nodeLogAddDTO.setCreater("电子病历提交");
nodeLogAddDTO.setCreaterName("电子病历提交");
hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO);
if(!isDischargeAndUpdDisDate(patientIds.get(0),recordSubmitDto.getInHospIndexNo(), recordSubmitDto.getVisitNo())){
throw new BaseException("此患者未出院!");
}
@ -109,6 +106,15 @@ public class SdBusinessServiceImpl implements SdBusinessService {
List<String> patientIds = tBasicMapper.getPatientIdsByInpatientNoAndTimes(inHospIndexNo, visitNo);
verifyPatientIds(patientIds);
// 添加提交内容
HospitalSubmitNodeLogAddDTO nodeLogAddDTO = new HospitalSubmitNodeLogAddDTO();
nodeLogAddDTO.setPatientId(patientIds.get(0));
nodeLogAddDTO.setContent(new String[]{nurseSubmitDTO.getDutyNurse(),nurseSubmitDTO.getQcNurse(),Func.formatDateTime(nurseSubmitDTO.getSubmitTime()),nurseSubmitDTO.getFilesCount().toString()});
nodeLogAddDTO.setSubmitNodeEnum(HospitalSubmitNodeEnum.NURSE);
nodeLogAddDTO.setCreater("护理提交");
nodeLogAddDTO.setCreaterName("护理提交");
hospitalSubmitNodeServiceApi.addLog(nodeLogAddDTO);
if(!isDischargeAndUpdDisDate(patientIds.get(0), inHospIndexNo, visitNo)){
throw new BaseException("此患者未出院!");
}

@ -0,0 +1,45 @@
package com.docus.server.message.feign.dto;
import com.docus.server.message.feign.enums.HospitalSubmitNodeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
*
*
* @author
* @date 2023/9/5
*/
@Data
@ApiModel("提交节点日志添加参数")
public class HospitalSubmitNodeLogAddDTO {
@NotBlank(message = "提交病案主键不能为空!")
@ApiModelProperty(value = "病案主键",required = true)
private String patientId;
@NotNull(message = "提交内容不能为空!")
@Size(min = 1,message = "提交内容不能为空!")
@ApiModelProperty(value = "提交内容",required = true)
private String[] content;
@NotNull(message = "提交节点不能为空!")
@ApiModelProperty(value = "提交节点",required = true)
private HospitalSubmitNodeEnum submitNodeEnum;
/**
*
*/
@ApiModelProperty("创建人")
private String creater;
/**
*
*/
@ApiModelProperty("创建人名称")
private String createrName;
}

@ -0,0 +1,22 @@
package com.docus.server.message.feign.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
*
*
* @author
* @date 2023/9/5
*/
@Data
@ApiModel("提交节点日志查询参数")
public class HospitalSubmitNodeLogQrDTO {
@NotBlank(message = "提交病案主键不能为空!")
@ApiModelProperty(value = "病案主键",required = true)
private String patientId;
}

@ -0,0 +1,33 @@
package com.docus.server.message.feign.enums;
/**
*
*
* @author
* @date 2023/9/5
*/
public enum HospitalSubmitNodeEnum {
/**
*
*/
NURSE("NURSE"),
/**
*
*/
EMR("EMR"),
/**
*
*/
ICU("ICU");
/**
* code
*/
String code;
HospitalSubmitNodeEnum(String code) {
this.code = code;
}
public String code(){
return code;
}
}

@ -0,0 +1,45 @@
package com.docus.server.message.feign.service;
import com.docus.infrastructure.web.api.CommonResult;
import com.docus.server.message.feign.dto.HospitalSubmitNodeLogAddDTO;
import com.docus.server.message.feign.dto.HospitalSubmitNodeLogQrDTO;
import com.docus.server.message.feign.vo.HospitalSubmitNodeLogVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
* api
*
* @author
* @date 2023/9/5
*/
@Api(tags = "医院提交节点服务API")
@FeignClient(name = "submitNode", url = "${docus.url.medicalrecord}")
public interface HospitalSubmitNodeServiceApi {
String PREFIX = "/basic/submitNode";
/**
*
* @param submitNodeLogAddDTO
* @return
*/
@ApiOperation("提交节点,添加日志")
@RequestMapping(value = PREFIX + "/log/add", method = RequestMethod.POST)
CommonResult<String> addLog(@RequestBody HospitalSubmitNodeLogAddDTO submitNodeLogAddDTO);
/**
*
* @param submitNodeLogQrDTO
* @return
*/
@ApiOperation("提交节点日志列表查询")
@RequestMapping(value = PREFIX + "/log/list", method = RequestMethod.POST)
CommonResult<List<HospitalSubmitNodeLogVO>> listLogs(@RequestBody HospitalSubmitNodeLogQrDTO submitNodeLogQrDTO);
}

@ -0,0 +1,71 @@
package com.docus.server.message.feign.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 线
*
* @author
* @date 2023/9/5
*/
@Data
public class HospitalSubmitNodeLogVO {
private String date;
private List<LogVO> logs;
@Data
@ApiModel("医院提交节点日志视图对象")
public static class LogVO {
/**
*
*/
@ApiModelProperty("病案主键")
private String patientId;
/**
*
*/
@ApiModelProperty("节点代码")
private String nodeCode;
/**
*
*/
@ApiModelProperty("节点名称")
private String nodeName;
/**
*
*/
@ApiModelProperty("年月日,冗余创建时间,进行分组")
private String monthDate;
/**
*
*/
@ApiModelProperty("创建人")
private String creater;
/**
*
*/
@ApiModelProperty("创建人名称")
private String createrName;
/**
*
*/
@ApiModelProperty("创建时间")
private String createTime;
/**
*
*/
@ApiModelProperty("日志内容")
private String content;
}
}

@ -78,6 +78,7 @@ docus:
compensate-task-url: http://localhost:9295/
# 下载地址
down-url: http://localhost:9291/api/downplatform/report
medicalrecord: http://192.168.16.85:9102
dbtype: mysql

Loading…
Cancel
Save