医生站-诊断

This commit is contained in:
Wang.Huan
2025-03-11 19:10:40 +08:00
parent 4e60af7db2
commit a96b47b41f
16 changed files with 341 additions and 85 deletions

View File

@@ -1,7 +1,10 @@
package com.openhis.web.doctorstation.appservice; package com.openhis.web.doctorstation.appservice;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata;
import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto; import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto;
import com.openhis.web.doctorstation.dto.SaveDiagnosisParam;
/** /**
* 医生站-诊断 应用Service * 医生站-诊断 应用Service
@@ -44,4 +47,23 @@ public interface IDoctorStationDiagnosisAppService {
*/ */
R<?> delDiagnosisBelongBinding(Long id); R<?> delDiagnosisBelongBinding(Long id);
/**
* 查询诊断信息
*
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @return 诊断信息
*/
Page<ConditionDefinitionMetadata> getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo,
Integer pageSize);
/**
* 医生保存诊断
*
* @param saveDiagnosisParam 诊断信息
* @return 结果
*/
R<?> saveDoctorDiagnosis(SaveDiagnosisParam saveDiagnosisParam);
} }

View File

@@ -2,6 +2,7 @@ package com.openhis.web.doctorstation.appservice.impl;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -14,14 +15,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.core.common.utils.MessageUtils; import com.core.common.utils.MessageUtils;
import com.openhis.administration.domain.EncounterDiagnosis;
import com.openhis.administration.service.IEncounterDiagnosisService;
import com.openhis.clinical.domain.Condition;
import com.openhis.clinical.domain.ConditionDefinition;
import com.openhis.clinical.domain.DiagnosisBelongBinding; import com.openhis.clinical.domain.DiagnosisBelongBinding;
import com.openhis.clinical.mapper.ConditionDefinitionMapper;
import com.openhis.clinical.service.IConditionService;
import com.openhis.clinical.service.IDiagnosisBelongBindingService; import com.openhis.clinical.service.IDiagnosisBelongBindingService;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.BindingType; import com.openhis.common.enums.BindingType;
import com.openhis.common.enums.ConditionDefinitionSource;
import com.openhis.common.enums.PublicationStatus;
import com.openhis.common.enums.WhetherContainUnknown;
import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisPageUtils;
import com.openhis.common.utils.HisQueryUtils; import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.doctorstation.appservice.IDoctorStationDiagnosisAppService; import com.openhis.web.doctorstation.appservice.IDoctorStationDiagnosisAppService;
import com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata;
import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto; import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto;
import com.openhis.web.doctorstation.dto.SaveDiagnosisChildParam;
import com.openhis.web.doctorstation.dto.SaveDiagnosisParam;
import com.openhis.web.doctorstation.mapper.DoctorStationDiagnosisAppMapper; import com.openhis.web.doctorstation.mapper.DoctorStationDiagnosisAppMapper;
/** /**
@@ -36,6 +51,15 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
@Resource @Resource
DoctorStationDiagnosisAppMapper doctorStationDiagnosisAppMapper; DoctorStationDiagnosisAppMapper doctorStationDiagnosisAppMapper;
@Resource
ConditionDefinitionMapper conditionDefinitionMapper;
@Resource
IConditionService iConditionService;
@Resource
IEncounterDiagnosisService iEncounterDiagnosisService;
/** /**
* 新增诊断归属绑定 * 新增诊断归属绑定
* *
@@ -119,4 +143,84 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
: R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null)); : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null));
} }
/**
* 查询诊断信息
*
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @return 诊断信息
*/
@Override
public Page<ConditionDefinitionMetadata> getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo,
Integer pageSize) {
// 构建查询条件
ConditionDefinition conditionDefinition = new ConditionDefinition();
// 查询状态是有效的
conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue());
QueryWrapper<ConditionDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(conditionDefinition, searchKey,
new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null);
// 设置排序
queryWrapper.orderByDesc("update_time");
// 诊断信息
Page<ConditionDefinitionMetadata> conditionDefinitionMetadataPage = HisPageUtils
.selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class);
conditionDefinitionMetadataPage.getRecords().forEach(e -> {
// 所属分类
e.setSourceEnum_enumText(EnumUtils.getInfoByValue(ConditionDefinitionSource.class, e.getSourceEnum()));
// 中医诊断/西医诊断
if (ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue().equals(e.getSourceEnum())
|| ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue()
.equals(e.getSourceEnum())) {
e.setTypeName(CommonConstants.BusinessName.TCM_DIAGNOSIS);
} else {
e.setTypeName(CommonConstants.BusinessName.WESTERN_MEDICINE_DIAGNOSIS);
}
// 医保标记
e.setYbFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbFlag()));
// 医保对码标记
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbMatchFlag()));
});
return conditionDefinitionMetadataPage;
}
/**
* 医生保存诊断
*
* @param saveDiagnosisParam 诊断信息
* @return 结果
*/
@Override
public R<?> saveDoctorDiagnosis(SaveDiagnosisParam saveDiagnosisParam) {
// 患者id
Long patientId = saveDiagnosisParam.getPatientId();
// 就诊ID
Long encounterId = saveDiagnosisParam.getEncounterId();
// 诊断定义集合
List<SaveDiagnosisChildParam> diagnosisChildList = saveDiagnosisParam.getDiagnosisChildList();
// 保存诊断管理
Condition condition;
for (SaveDiagnosisChildParam saveDiagnosisChildParam : diagnosisChildList) {
condition = new Condition();
condition.setVerificationStatusEnum(saveDiagnosisChildParam.getVerificationStatusEnum());
condition.setPatientId(patientId);
condition.setDefinitionId(saveDiagnosisChildParam.getDefinitionId());
condition.setYbNo(saveDiagnosisChildParam.getYbNo());
// 返回诊断id
Long conditionId = iConditionService.saveConditionByDoctor(condition);
saveDiagnosisChildParam.setConditionId(conditionId);
}
// 保存就诊诊断
EncounterDiagnosis encounterDiagnosis;
for (SaveDiagnosisChildParam saveDiagnosisChildParam : diagnosisChildList) {
encounterDiagnosis = new EncounterDiagnosis();
encounterDiagnosis.setEncounterId(encounterId);
encounterDiagnosis.setConditionId(saveDiagnosisChildParam.getConditionId());
encounterDiagnosis.setMaindiseFlag(saveDiagnosisChildParam.getMaindiseFlag());
iEncounterDiagnosisService.save(encounterDiagnosis);
}
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊断"}));
}
} }

