```
docs(release-notes): 添加住院护士站划价功能说明和发版记录 - 新增住院护士站划价服务流程说明文档,详细描述了从参数预处理到结果响应的五大阶段流程 - 包含耗材类医嘱和诊疗活动类医嘱的差异化处理逻辑 - 添加完整的发版内容记录,涵盖新增菜单功能和各模块优化点 - 记录了住院相关功能的新增和门诊业务流程的修复 ```
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
package com.openhis.web.patientmanage.appservice;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.patientmanage.dto.OutpatientRecordDto;
|
||||
import com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam;
|
||||
|
||||
/**
|
||||
* 门诊记录查询
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/3/15
|
||||
*/
|
||||
public interface IOutpatientRecordService {
|
||||
|
||||
/**
|
||||
* 分页查询门诊记录
|
||||
*
|
||||
* @param outpatientRecordSearchParam 门诊录查询参数
|
||||
* @param searchKey 查询条件-模糊查询
|
||||
* @param pageNo 页码(默认为1)
|
||||
* @param pageSize 每页大小(默认为10)
|
||||
* @return 分页查询
|
||||
*/
|
||||
IPage<OutpatientRecordDto> getPatient(OutpatientRecordSearchParam outpatientRecordSearchParam, String searchKey,
|
||||
Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 获取医生名字列表
|
||||
*
|
||||
* @return 医生名字列表
|
||||
*/
|
||||
R<?> getDoctorNames();
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.openhis.web.patientmanage.controller;
|
||||
|
||||
import com.openhis.web.datadictionary.dto.DeviceManageSelParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.patientmanage.appservice.IOutpatientRecordService;
|
||||
import com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* 门诊记录
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/2/28
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/patient-manage/records")
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public class OutpatientRecordController {
|
||||
|
||||
@Autowired
|
||||
IOutpatientRecordService outpatientRecordService;
|
||||
|
||||
/**
|
||||
* 门诊记录初期数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/init")
|
||||
public R<?> getDoctorNames() {
|
||||
// 获取医生名字列表
|
||||
return outpatientRecordService.getDoctorNames();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询门诊记录,可选条件
|
||||
*
|
||||
* @param outpatientRecordSearchParam 查询条件
|
||||
* @param searchKey 查询条件-模糊查询
|
||||
* @param pageNo 页码(默认为1)
|
||||
* @param pageSize 每页大小(默认为10)
|
||||
*/
|
||||
@GetMapping("/outpatient-record-page")
|
||||
public R<?> getPatient(OutpatientRecordSearchParam outpatientRecordSearchParam,
|
||||
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||
|
||||
return R.ok(outpatientRecordService.getPatient(outpatientRecordSearchParam,searchKey, pageNo, pageSize,request));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,13 +3,11 @@ package com.openhis.web.patientmanage.controller;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.core.common.core.domain.R;
|
||||
import com.openhis.web.patientmanage.appservice.IPatientInformationService;
|
||||
import com.openhis.web.patientmanage.dto.PatientInfoSearchParam;
|
||||
import com.openhis.web.patientmanage.dto.PatientInformationDto;
|
||||
import com.openhis.web.patientmanage.dto.PatientBaseInfoDto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -42,40 +40,47 @@ public class PatientInformationController {
|
||||
/**
|
||||
* 添加病人信息
|
||||
*
|
||||
* @param patientInformationDto 病人信息
|
||||
* @param patientInfoDto 病人信息
|
||||
*/
|
||||
@PostMapping("/patient-information")
|
||||
public R<?> addPatient(@Validated @RequestBody PatientInformationDto patientInformationDto) {
|
||||
return patientInformationService.addPatient(patientInformationDto);
|
||||
public R<?> addPatient(@RequestBody PatientBaseInfoDto patientInfoDto) {
|
||||
return patientInformationService.addPatient(patientInfoDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改病人信息
|
||||
*
|
||||
* @param patientInformationDto 病人信息
|
||||
* @param patientInfoDto 病人信息
|
||||
*/
|
||||
@PutMapping("/patient-information")
|
||||
public R<?> editPatient(@Validated @RequestBody PatientInformationDto patientInformationDto) {
|
||||
// 调用服务层更新病人信息
|
||||
return patientInformationService.editPatient(patientInformationDto);
|
||||
|
||||
public R<?> editPatient(@RequestBody PatientBaseInfoDto patientInfoDto) {
|
||||
return patientInformationService.editPatient(patientInfoDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询病人信息,可选条件
|
||||
*
|
||||
* @param patientInfoSearchParam 患者查询参数
|
||||
* @param patientBaseInfoDto 患者查询参数
|
||||
* @param searchKey 查询条件-模糊查询
|
||||
* @param pageNo 页码(默认为1)
|
||||
* @param pageSize 每页大小(默认为10)
|
||||
*/
|
||||
@GetMapping("/patient-information-page")
|
||||
public R<?> getPatient(PatientInfoSearchParam patientInfoSearchParam,
|
||||
public R<?> getPatient(PatientBaseInfoDto patientBaseInfoDto,
|
||||
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||
return R
|
||||
.ok(patientInformationService.getPatientInfo(patientInfoSearchParam, searchKey, pageNo, pageSize, request));
|
||||
return R.ok(patientInformationService.getPatientInfo(patientBaseInfoDto, searchKey, pageNo, pageSize, request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新患者手机号
|
||||
*
|
||||
* @param patientBaseInfoDto 患者信息
|
||||
*/
|
||||
@PostMapping("/update-patient-phone")
|
||||
public R<?> updatePatientPhone(@RequestBody PatientBaseInfoDto patientBaseInfoDto) {
|
||||
return patientInformationService.updatePatientPhone(patientBaseInfoDto);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.openhis.web.patientmanage.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 门诊记录Dto
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/2/28
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class OutpatientRecordDto {
|
||||
|
||||
/** 患者姓名 */
|
||||
private String name;
|
||||
|
||||
/** 身份证号 */
|
||||
private String idCard;
|
||||
|
||||
/** 疾病与诊断描述 */
|
||||
private String description;
|
||||
|
||||
/** 患者院内编码/病历号 */
|
||||
private String patientBusNo;
|
||||
|
||||
/** 就诊号 */
|
||||
private String encounterBusNo;
|
||||
|
||||
/** 性别编码 */
|
||||
private Integer genderEnum;
|
||||
private String genderEnum_enumText;
|
||||
|
||||
/** 就诊时间 */
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date encounterTime;
|
||||
|
||||
/** 就诊对象状态 */
|
||||
private Integer subjectStatusEnum;
|
||||
private String subjectStatusEnum_enumText;
|
||||
|
||||
/** 机构名称/接诊医院 */
|
||||
private String organizationName;
|
||||
|
||||
/** 接诊医生姓名 */
|
||||
private String doctorName;
|
||||
|
||||
/** 手机号码 */
|
||||
private String phone;
|
||||
|
||||
/** 就诊开始时间 */
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date StartTime;
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.openhis.web.patientmanage.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 门诊记录查询参数
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/2/28
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class OutpatientRecordSearchParam {
|
||||
|
||||
/** 手机号码 */
|
||||
private String phone;
|
||||
|
||||
/** 医生姓名 */
|
||||
private String doctorName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.openhis.web.patientmanage.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 病人证件信息 Dto
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/2/22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class PatientIdInfoDto {
|
||||
|
||||
/**
|
||||
* 患者id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long patientId;
|
||||
|
||||
/** 标识类型编码 */
|
||||
private String typeCode;
|
||||
|
||||
/** 标识号 */
|
||||
private String identifierNo;
|
||||
|
||||
/** 有效时间Start */
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date startTime;
|
||||
|
||||
/** 有效时间end */
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date endTime;
|
||||
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.openhis.web.patientmanage.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 病人信息查询参数Dto
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/3/31
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class PatientInfoSearchParam {
|
||||
|
||||
/** 病人编号 */
|
||||
private String busNo;
|
||||
}
|
||||
@@ -1,226 +0,0 @@
|
||||
package com.openhis.web.patientmanage.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.openhis.common.annotation.Dict;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 病人信息Dto
|
||||
*
|
||||
* @author liuhr
|
||||
* @date 2025/2/22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class PatientInformationDto {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 临时标识
|
||||
*/
|
||||
private Integer tempFlag;
|
||||
|
||||
/**
|
||||
* 患者姓名
|
||||
*/
|
||||
@NotBlank(message = "患者姓名不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 患者其他名称
|
||||
*/
|
||||
private String nameJson;
|
||||
|
||||
/**
|
||||
* 患者院内编码/病历号
|
||||
*/
|
||||
private String busNo;
|
||||
|
||||
/**
|
||||
* 性别编码
|
||||
*/
|
||||
@NotNull
|
||||
private Integer genderEnum;
|
||||
private String genderEnum_enumText;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private Date birthDate;
|
||||
|
||||
/**
|
||||
* 死亡时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date deceasedDate;
|
||||
|
||||
/**
|
||||
* 婚姻状态
|
||||
*/
|
||||
private Integer maritalStatusEnum;
|
||||
private String maritalStatusEnum_enumText;
|
||||
|
||||
/**
|
||||
* 职业编码
|
||||
*/
|
||||
private Integer prfsEnum;
|
||||
private String prfsEnum_enumText;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@Pattern(regexp = "^$|^1[3-9]\\d{9}$", message = "电话格式不正确(必须为11位有效手机号)")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 地址省
|
||||
*/
|
||||
private String addressProvince;
|
||||
|
||||
/**
|
||||
* 地址市
|
||||
*/
|
||||
private String addressCity;
|
||||
|
||||
/**
|
||||
* 地址区
|
||||
*/
|
||||
private String addressDistrict;
|
||||
|
||||
/**
|
||||
* 地址街道
|
||||
*/
|
||||
private String addressStreet;
|
||||
|
||||
/**
|
||||
* 患者其他地址
|
||||
*/
|
||||
private String addressJson;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nationalityCode;
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 证件类型
|
||||
*/
|
||||
@Dict(dictCode = "sys_idtype")
|
||||
private String typeCode;
|
||||
private String typeCode_dictText;
|
||||
|
||||
/**
|
||||
* 标识号
|
||||
*/
|
||||
private String identifierNo;
|
||||
|
||||
/**
|
||||
* 拼音码
|
||||
*/
|
||||
private String pyStr;
|
||||
|
||||
/**
|
||||
* 五笔码
|
||||
*/
|
||||
private String wbStr;
|
||||
|
||||
/**
|
||||
* 血型ABO
|
||||
*/
|
||||
private Integer bloodAbo;
|
||||
private String bloodAbo_enumText;
|
||||
|
||||
/**
|
||||
* 血型RH
|
||||
*/
|
||||
private Integer bloodRh;
|
||||
private String bloodRh_enumText;
|
||||
|
||||
/**
|
||||
* 工作单位
|
||||
*/
|
||||
private String workCompany;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 国家编码
|
||||
*/
|
||||
private String countryCode;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
private String linkName;
|
||||
|
||||
/**
|
||||
* 联系人关系
|
||||
*/
|
||||
private Integer linkRelationCode;
|
||||
private String linkRelationCode_enumText;
|
||||
|
||||
/**
|
||||
* 联系人电话
|
||||
*/
|
||||
// @Size(min = 11, max = 11, message = "电话长度必须为11位")
|
||||
// @Pattern(regexp = "^1[3-9]\\d{9}$", message = "电话格式不正确")
|
||||
@Pattern(regexp = "^$|^1[3-9]\\d{9}$", message = "联系人电话格式不正确(必须为11位有效手机号)")
|
||||
private String linkTelcom;
|
||||
|
||||
/**
|
||||
* 其他联系人
|
||||
*/
|
||||
private String linkJsons;
|
||||
|
||||
/**
|
||||
* 机构Id
|
||||
*/
|
||||
private Long organizationId;
|
||||
|
||||
/**
|
||||
* 机构名
|
||||
*/
|
||||
private String organizationName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 年龄
|
||||
*/
|
||||
private Integer age;
|
||||
|
||||
}
|
||||
@@ -11,9 +11,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.openhis.administration.domain.Patient;
|
||||
import com.openhis.web.patientmanage.dto.OutpatientRecordDto;
|
||||
import com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam;
|
||||
import com.openhis.web.patientmanage.dto.PatientInformationDto;
|
||||
import com.openhis.web.patientmanage.dto.PatientBaseInfoDto;
|
||||
import com.openhis.web.patientmanage.dto.PatientIdInfoDto;
|
||||
|
||||
/**
|
||||
* 病人信息管理
|
||||
@@ -31,26 +30,15 @@ public interface PatientManageMapper extends BaseMapper<Patient> {
|
||||
* @param queryWrapper 查询条件
|
||||
* @return 病人信息列表
|
||||
*/
|
||||
IPage<PatientInformationDto> getPatientPage(@Param("page") Page<PatientInformationDto> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<PatientInformationDto> queryWrapper);
|
||||
IPage<PatientBaseInfoDto> getPatientPage(@Param("page") Page<PatientBaseInfoDto> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<PatientBaseInfoDto> queryWrapper);
|
||||
|
||||
/**
|
||||
* 门诊信息分页查询
|
||||
*
|
||||
* @param typeCode 参与者身份类型(枚举类ParticipantType)
|
||||
* @param page 分页参数
|
||||
* @param queryWrapper 查询条件
|
||||
* @return 门诊信息列表
|
||||
* 查询患者身份信息
|
||||
*
|
||||
* @param patientIdList 患者id集合
|
||||
* @return 患者身份信息
|
||||
*/
|
||||
IPage<OutpatientRecordDto> getOutpatientRecord(@Param("typeCode") String typeCode,
|
||||
@Param("page") Page<OutpatientRecordDto> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<OutpatientRecordDto> queryWrapper);
|
||||
|
||||
/**
|
||||
* 获取医生名字列表
|
||||
*
|
||||
* @return 医生名字列表
|
||||
*/
|
||||
List<String> getDoctorNames();
|
||||
List<PatientIdInfoDto> getPatientIdInfo(@Param("patientIdList") List<Long> patientIdList);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user