修改临床数据配置
parent
275baf16db
commit
9b46d68729
|
@ -10053,6 +10053,12 @@
|
||||||
<param name="outEnrollTime"></param>
|
<param name="outEnrollTime"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Application.Services.TestService.ModifyClinicalDataTable">
|
||||||
|
<summary>
|
||||||
|
维护临床数据 --一定要在同步表前同步数据才行
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:IRaCIS.Application.Contracts.DoctorSearchDTO">
|
<member name="T:IRaCIS.Application.Contracts.DoctorSearchDTO">
|
||||||
<summary>
|
<summary>
|
||||||
Reviewer 列表查询参数
|
Reviewer 列表查询参数
|
||||||
|
|
|
@ -98,7 +98,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var trialReadingCriterionConfig = await _trialReadingCriterionRepository.Where(t => t.Id == confirmedTrialReadingCriterionId).Select(t => new { TrialReadingCriterionId = t.Id, t.ReadingTool, t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState, t.TaskAllocateObjEnum, t.CriterionType }).FirstOrDefaultAsync();
|
var trialReadingCriterionConfig = await _trialReadingCriterionRepository.Where(t => t.Id == confirmedTrialReadingCriterionId).Select(t => new { TrialReadingCriterionId = t.Id, t.ReadingTool, t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState, t.TaskAllocateObjEnum, t.CriterionType }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
//获取确认的临床数据配置
|
//获取确认的临床数据配置
|
||||||
var clinicalDataConfirmList = _trialClinicalDataSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).ToList();
|
var clinicalDataConfirmList = _trialClinicalDataSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).Include(t=>t.TrialClinicalDataSetCriteriaList).ToList();
|
||||||
|
|
||||||
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
||||||
|
|
||||||
|
@ -122,8 +122,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var blindTaskName = string.Empty;
|
var blindTaskName = string.Empty;
|
||||||
|
|
||||||
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.CriterionType, clinicalDataConfirmList);
|
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
||||||
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.CriterionType, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
||||||
|
|
||||||
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
||||||
{
|
{
|
||||||
|
@ -291,7 +291,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private bool IsNeedClinicalDataSign(ReadingCategory readingCategory, bool isbaseLine, CriterionType criterionType, List<ClinicalDataTrialSet> trialClinicalDataSetList)
|
private bool IsNeedClinicalDataSign(ReadingCategory readingCategory, bool isbaseLine, Guid trialReadingCriterionId, List<ClinicalDataTrialSet> trialClinicalDataSetList)
|
||||||
{
|
{
|
||||||
//访视
|
//访视
|
||||||
if (readingCategory == ReadingCategory.Visit)
|
if (readingCategory == ReadingCategory.Visit)
|
||||||
|
@ -300,11 +300,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
//return trialClinicalDataSetList.Where(t=>t.CriterionEnumList.Any(c=>c==(int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit)).Count()> 0;
|
//return trialClinicalDataSetList.Where(t=>t.CriterionEnumList.Any(c=>c==(int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit)).Count()> 0;
|
||||||
|
|
||||||
return trialClinicalDataSetList.Any(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit));
|
return trialClinicalDataSetList.Any(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return trialClinicalDataSetList.Any(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit);
|
return trialClinicalDataSetList.Any(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,12 +315,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//阅片期
|
//阅片期
|
||||||
else if (readingCategory == ReadingCategory.Global)
|
else if (readingCategory == ReadingCategory.Global)
|
||||||
{
|
{
|
||||||
return trialClinicalDataSetList.Any(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.ImageRead);
|
return trialClinicalDataSetList.Any(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.ImageRead);
|
||||||
}
|
}
|
||||||
// 肿瘤学
|
// 肿瘤学
|
||||||
else if (readingCategory == ReadingCategory.Oncology)
|
else if (readingCategory == ReadingCategory.Oncology)
|
||||||
{
|
{
|
||||||
return trialClinicalDataSetList.Any(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead);
|
return trialClinicalDataSetList.Any(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -331,11 +331,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
// 有可能在任务生成之前 就签名完了临床数据
|
// 有可能在任务生成之前 就签名完了临床数据
|
||||||
private bool IsClinicalDataSign(ReadingCategory readingCategory, bool isbaseLine, CriterionType criterionType, List<ClinicalDataTrialSet> trialClinicalDataSetList, Guid readingId, Guid trialId)
|
private bool IsClinicalDataSign(ReadingCategory readingCategory, bool isbaseLine, Guid trialReadingCriterionId, List<ClinicalDataTrialSet> trialClinicalDataSetList, Guid readingId, Guid trialId)
|
||||||
{
|
{
|
||||||
|
|
||||||
//不需要签名的 直接返回
|
//不需要签名的 直接返回
|
||||||
if (IsNeedClinicalDataSign(readingCategory, isbaseLine, criterionType, trialClinicalDataSetList) == false)
|
if (IsNeedClinicalDataSign(readingCategory, isbaseLine, trialReadingCriterionId, trialClinicalDataSetList) == false)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -355,11 +355,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
if (isbaseLine)
|
if (isbaseLine)
|
||||||
{
|
{
|
||||||
//CRC 的自动签名 不用管 只用处理PM 的就好
|
//CRC 的自动签名 不用管 只用处理PM 的就好
|
||||||
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit) && t.UploadRole == UploadRole.PM).Count();
|
needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit) && t.UploadRole == UploadRole.PM).Count();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit && t.UploadRole == UploadRole.PM).Count();
|
needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.SubjectVisit && t.UploadRole == UploadRole.PM).Count();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -371,17 +371,17 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//阅片期
|
//阅片期
|
||||||
else if (readingCategory == ReadingCategory.Global)
|
else if (readingCategory == ReadingCategory.Global)
|
||||||
{
|
{
|
||||||
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.ImageRead && t.UploadRole == UploadRole.PM).Count();
|
needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.ImageRead && t.UploadRole == UploadRole.PM).Count();
|
||||||
|
|
||||||
}
|
}
|
||||||
// 肿瘤学
|
// 肿瘤学
|
||||||
else if (readingCategory == ReadingCategory.Oncology)
|
else if (readingCategory == ReadingCategory.Oncology)
|
||||||
{
|
{
|
||||||
return trialClinicalDataSetList.Any(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead);
|
return trialClinicalDataSetList.Any(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
needSignCount = trialClinicalDataSetList.Where(t => t.CriterionEnumList.Any(c => c == (int)criterionType) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count();
|
needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count();
|
||||||
}
|
}
|
||||||
|
|
||||||
//可能仅仅CRC 基线 没有PM
|
//可能仅仅CRC 基线 没有PM
|
||||||
|
@ -410,7 +410,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
||||||
|
|
||||||
//获取确认的临床数据配置
|
//获取确认的临床数据配置
|
||||||
var clinicalDataConfirmList = _trialClinicalDataSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).ToList();
|
var clinicalDataConfirmList = _trialClinicalDataSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).Include(t => t.TrialClinicalDataSetCriteriaList).ToList();
|
||||||
|
|
||||||
|
|
||||||
var dbMaxCode = _visitTaskRepository.Where(t => t.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
|
var dbMaxCode = _visitTaskRepository.Where(t => t.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
|
||||||
|
@ -443,8 +443,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var blindTaskName = string.Empty;
|
var blindTaskName = string.Empty;
|
||||||
|
|
||||||
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.CriterionType, clinicalDataConfirmList);
|
var isNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList);
|
||||||
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.CriterionType, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
var isClinicalDataSign = IsClinicalDataSign(ReadingCategory.Visit, subjectVisit.IsBaseLine, trialReadingCriterionConfig.TrialReadingCriterionId, clinicalDataConfirmList, subjectVisit.Id, trialId);
|
||||||
|
|
||||||
|
|
||||||
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
|
||||||
|
@ -1229,7 +1229,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
|
var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
|
||||||
|
|
||||||
var criterionType = await _trialReadingCriterionRepository.Where(t => t.Id == originalTaskInfo.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
|
//var criterionType = await _trialReadingCriterionRepository.Where(t => t.Id == originalTaskInfo.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
|
||||||
|
|
||||||
// 需要添加全局任务再添加
|
// 需要添加全局任务再添加
|
||||||
if (originalTaskInfo.TrialReadingCriterion.IsGlobalReading)
|
if (originalTaskInfo.TrialReadingCriterion.IsGlobalReading)
|
||||||
|
@ -1258,8 +1258,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
ReadingCategory = item.ReadingCategory,
|
ReadingCategory = item.ReadingCategory,
|
||||||
|
|
||||||
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
|
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
|
||||||
IsNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Global, false, criterionType, clinicalDataConfirmList),
|
IsNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Global, false, originalTaskInfo.TrialReadingCriterionId, clinicalDataConfirmList),
|
||||||
IsClinicalDataSign = IsClinicalDataSign(ReadingCategory.Global, false, criterionType, clinicalDataConfirmList, item.ReadModuleId, trialId)
|
IsClinicalDataSign = IsClinicalDataSign(ReadingCategory.Global, false, originalTaskInfo.TrialReadingCriterionId, clinicalDataConfirmList, item.ReadModuleId, trialId)
|
||||||
});
|
});
|
||||||
|
|
||||||
currentMaxCodeInt = currentMaxCodeInt + 1;
|
currentMaxCodeInt = currentMaxCodeInt + 1;
|
||||||
|
@ -1273,7 +1273,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).FirstNotNullAsync();
|
originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).FirstNotNullAsync();
|
||||||
|
|
||||||
criterionType = await _trialReadingCriterionRepository.Where(t => t.Id == originalTaskInfo.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
|
//criterionType = await _trialReadingCriterionRepository.Where(t => t.Id == originalTaskInfo.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
|
||||||
|
|
||||||
foreach (var item in generateTaskCommand.ReadingGenerataTaskList)
|
foreach (var item in generateTaskCommand.ReadingGenerataTaskList)
|
||||||
{
|
{
|
||||||
|
@ -1306,8 +1306,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
|
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
|
||||||
|
|
||||||
IsNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Oncology, false, criterionType, clinicalDataConfirmList),
|
IsNeedClinicalDataSign = IsNeedClinicalDataSign(ReadingCategory.Oncology, false, originalTaskInfo.TrialReadingCriterionId, clinicalDataConfirmList),
|
||||||
IsClinicalDataSign = IsClinicalDataSign(ReadingCategory.Oncology, false, criterionType, clinicalDataConfirmList, item.ReadModuleId, trialId)
|
IsClinicalDataSign = IsClinicalDataSign(ReadingCategory.Oncology, false, originalTaskInfo.TrialReadingCriterionId, clinicalDataConfirmList, item.ReadModuleId, trialId)
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
if (userTypeSelectEnum == UserTypeSelectEnum.EnrollOrPD_EMailCopy)
|
if (userTypeSelectEnum == UserTypeSelectEnum.EnrollOrPD_EMailCopy)
|
||||||
{
|
{
|
||||||
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.SMM, UserTypeEnum.CMM };
|
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.ProjectManager, UserTypeEnum.APM, UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.SMM, UserTypeEnum.CMM };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||||
using MassTransit;
|
using MassTransit;
|
||||||
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services
|
namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
@ -130,22 +131,22 @@ namespace IRaCIS.Application.Services
|
||||||
return ResponseOutput.NotOk("存在同类型的临床数据,操作失败");
|
return ResponseOutput.NotOk("存在同类型的临床数据,操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
indto.CriterionEnumListStr = $"|{String.Join('|', indto.CriterionEnumList)}|";
|
//indto.CriterionEnumListStr = $"|{String.Join('|', indto.CriterionEnumList)}|";
|
||||||
|
|
||||||
var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto, true);
|
var entity = await _clinicalDataTrialSetRepository.InsertOrUpdateAsync(indto, true);
|
||||||
|
|
||||||
//entity.TrialClinicalDataCriterionList = indto.TrialCriterionIdList.Select(t => new TrialClinicalDataCriterion()
|
entity.TrialClinicalDataSetCriteriaList = indto.TrialCriterionIdList.Select(t => new TrialClinicalDataSetCriterion()
|
||||||
//{
|
{
|
||||||
// TrialClinicalDataSetId = entity.Id,
|
TrialClinicalDataSetId = entity.Id,
|
||||||
// TrialReadingCriterionId = t
|
TrialReadingCriterionId = t
|
||||||
//}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
//if (indto.Id != null)
|
if (indto.Id != null)
|
||||||
//{
|
{
|
||||||
// await _trialClinicalDataCriterionRepository.BatchDeleteNoTrackingAsync(t => t.TrialClinicalDataSetId == entity.Id);
|
await _repository.BatchDeleteAsync<TrialClinicalDataSetCriterion>(t => t.TrialClinicalDataSetId == entity.Id);
|
||||||
|
|
||||||
// await _trialClinicalDataCriterionRepository.AddRangeAsync(entity.TrialClinicalDataCriterionList);
|
await _repository.AddRangeAsync<TrialClinicalDataSetCriterion>(entity.TrialClinicalDataSetCriteriaList);
|
||||||
//}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -248,10 +249,10 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
#region MyRegion
|
#region MyRegion
|
||||||
|
|
||||||
|
//不存在的时候,就将系统数据同步到项目临床数据配置
|
||||||
if (!await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null))
|
if (!await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null))
|
||||||
{
|
{
|
||||||
var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable()/*.Include(t => t.SystemClinicalDataCriterionList)*/.ToListAsync();
|
var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync();
|
||||||
var systemIds = systemClinicalDataList.Select(x => x.Id).ToList();
|
var systemIds = systemClinicalDataList.Select(x => x.Id).ToList();
|
||||||
|
|
||||||
var trialSystemClinicalDataSetIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync();
|
var trialSystemClinicalDataSetIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync();
|
||||||
|
@ -261,7 +262,7 @@ namespace IRaCIS.Application.Services
|
||||||
var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList();
|
var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList();
|
||||||
|
|
||||||
var readingCriterionList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId).Where(t => t.ReadingQuestionCriterionSystemId != null)
|
var readingCriterionList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == trialId).Where(t => t.ReadingQuestionCriterionSystemId != null)
|
||||||
.Select(t => new { t.ReadingQuestionCriterionSystemId, TrialReadingCriterionId = t.Id }).ToList();
|
.Select(t => new { t.ReadingQuestionCriterionSystemId, TrialReadingCriterionId = t.Id ,t.CriterionType}).ToList();
|
||||||
|
|
||||||
|
|
||||||
List<ClinicalDataTrialSet> dataSets = systemDataList.Select(x => new ClinicalDataTrialSet()
|
List<ClinicalDataTrialSet> dataSets = systemDataList.Select(x => new ClinicalDataTrialSet()
|
||||||
|
@ -276,10 +277,11 @@ namespace IRaCIS.Application.Services
|
||||||
Path = x.Path,
|
Path = x.Path,
|
||||||
TrialId = trialId,
|
TrialId = trialId,
|
||||||
|
|
||||||
CriterionEnumListStr=x.CriterionEnumListStr
|
//项目不采用 标准枚举字符串的方式
|
||||||
|
//CriterionEnumListStr=x.CriterionEnumListStr
|
||||||
|
|
||||||
//TrialClinicalDataCriterionList = readingCriterionList.Where(t => x.SystemClinicalDataCriterionList.Select(c => (Guid?)c.SystemReadingCriterionId).ToList().Contains(t.ReadingQuestionCriterionSystemId)).Select(c =>
|
TrialClinicalDataSetCriteriaList = readingCriterionList.Where(t => x.CriterionEnumList.Contains( (int )t.CriterionType)).Select(c =>
|
||||||
//new TrialClinicalDataCriterion() { TrialReadingCriterionId = c.TrialReadingCriterionId }).ToList()
|
new TrialClinicalDataSetCriterion() { TrialReadingCriterionId = c.TrialReadingCriterionId }).ToList()
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -669,14 +669,14 @@ namespace IRaCIS.Application.Services
|
||||||
public async Task<List<GetReadingClinicalDataListOutDto>> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto)
|
public async Task<List<GetReadingClinicalDataListOutDto>> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync();
|
//var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync();
|
||||||
|
|
||||||
|
|
||||||
var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
|
var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
|
||||||
.Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject))
|
.Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject))
|
||||||
//.WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
|
//.WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
|
||||||
|
|
||||||
.Where(x => x.ClinicalDataTrialSet.CriterionEnumListStr.Contains($"|{((int)criterionType).ToString()}|"))
|
.Where(x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t=>t.TrialReadingCriterionId==inDto.TrialReadingCriterionId))
|
||||||
.Select(x => new GetReadingClinicalDataListOutDto()
|
.Select(x => new GetReadingClinicalDataListOutDto()
|
||||||
{
|
{
|
||||||
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||||
|
|
|
@ -61,11 +61,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//public List<Guid> TrialCriterionIdList { get; set; }
|
public List<Guid> TrialCriterionIdList { get; set; }
|
||||||
|
|
||||||
public string CriterionEnumListStr { get; set; } = String.Empty;
|
//public string CriterionEnumListStr { get; set; } = String.Empty;
|
||||||
|
|
||||||
public List<int> CriterionEnumList { get; set; }
|
//public List<int> CriterionEnumList { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ClinicalDataSystemSetAddOrEdit
|
public class ClinicalDataSystemSetAddOrEdit
|
||||||
|
@ -129,7 +129,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public class ClinicalDataTrialSetView: ClinicalDataTrialSetAddOrEdit
|
public class ClinicalDataTrialSetView: ClinicalDataTrialSetAddOrEdit
|
||||||
{
|
{
|
||||||
//public List<string> TrialCriterionNameList { get; set; }
|
public List<string> TrialCriterionNameList { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -57,8 +57,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetAddOrEdit>().ReverseMap();
|
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetAddOrEdit>().ReverseMap();
|
||||||
|
|
||||||
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>()
|
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>()
|
||||||
//.ForMember(t => t.TrialCriterionNameList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.CriterionName)))
|
.ForMember(t => t.TrialCriterionNameList, u => u.MapFrom(c => c.TrialClinicalDataSetCriteriaList.Select(t => t.TrialReadingCriterion.CriterionName)))
|
||||||
//.ForMember(t => t.TrialCriterionIdList, u => u.MapFrom(c => c.TrialClinicalDataCriterionList.Select(t => t.TrialReadingCriterion.Id)))
|
.ForMember(t => t.TrialCriterionIdList, u => u.MapFrom(c => c.TrialClinicalDataSetCriteriaList.Select(t => t.TrialReadingCriterion.Id)))
|
||||||
.ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0));
|
.ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0));
|
||||||
|
|
||||||
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetView>();
|
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetView>();
|
||||||
|
|
|
@ -117,10 +117,10 @@ namespace IRaCIS.Application.Services
|
||||||
//之前已经选择的用户 不放在列表中,现在又要改回去 废弃
|
//之前已经选择的用户 不放在列表中,现在又要改回去 废弃
|
||||||
var query = _repository.Where<User>(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin)
|
var query = _repository.Where<User>(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin)
|
||||||
|
|
||||||
//正式或者培训的项目不能允许测试用户 同时必须是内部的用户
|
//正式或者培训的项目 不能允许测试用户(必须正式用户) 同时必须是内部的用户
|
||||||
.WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IsTestUser == false && t.IsZhiZhun)
|
.WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IsTestUser == false && t.IsZhiZhun)
|
||||||
|
|
||||||
//测试用户 或者内部正式用户
|
//测试项目 可以加入 测试用户 或者内部正式用户
|
||||||
.WhereIf(trialType == TrialType.NoneOfficial, t => t.IsTestUser == true || (t.IsTestUser == false && t.IsZhiZhun))
|
.WhereIf(trialType == TrialType.NoneOfficial, t => t.IsTestUser == true || (t.IsTestUser == false && t.IsZhiZhun))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -117,9 +117,9 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
//await _visitTaskRepositoryy.UpdatePartialFromQueryAsync( Guid.Parse("78360000-3E2C-0016-9B53-08DA6A002040"), c => new VisitTask() { UpdateTime = DateTime.Now.AddMinutes(1) });
|
//await _visitTaskRepositoryy.UpdatePartialFromQueryAsync( Guid.Parse("78360000-3E2C-0016-9B53-08DA6A002040"), c => new VisitTask() { UpdateTime = DateTime.Now.AddMinutes(1) });
|
||||||
|
|
||||||
var a= _userInfo.IsTestUser;
|
var a = _userInfo.IsTestUser;
|
||||||
|
|
||||||
var list1 = await _repository.Where<Dictionary>().Select(t => t.TranslateValue(t.Value, t.ValueCN,true)).ToListAsync();
|
var list1 = await _repository.Where<Dictionary>().Select(t => t.TranslateValue(t.Value, t.ValueCN, true)).ToListAsync();
|
||||||
var list2 = await _repository.Where<Dictionary>().Select(t => t.TranslateValue(t.Value, t.ValueCN, false)).ToListAsync();
|
var list2 = await _repository.Where<Dictionary>().Select(t => t.TranslateValue(t.Value, t.ValueCN, false)).ToListAsync();
|
||||||
|
|
||||||
await _repository.SaveChangesAsync();
|
await _repository.SaveChangesAsync();
|
||||||
|
@ -146,7 +146,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
public async Task<object> GetEnvironmentName( [FromServices] IWebHostEnvironment env)
|
public async Task<object> GetEnvironmentName([FromServices] IWebHostEnvironment env)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
@ -241,7 +241,45 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
public string PostData(TestModel testModelList)
|
public string PostData(TestModel testModelList)
|
||||||
{
|
{
|
||||||
return String.Empty ;
|
return String.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 维护临床数据 --一定要在同步表前同步数据才行
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
|
||||||
|
public async Task<IResponseOutput> ModifyClinicalDataTable()
|
||||||
|
{
|
||||||
|
var needAddList = _repository.Where<ClinicalDataTrialSet>(t => t.CriterionEnumListStr != String.Empty && t.TrialClinicalDataSetCriteriaList.Count() == 0).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
//遍历项目
|
||||||
|
foreach (var needAddTrialGroup in needAddList.GroupBy(t => t.TrialId))
|
||||||
|
{
|
||||||
|
//找到项目存在的项目标准
|
||||||
|
|
||||||
|
var trialCritrialList = _repository.Where<ReadingQuestionCriterionTrial>(t => t.TrialId == needAddTrialGroup.Key).ToList();
|
||||||
|
|
||||||
|
//遍历项目下的临床数据
|
||||||
|
foreach (var needAddTrial in needAddTrialGroup)
|
||||||
|
{
|
||||||
|
|
||||||
|
//遍历每条临床数据配置的标准
|
||||||
|
|
||||||
|
foreach (var item in needAddTrial.CriterionEnumList)
|
||||||
|
{
|
||||||
|
var find = trialCritrialList.Where(t => (int)t.CriterionType == item).FirstOrDefault();
|
||||||
|
|
||||||
|
if (find != null)
|
||||||
|
{
|
||||||
|
await _repository.AddAsync(new TrialClinicalDataSetCriterion() { TrialClinicalDataSetId = needAddTrial.Id, TrialReadingCriterionId = find.Id });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await _repository.SaveChangesAsync();
|
||||||
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,87 +9,92 @@ using System.Linq;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models
|
||||||
{
|
{
|
||||||
///<summary>
|
///<summary>
|
||||||
/// 临床资料项目配置
|
/// 临床资料项目配置
|
||||||
///</summary>
|
///</summary>
|
||||||
[Table("ClinicalDataTrialSet")]
|
[Table("ClinicalDataTrialSet")]
|
||||||
public class ClinicalDataTrialSet : Entity, IAuditAdd
|
public class ClinicalDataTrialSet : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 项目ID
|
/// 项目ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 名称
|
/// 名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ClinicalDataSetName { get; set; }
|
public string ClinicalDataSetName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 临床级别
|
/// 临床级别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ClinicalLevel ClinicalDataLevel { get; set; }
|
public ClinicalLevel ClinicalDataLevel { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上传方式
|
/// 上传方式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ClinicalUploadType ClinicalUploadType { get; set; }
|
public ClinicalUploadType ClinicalUploadType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 系统的ClinicalDataSetId
|
/// 系统的ClinicalDataSetId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? SystemClinicalDataSetId { get; set; }
|
public Guid? SystemClinicalDataSetId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建时间
|
/// 创建时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建人
|
/// 创建人
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否确认
|
/// 是否确认
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsConfirm { get; set; }
|
public bool IsConfirm { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上传角色
|
/// 上传角色
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public UploadRole UploadRole { get; set; }
|
public UploadRole UploadRole { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模板文件名称
|
/// 模板文件名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string FileName { get; set; }
|
public string FileName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 文件路径
|
/// 文件路径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
||||||
[ForeignKey("TrialId")]
|
[ForeignKey("TrialId")]
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string CriterionEnumListStr { get; set; } = String.Empty;
|
|
||||||
|
|
||||||
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
|
[JsonIgnore]
|
||||||
|
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; }
|
||||||
|
|
||||||
}
|
|
||||||
|
public string CriterionEnumListStr { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// 此代码由T4模板自动生成 byzhouhang 20210918
|
||||||
|
// 生成时间 2023-01-29 13:40:06
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||||
|
using System;
|
||||||
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
namespace IRaCIS.Core.Domain.Models
|
||||||
|
{
|
||||||
|
///<summary>
|
||||||
|
///TrialClinicalDataSetCriterion
|
||||||
|
///</summary>
|
||||||
|
[Table("TrialClinicalDataSetCriterion")]
|
||||||
|
public class TrialClinicalDataSetCriterion : Entity, IAuditUpdate, IAuditAdd
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// TrialClinicalDataSetId
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public Guid TrialClinicalDataSetId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// TrialReadingCriterionId
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CreateUserId
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CreateTime
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UpdateTime
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public DateTime UpdateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UpdateUserId
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public Guid UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[ForeignKey("TrialClinicalDataSetId")]
|
||||||
|
public ClinicalDataTrialSet TrialClinicalDataSet { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("TrialReadingCriterionId")]
|
||||||
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -261,6 +261,9 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
public virtual DbSet<TumorAssessment> TumorAssessment { get; set; }
|
public virtual DbSet<TumorAssessment> TumorAssessment { get; set; }
|
||||||
|
|
||||||
|
public virtual DbSet<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriterion { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//public virtual DbSet<TrialClinicalDataCriterion> TrialClinicalDataCriterion { get; set; }
|
//public virtual DbSet<TrialClinicalDataCriterion> TrialClinicalDataCriterion { get; set; }
|
||||||
//public virtual DbSet<SystemClinicalDataCriterion> SystemClinicalDataCriterion { get; set; }
|
//public virtual DbSet<SystemClinicalDataCriterion> SystemClinicalDataCriterion { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
|
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
|
||||||
public static readonly string DbDatabase = "IRaCIS_New_Tet";
|
public static readonly string DbDatabase = "IRaCIS_New_Tet";
|
||||||
//表名称用字符串,拼接
|
//表名称用字符串,拼接
|
||||||
public static readonly string TableName = "DoctorCriterionFile";
|
public static readonly string TableName = "TrialClinicalDataSetCriterion";
|
||||||
//具体文件里面 例如service 可以配置是否分页
|
//具体文件里面 例如service 可以配置是否分页
|
||||||
}
|
}
|
||||||
#>
|
#>
|
||||||
|
|
Loading…
Reference in New Issue