View File

@@ -12,9 +12,11 @@ import org.springframework.web.bind.annotation.*;
import com.core.common.core.domain.R; import com.core.common.core.domain.R;
import com.openhis.common.enums.BindingType; import com.openhis.common.enums.BindingType;
import com.openhis.common.enums.ConditionVerificationStatus;
import com.openhis.web.doctorstation.appservice.IDoctorStationDiagnosisAppService; import com.openhis.web.doctorstation.appservice.IDoctorStationDiagnosisAppService;
import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto; import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto;
import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingInitDto; import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingInitDto;
import com.openhis.web.doctorstation.dto.SaveDiagnosisParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -31,7 +33,7 @@ public class DoctorStationDiagnosisController {
private final IDoctorStationDiagnosisAppService iDoctorStationDiagnosisAppService; private final IDoctorStationDiagnosisAppService iDoctorStationDiagnosisAppService;
/** /**
* 诊断归属绑定基础数据 * 诊断相关数据初始化
* *
* @return * @return
*/ */
@@ -39,12 +41,20 @@ public class DoctorStationDiagnosisController {
public R<?> init() { public R<?> init() {
DiagnosisBelongBindingInitDto diagnosisBelongBindingInitDto = new DiagnosisBelongBindingInitDto(); DiagnosisBelongBindingInitDto diagnosisBelongBindingInitDto = new DiagnosisBelongBindingInitDto();
// 诊断绑定类型 - 用于维护诊断归属绑定关系 // 诊断绑定类型 - 用于维护诊断归属绑定关系
List<DiagnosisBelongBindingInitDto.DiagnosisBelongBindingOption> diagnosisBelongBindingOption = List<DiagnosisBelongBindingInitDto.DiagnosisBelongBindingOption> diagnosisBelongBindingOptions =
Stream.of(BindingType.values()) Stream.of(BindingType.values())
.map(status -> new DiagnosisBelongBindingInitDto.DiagnosisBelongBindingOption(status.getValue(), .map(status -> new DiagnosisBelongBindingInitDto.DiagnosisBelongBindingOption(status.getValue(),
status.getInfo())) status.getInfo()))
.collect(Collectors.toList()); .collect(Collectors.toList());
diagnosisBelongBindingInitDto.setDiagnosisBelongBindingOptions(diagnosisBelongBindingOption); diagnosisBelongBindingInitDto.setDiagnosisBelongBindingOptions(diagnosisBelongBindingOptions);
// 诊断验证状态 - 用于医生开诊断"疑似"的取值
List<DiagnosisBelongBindingInitDto.VerificationStatusOption> verificationStatusOptions =
Stream.of(ConditionVerificationStatus.values())
.map(status -> new DiagnosisBelongBindingInitDto.VerificationStatusOption(status.getValue(),
status.getInfo()))
.collect(Collectors.toList());
diagnosisBelongBindingInitDto.setVerificationStatusOptions(verificationStatusOptions);
return R.ok(diagnosisBelongBindingInitDto); return R.ok(diagnosisBelongBindingInitDto);
} }
@@ -100,4 +110,31 @@ public class DoctorStationDiagnosisController {
return iDoctorStationDiagnosisAppService.delDiagnosisBelongBinding(id); return iDoctorStationDiagnosisAppService.delDiagnosisBelongBinding(id);
} }
/**
* 查询诊断定义列表
*
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @return 诊断定义列表
*/
@GetMapping(value = "/condition-definition-metadata")
public R<?> getConditionDefinitionMetadata(@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
return R
.ok(iDoctorStationDiagnosisAppService.getConditionDefinitionMetadataSearchKey(searchKey, pageNo, pageSize));
}
/**
* 医生保存诊断
*
* @param saveDiagnosisParam 诊断信息
* @return 结果
*/
@PostMapping(value = "/save-doctor-diagnosis")
public R<?> saveDoctorDiagnosis(@RequestBody SaveDiagnosisParam saveDiagnosisParam) {
return iDoctorStationDiagnosisAppService.saveDoctorDiagnosis(saveDiagnosisParam);
}
} }

