diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 3aec0b088..2fcc01c40 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2978,6 +2978,20 @@ + + + 获取患者基本信息 + + + + + + + 编辑患者基本信息 + + + + 指定资源Id,渲染Dicom检查的Jpeg预览图像 Dicom检查的Id @@ -17255,17 +17269,17 @@ - 质疑 + ���� - 一致性核查 + һ���Ժ˲� - 复制 + ���� @@ -18386,6 +18400,66 @@ ISystemDocumentService + + + 性别 + + + + + 体重 + + + + + 总剂量 + + + + + 半衰期 + + + + + 注射时间 + + + + + 成像 / 采集时间 + + + + + 性别 + + + + + 体重 + + + + + 总剂量 + + + + + 半衰期 + + + + + 注射时间 + + + + + 成像 / 采集时间 + + 总剂量 diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 965cda9da..b0da579f7 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -194,6 +194,81 @@ namespace IRaCIS.Core.Application.Contracts } + public class EditPatientInfoCommand + { + public Guid StudyId { get; set; } + /// + /// 性别 + /// + public string PatientSex { get; set; } = null!; + + /// + /// 体重 + /// + public string PatientWeight { get; set; } + + /// + /// 总剂量 + /// + public string RadionuclideTotalDose { get; set; } = null!; + + /// + /// 半衰期 + /// + public string RadionuclideHalfLife { get; set; } = null!; + + /// + /// 注射时间 + /// + public string RadiopharmaceuticalStartTime { get; set; } = null!; + + /// + /// 成像 / 采集时间 + /// + public string AcquisitionTime { get; set; } = null!; + } + + public class GetPatientInfoInDto + { + public Guid StudyId { get; set; } + } + + public class PatientInfoDto + { + + public Guid StudyId { get; set; } + + /// + /// 性别 + /// + public string PatientSex { get; set; } = null!; + + /// + /// 体重 + /// + public string PatientWeight { get; set; } + + /// + /// 总剂量 + /// + public string RadionuclideTotalDose { get; set; } = null!; + + /// + /// 半衰期 + /// + public string RadionuclideHalfLife { get; set; } = null!; + + /// + /// 注射时间 + /// + public string RadiopharmaceuticalStartTime { get; set; } = null!; + + /// + /// 成像 / 采集时间 + /// + public string AcquisitionTime { get; set; } = null!; + } + public class PreArchiveDicomStudyCommand { diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 9a636cdac..d003bd97f 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -177,6 +177,41 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } + /// + /// 获取患者基本信息 + /// + /// + /// + [HttpPost] + public async Task GetPatientInfo(GetPatientInfoInDto inDto) + { + var study = await _dicomStudyRepository.Where(s => s.Id == inDto.StudyId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); + + return study; + } + + /// + /// 编辑患者基本信息 + /// + /// + /// + [HttpPost] + public async Task EditPatientInfo(EditPatientInfoCommand command) + { + await _dicomStudyRepository.UpdatePartialFromQueryAsync(command.StudyId, x => new DicomStudy + { + PatientSex = command.PatientSex, + PatientWeight = command.PatientWeight, + RadionuclideTotalDose = command.RadionuclideTotalDose, + RadionuclideHalfLife = command.RadionuclideHalfLife, + RadiopharmaceuticalStartTime = command.RadiopharmaceuticalStartTime, + AcquisitionTime = command.AcquisitionTime, + }); + await _dicomStudyRepository.SaveChangesAsync(); + + return ResponseOutput.Ok(); + } + [TrialGlobalLimit("AfterStopCannNotOpt")] @@ -440,13 +475,13 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { await _dicomStudyRepository.UpdatePartialFromQueryAsync(t => t.Id == findStudy.Id, u => new DicomStudy() { - RadionuclideTotalDose = incommand.Study.RadionuclideTotalDose.IsNotNullOrEmpty()? incommand.Study.RadionuclideTotalDose : findStudy.RadionuclideTotalDose, + RadionuclideTotalDose = incommand.Study.RadionuclideTotalDose.IsNotNullOrEmpty() ? incommand.Study.RadionuclideTotalDose : findStudy.RadionuclideTotalDose, RadionuclideHalfLife = incommand.Study.RadionuclideHalfLife.IsNotNullOrEmpty() ? incommand.Study.RadionuclideHalfLife : findStudy.RadionuclideHalfLife, RadiopharmaceuticalStartTime = incommand.Study.RadiopharmaceuticalStartTime.IsNotNullOrEmpty() ? incommand.Study.RadiopharmaceuticalStartTime : findStudy.RadiopharmaceuticalStartTime }); } - + } diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs index f74509831..622806d77 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/_MapConfig.cs @@ -25,6 +25,8 @@ namespace IRaCIS.Core.Application.Service CreateMap(); + CreateMap(); + CreateMap(); diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index abd09105d..259fdff16 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -276,6 +276,42 @@ namespace IRaCIS.Core.Application.Contracts public string BodyPartForEditOther { get; set; } + + #region 核验 + + /// + /// 性别 + /// + public string PatientSex { get; set; } = null!; + + /// + /// 体重 + /// + public string PatientWeight { get; set; } + + /// + /// 总剂量 + /// + public string RadionuclideTotalDose { get; set; } = null!; + + /// + /// 半衰期 + /// + public string RadionuclideHalfLife { get; set; } = null!; + + /// + /// 注射时间 + /// + public string RadiopharmaceuticalStartTime { get; set; } = null!; + + /// + /// 成像 / 采集时间 + /// + public string AcquisitionTime { get; set; } = null!; + + + #endregion + public List SeriesList { get; set; } = new List(); } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 63b3bdad4..d8490f58f 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -589,7 +589,14 @@ namespace IRaCIS.Core.Application.Services StudyId = k.Id, BodyPartForEdit = k.BodyPartForEdit, - BodyPartForEditOther = k.BodyPartForEditOther + BodyPartForEditOther = k.BodyPartForEditOther, + PatientSex=k.PatientSex, + PatientWeight=k.PatientWeight, + RadionuclideTotalDose=k.RadionuclideTotalDose, + RadionuclideHalfLife=k.RadionuclideHalfLife, + RadiopharmaceuticalStartTime=k.RadiopharmaceuticalStartTime, + AcquisitionTime= k.AcquisitionTime, + }).ToListAsync(); diff --git a/IRaCIS.Core.Domain/Image/DicomStudy.cs b/IRaCIS.Core.Domain/Image/DicomStudy.cs index 52bc0d5da..5e53808c3 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudy.cs @@ -36,7 +36,7 @@ public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId public string AcquisitionNumber { get; set; } = null!; - public string AcquisitionTime { get; set; } = null!; + public string BodyPartExamined { get; set; } = null!; @@ -157,6 +157,10 @@ public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId /// public string RadiopharmaceuticalStartTime { get; set; } = null!; + /// + /// 成像 / 采集时间 + /// + public string AcquisitionTime { get; set; } = null!; #endregion