诊断调整

This commit is contained in:
Wang.Huan
2025-03-21 11:51:46 +08:00
parent 0bed4969a4
commit 0426da6176
9 changed files with 164 additions and 4 deletions

View File

@@ -74,4 +74,20 @@ public interface IDoctorStationDiagnosisAppService {
*/
R<?> getConditionDefinitionBusinessClass(Long patientId);
/**
* 查询就诊诊断信息
*
* @param encounterId 就诊id
* @return 就诊诊断信息
*/
R<?> getEncounterDiagnosis(Long encounterId);
/**
* 删除就诊诊断信息
*
* @param conditionId 诊断ID
* @return 结果
*/
R<?> delEncounterDiagnosis(Long conditionId);
}

View File

@@ -210,6 +210,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
medicationRequest.setRateCode(adviceSaveDto.getRateCode());
medicationRequest.setDose(adviceSaveDto.getDose());
medicationRequest.setDoseUnitCode(adviceSaveDto.getDoseUnitCode());
medicationRequest.setSkinTestFlag(adviceSaveDto.getSkinTestFlag()); // 皮试标记
medicationRequest.setGroupId(adviceSaveDto.getGroupId());// 分组id
// medicationRequest.setPackageId(adviceSaveDto.getPackageId());

View File

@@ -26,10 +26,7 @@ import com.openhis.clinical.service.IConditionService;
import com.openhis.clinical.service.IDiagnosisBelongBindingService;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.BindingType;
import com.openhis.common.enums.ConditionDefinitionSource;
import com.openhis.common.enums.PublicationStatus;
import com.openhis.common.enums.Whether;
import com.openhis.common.enums.*;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisPageUtils;
import com.openhis.common.utils.HisQueryUtils;
@@ -240,6 +237,46 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
return R.ok(conditionDefinitionBusinessClass);
}
/**
* 查询就诊诊断信息
*
* @param encounterId 就诊id
* @return 就诊诊断信息
*/
@Override
public R<?> getEncounterDiagnosis(Long encounterId) {
List<DiagnosisQueryDto> encounterDiagnosis = doctorStationDiagnosisAppMapper.getEncounterDiagnosis(encounterId);
for (DiagnosisQueryDto diagnosis : encounterDiagnosis) {
// 中医诊断/西医诊断
if (ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue()
.equals(diagnosis.getSourceEnum())
|| ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue()
.equals(diagnosis.getSourceEnum())) {
diagnosis.setTypeName(CommonConstants.BusinessName.TCM_DIAGNOSIS);
} else {
diagnosis.setTypeName(CommonConstants.BusinessName.WESTERN_MEDICINE_DIAGNOSIS);
}
// 验证状态
diagnosis.setVerificationStatusEnum_enumText(
EnumUtils.getInfoByValue(ConditionVerificationStatus.class, diagnosis.getVerificationStatusEnum()));
}
return R.ok(encounterDiagnosis);
}
/**
* 删除就诊诊断信息
*
* @param conditionId 诊断ID
* @return 结果
*/
@Override
public R<?> delEncounterDiagnosis(Long conditionId) {
iConditionService.removeById(conditionId);
iEncounterDiagnosisService
.remove(new LambdaQueryWrapper<EncounterDiagnosis>().eq(EncounterDiagnosis::getConditionId, conditionId));
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"就诊诊断信息"}));
}
/**
* 处理诊断定义元数据
*

View File

@@ -147,4 +147,27 @@ public class DoctorStationDiagnosisController {
return iDoctorStationDiagnosisAppService.getConditionDefinitionBusinessClass(patientId);
}
/**
* 查询就诊诊断信息
*
* @param encounterId 就诊id
* @return 就诊诊断信息
*/
@GetMapping(value = "/get-encounter-diagnosis")
public R<?> getEncounterDiagnosis(@RequestParam Long encounterId) {
return iDoctorStationDiagnosisAppService.getEncounterDiagnosis(encounterId);
}
/**
* 删除就诊诊断信息
*
* @param conditionId 诊断ID
* @return 结果
*/
@DeleteMapping(value = "/encounter-diagnosis")
public R<?> delEncounterDiagnosis(@RequestParam Long conditionId) {
return iDoctorStationDiagnosisAppService.delEncounterDiagnosis(conditionId);
}
}

View File

@@ -94,6 +94,11 @@ public class AdviceSaveDto {
/** 剂量单位 */
private String doseUnitCode;
/**
* 皮试标志 1:是 , 0:否
*/
private Integer skinTestFlag;
/**
* 分组id , 一组药品共用一个id,前端传过来
*/

View File

@@ -0,0 +1,52 @@
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;
/**
* 诊断查询 dto
*
* @author system
* @date 2025-02-20
*/
@Data
@Accessors(chain = true)
public class DiagnosisQueryDto {
/**
* 诊断ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long conditionId;
/**
* 诊断定义id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionId;
/** 所属分类 */
private Integer sourceEnum;
/**
* 诊断类型(中医诊断或西医诊断)
*/
private String typeName;
/** 诊断名称 */
private String name;
/**
* 主诊断标记 (1:是,0:否)
*/
private Integer maindiseFlag;
/**
* 验证状态
*/
private Integer verificationStatusEnum;
private String verificationStatusEnum_enumText;
}

View File

@@ -40,6 +40,7 @@ public class SaveDiagnosisChildParam {
/**
* 诊断ID - 用于存储 adm_encounter_diagnosis表
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long conditionId;
}

View File

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata;
import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto;
import com.openhis.web.doctorstation.dto.DiagnosisQueryDto;
/**
* 医生站-诊断 应用Mapper
@@ -73,4 +74,12 @@ public interface DoctorStationDiagnosisAppMapper {
List<ConditionDefinitionMetadata> getOrganizationList(@Param("statusEnum") Integer statusEnum,
@Param("bindingEnum") Integer bindingEnum, @Param("currentUserOrganizationId") Long currentUserOrganizationId);
/**
* 查询就诊诊断信息
*
* @param encounterId 就诊id
* @return 就诊诊断信息
*/
List<DiagnosisQueryDto> getEncounterDiagnosis(@Param("encounterId") Long encounterId);
}

View File

@@ -116,4 +116,20 @@
AND T1.status_enum = #{statusEnum}
</select>
<select id="getEncounterDiagnosis" resultType="com.openhis.web.doctorstation.dto.DiagnosisQueryDto">
SELECT T1.condition_id,
T2.definition_id,
T3.source_enum,
T3.NAME,
T1.maindise_flag,
T2.verification_status_enum
FROM adm_encounter_diagnosis AS T1
LEFT JOIN cli_condition AS T2 ON T2.ID = T1.condition_id
AND T2.delete_flag = '0'
LEFT JOIN cli_condition_definition AS T3 ON t3.ID = T2.definition_id
AND T3.delete_flag = '0'
WHERE T1.delete_flag = '0'
AND T1.encounter_id = #{encounterId}
</select>
</mapper>