View File

@@ -1,4 +1,4 @@
package com.openhis.web.outpatientservice.dto; package com.openhis.web.doctorstation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* 诊断 元数据 * 诊断定义 元数据
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@@ -17,6 +17,10 @@ public class ConditionDefinitionMetadata {
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
/** 所属分类 */
private Integer sourceEnum;
private String sourceEnum_enumText;
/** 编码 */ /** 编码 */
private String conditionCode; private String conditionCode;
@@ -34,4 +38,9 @@ public class ConditionDefinitionMetadata {
private Integer ybMatchFlag; private Integer ybMatchFlag;
private String ybMatchFlag_enumText; private String ybMatchFlag_enumText;
/**
* 诊断类型(中医诊断或西医诊断)
*/
private String typeName;
} }

View File

@@ -13,6 +13,7 @@ import lombok.experimental.Accessors;
public class DiagnosisBelongBindingInitDto { public class DiagnosisBelongBindingInitDto {
private List<DiagnosisBelongBindingOption> diagnosisBelongBindingOptions; private List<DiagnosisBelongBindingOption> diagnosisBelongBindingOptions;
private List<VerificationStatusOption> verificationStatusOptions;
/** /**
* 诊断绑定类型 - 用于维护诊断归属绑定关系 * 诊断绑定类型 - 用于维护诊断归属绑定关系
@@ -28,4 +29,18 @@ public class DiagnosisBelongBindingInitDto {
} }
} }
/**
* 诊断验证状态 - 用于医生开诊断"疑似"的取值
*/
@Data
public static class VerificationStatusOption {
private Integer value;
private String label;
public VerificationStatusOption(Integer value, String label) {
this.value = value;
this.label = label;
}
}
} }

View File

@@ -0,0 +1,45 @@
package com.openhis.web.doctorstation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 保存诊断 子参数类
*
* @author system
* @date 2025-02-20
*/
@Data
@Accessors(chain = true)
public class SaveDiagnosisChildParam {
/**
* 诊断定义id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionId;
/**
* 医保编码
*/
private String ybNo;
/**
* 验证状态
*/
private Integer verificationStatusEnum;
/**
* 主诊断标记 (1:是,0:否)
*/
private Integer maindiseFlag;
/**
* 诊断ID - 用于存储 adm_encounter_diagnosis表
*/
private Long conditionId;
}

View File

