From 03026a84c72cfda384aa21bbd83bf463c9eee412 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:14:07 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 7 +++++++ .../Reading/ClinicalData/ClinicalAnswerService.cs | 10 +++++++++- .../Service/Reading/Dto/ClinicalAnswerDto.cs | 4 +++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index e9b41531c..9b20bf2e4 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2494,6 +2494,13 @@ 临床答案 + + + 自动添加CRC临床数据 + + + + 获取CRC受试者临床数据 diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 59268af2f..30d4df490 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -192,12 +192,20 @@ namespace IRaCIS.Core.Application.Service .Include(x=>x.ClinicalDataTrialSet).Select(x=>new GetCRCSubjectClinicalOutDto() { SubjectId=x.SubjectId, ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, - ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us), + ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName, + ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, }).OrderBy(x=>x.ClinicalDataSetName).ToListAsync(); + // 一次查询报错 分两次写 + clinicalData.ForEach(x => + { + x.ClinicalDataSetEnName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us); + }); + + var clinicalFormData = await _clinicalFormRepository.Where(x => x.SubjectId == inDto.TrialId).ToListAsync(); subjects.ForEach(x => diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 80825b48d..5c242ed5f 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -30,7 +30,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string ClinicalDataSetName { get; set; } - public int ClinicalCount { get; set; } = 0; + public string ClinicalDataSetEnName { get; set; } + + public int ClinicalCount { get; set; } = 0; } From 2c06dfb553aa48fb42c18389d72a423e24f44731 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:26:40 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 30d4df490..62013f5e9 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -183,7 +183,7 @@ namespace IRaCIS.Core.Application.Service var subjects = await _subjectRepository.Where(x => x.TrialId == inDto.TrialId).Select(x => new GetCRCSubjectClinicalResultDto() { SubjectId = x.Id, - SunjectCode = x.ShortName + SunjectCode = x.Code }).ToListAsync(); From 640c28a260ae445e1f7c023406e9f88911335dc6 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:27:03 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 62013f5e9..b6a308606 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -183,7 +183,7 @@ namespace IRaCIS.Core.Application.Service var subjects = await _subjectRepository.Where(x => x.TrialId == inDto.TrialId).Select(x => new GetCRCSubjectClinicalResultDto() { SubjectId = x.Id, - SunjectCode = x.Code + SubjectCode = x.Code }).ToListAsync(); From 013f63b52f3f1492105d790a7754497a3c4e3df6 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:27:25 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/ClinicalAnswerDto.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 5c242ed5f..ddec9aa32 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -40,7 +40,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectId { get; set; } - public string SunjectCode { get; set; } + public string SubjectCode { get; set; } public List ClinicalDataList { get; set; } } From 05adb5ee84a5faef7e0d342877039984107a5a59 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:51:29 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClinicalData/ClinicalAnswerService.cs | 33 +++++++------------ .../Service/Reading/Dto/ClinicalAnswerDto.cs | 2 ++ .../ClinicalData/ReadingClinicalData.cs | 5 +++ .../ClinicalQuestionAnswer/ClinicalForm.cs | 9 +++-- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index b6a308606..4b56cf569 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -169,7 +169,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) + public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) { await AutoAddCRCClinical(new AutoAddClinicalInDto() @@ -191,10 +191,11 @@ namespace IRaCIS.Core.Application.Service .Where(x=>!x.IsSign) .Include(x=>x.ClinicalDataTrialSet).Select(x=>new GetCRCSubjectClinicalOutDto() { SubjectId=x.SubjectId, + SubjectCode=x.Subject.Code, ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, - }).OrderBy(x=>x.ClinicalDataSetName).ToListAsync(); + }).OrderBy(x=>x.SubjectCode).ToListAsync(); // 一次查询报错 分两次写 clinicalData.ForEach(x => @@ -202,28 +203,16 @@ namespace IRaCIS.Core.Application.Service x.ClinicalDataSetEnName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us); }); - + + var clinicalFormData = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId).ToListAsync(); + clinicalData.ForEach(n => + { + n.ClinicalCount = clinicalFormData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count(); + }); - - var clinicalFormData = await _clinicalFormRepository.Where(x => x.SubjectId == inDto.TrialId).ToListAsync(); - - subjects.ForEach(x => - { - - x.ClinicalDataList = clinicalData.Where(y => y.SubjectId == x.SubjectId).ToList(); - - x.ClinicalDataList.ForEach(n => - { - n.ClinicalCount = clinicalData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count(); - }); - - }); - - - - - return subjects; + + return clinicalData; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index ddec9aa32..82a59323a 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -26,6 +26,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetCRCSubjectClinicalOutDto { public Guid SubjectId { get; set; } + + public string SubjectCode { get; set; } public Guid ClinicalDataTrialSetId { get; set; } public string ClinicalDataSetName { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs index 2cbed9d30..db9e8f70a 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs @@ -80,6 +80,11 @@ namespace IRaCIS.Core.Domain.Models public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("SubjectId")] + + public Subject Subject { get; set; } + [JsonIgnore] [ForeignKey("ReadingId")] diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs index 7a292cfd6..ea748bc2a 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs @@ -20,10 +20,13 @@ namespace IRaCIS.Core.Domain.Models /// 受试者Id /// public Guid SubjectId { get; set; } - + + + public Guid TrialId { get; set; } + /// - /// 检查日期 - /// + /// 检查日期 + /// public DateTime CheckDate { get; set; } /// From 302f99172f137ddc89fd806d536ad0a84d14cb7e Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:54:03 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 1 + .../Service/Reading/Dto/ClinicalAnswerDto.cs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 4b56cf569..04209cfae 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -314,6 +314,7 @@ namespace IRaCIS.Core.Application.Service { ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId, SubjectId = inDto.SubjectId, + TrialId= inDto.TrialId, Id = inDto.ClinicalFormId ?? NewId.NextGuid(), ReadingId = inDto.ReadingId, VisitId = inDto.VisitId, diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 82a59323a..fb947d31d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -109,7 +109,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } - public Guid ClinicalDataTrialSetId { get; set; } + public Guid TrialId { get; set; } + + public Guid ClinicalDataTrialSetId { get; set; } public List QuestionAnswers { get; set; }