@@ -0,0 +1,39 @@
package com.openhis.web.doctorstation.dto;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 保存诊断 主参数类
*
* @author system
* @date 2025-02-20
*/
@Data
@Accessors(chain = true)
public class SaveDiagnosisParam {
/**
* 患者id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long patientId;
/**
* 就诊ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long encounterId;
/**
* 诊断子集合
*/
private List<SaveDiagnosisChildParam> diagnosisChildList;
}

View File

@@ -30,17 +30,6 @@ public interface IOutpatientRegistrationAppService {
*/ */
List<ContractMetadata> getContractMetadata(); List<ContractMetadata> getContractMetadata();
/**
* 查询诊断信息
*
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @return 诊断信息
*/
Page<ConditionDefinitionMetadata> getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo,
Integer pageSize);
/** /**
* 根据位置id筛选医生 * 根据位置id筛选医生
* *

View File

@@ -20,8 +20,6 @@ import com.core.common.utils.bean.BeanUtils;
import com.openhis.administration.domain.*; import com.openhis.administration.domain.*;
import com.openhis.administration.mapper.PatientMapper; import com.openhis.administration.mapper.PatientMapper;
import com.openhis.administration.service.*; import com.openhis.administration.service.*;
import com.openhis.clinical.domain.ConditionDefinition;
import com.openhis.clinical.mapper.ConditionDefinitionMapper;
import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.CommonConstants;
import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.*; import com.openhis.common.enums.*;
@@ -49,9 +47,6 @@ public class OutpatientRegistrationAppServiceImpl implements IOutpatientRegistra
@Resource @Resource
ContractMapper contractMapper; ContractMapper contractMapper;
@Resource
ConditionDefinitionMapper conditionDefinitionMapper;
@Resource @Resource
OutpatientRegistrationAppMapper outpatientRegistrationAppMapper; OutpatientRegistrationAppMapper outpatientRegistrationAppMapper;
@@ -130,37 +125,6 @@ public class OutpatientRegistrationAppServiceImpl implements IOutpatientRegistra
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
/**
* 查询诊断信息
*
* @param searchKey 模糊查询关键字
* @param pageNo 当前页
* @param pageSize 每页多少条
* @return 诊断信息
*/
@Override
public Page<ConditionDefinitionMetadata> getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo,
Integer pageSize) {
// 构建查询条件
ConditionDefinition conditionDefinition = new ConditionDefinition();
// 查询状态是有效的
conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue());
QueryWrapper<ConditionDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(conditionDefinition, searchKey,
new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null);
// 设置排序
queryWrapper.orderByDesc("update_time");
// 诊断信息
Page<ConditionDefinitionMetadata> conditionDefinitionMetadataPage = HisPageUtils
.selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class);
conditionDefinitionMetadataPage.getRecords().forEach(e -> {
// 医保标记
e.setYbFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbFlag()));
// 医保对码标记
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbMatchFlag()));
});
return conditionDefinitionMetadataPage;
}
/** /**
* 根据位置id筛选医生 * 根据位置id筛选医生
* *

View File

@@ -74,17 +74,6 @@ public class OutpatientRegistrationController {
return R.ok(iOutpatientRegistrationAppService.getContractMetadata()); return R.ok(iOutpatientRegistrationAppService.getContractMetadata());
} }
/**
* 查询诊断信息
*/
@GetMapping(value = "/condition-definition-metadata")
public R<?> getConditionDefinitionMetadata(@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
return R
.ok(iOutpatientRegistrationAppService.getConditionDefinitionMetadataSearchKey(searchKey, pageNo, pageSize));
}
/** /**
* 查询就诊位置 * 查询就诊位置
* *

View File

@@ -84,4 +84,20 @@ public class CommonConstants {
String BusNo = "bus_no"; String BusNo = "bus_no";
} }
/**
* 业务常量
*/
public interface BusinessName {
/**
* 西医诊断
*/
String WESTERN_MEDICINE_DIAGNOSIS = "西医诊断";
/**
* 中医诊断
*/
String TCM_DIAGNOSIS = "中医诊断";
}
} }

View File

@@ -1,18 +1,27 @@
package com.openhis.common.enums; package com.openhis.common.enums;
import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
/**
* 验证状态
*/
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum ConditionVerificationStatus { public enum ConditionVerificationStatus implements HisEnumInterface {
UNCONFIRMED(1, "UNCONFIRMED", "未确诊The disease status is unconfirmed."), UNCONFIRMED(1, "UNCONFIRMED", "未确诊"),
PROVISIONAL(2, "PROVISIONAL", "疑似诊断The disease status is provisional."),
DIFFERENTIAL(3, "DIFFERENTIAL", "多个诊断选项之一The diagnosis is one of several possibilities."), PROVISIONAL(2, "PROVISIONAL", "疑似"),
CONFIRMED(4, "CONFIRMED", "已确诊The disease status has been confirmed."),
REFUTED(5, "REFUTED", "已排除The disease status has been refuted."), DIFFERENTIAL(3, "DIFFERENTIAL", "有差异"),
ENTERED_IN_ERROR(6, "ENTERED_IN_ERROR", "The disease status was entered in error.");
CONFIRMED(4, "CONFIRMED", "已确诊"),
REFUTED(5, "REFUTED", "已排除"),
ENTERED_IN_ERROR(6, "ENTERED_IN_ERROR", "未知");
@EnumValue @EnumValue
private final Integer value; private final Integer value;

View File

@@ -1,13 +1,10 @@
package com.openhis.administration.domain; package com.openhis.administration.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -52,5 +49,4 @@ public class EncounterDiagnosis extends HisBaseEntity {
/** 最高诊断依据标记 */ /** 最高诊断依据标记 */
private Integer highDiseEvidFlag; private Integer highDiseEvidFlag;
} }

View File

@@ -1,17 +1,12 @@
package com.openhis.clinical.domain; package com.openhis.clinical.domain;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.ConditionCategory;
import com.openhis.common.enums.ConditionClinicalStatus;
import com.openhis.common.enums.ConditionSeverity;
import com.openhis.common.enums.ConditionVerificationStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -33,16 +28,16 @@ public class Condition extends HisBaseEntity {
private Long id; private Long id;
/** 验证状态 */ /** 验证状态 */
private ConditionVerificationStatus verificationStatusEnum; private Integer verificationStatusEnum;
/** 临床特征 */ /** 临床特征 */
private ConditionClinicalStatus clinicalStatusEnum; private Integer clinicalStatusEnum;
/** 分类 */ /** 分类 */
private ConditionCategory categoryEnum; private Integer categoryEnum;
/** 严重程度 */ /** 严重程度 */
private ConditionSeverity severityEnum; private Integer severityEnum;
/** 疾病或诊断编码 */ /** 疾病或诊断编码 */
private String busNo; private String busNo;
@@ -92,5 +87,7 @@ public class Condition extends HisBaseEntity {
/** 医保编码 */ /** 医保编码 */
private String ybNo; private String ybNo;
/** 诊断定义Id */
private Long definitionId;
} }

View File

@@ -11,4 +11,12 @@ import com.openhis.clinical.domain.Condition;
*/ */
public interface IConditionService extends IService<Condition> { public interface IConditionService extends IService<Condition> {
/**
* 医生门诊就诊时保存诊断
*
* @param condition 诊断信息
* @return 主键ID
*/
Long saveConditionByDoctor(Condition condition);
} }

View File

@@ -1,8 +1,11 @@
package com.openhis.clinical.service.impl; package com.openhis.clinical.service.impl;
import java.util.Date;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.utils.SecurityUtils;
import com.openhis.clinical.domain.Condition; import com.openhis.clinical.domain.Condition;
import com.openhis.clinical.mapper.ConditionMapper; import com.openhis.clinical.mapper.ConditionMapper;
import com.openhis.clinical.service.IConditionService; import com.openhis.clinical.service.IConditionService;
@@ -16,4 +19,18 @@ import com.openhis.clinical.service.IConditionService;
@Service @Service
public class ConditionServiceImpl extends ServiceImpl<ConditionMapper, Condition> implements IConditionService { public class ConditionServiceImpl extends ServiceImpl<ConditionMapper, Condition> implements IConditionService {
/**
* 医生门诊就诊时保存诊断
*
* @param condition 诊断信息
* @return 主键ID
*/
@Override
public Long saveConditionByDoctor(Condition condition) {
condition.setRecordedDatetime(new Date());
condition.setRecorderId(SecurityUtils.getLoginUser().getUserId());
baseMapper.insert(condition);
return condition.getId();
}
} }