Uat_Study
parent
61e8576807
commit
57f89ca5ea
|
@ -362,9 +362,6 @@ namespace IRaCIS.Core.API.Controllers
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 上传临床数据 多文件
|
||||
/// </summary>
|
||||
|
@ -397,48 +394,29 @@ namespace IRaCIS.Core.API.Controllers
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 上传临床数据(废弃)
|
||||
/// 上传阅片临床数据
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="isVisit"></param>
|
||||
/// <param name="readingClinicalDataId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("ClinicalData/UploadClinicalData/{trialId:guid}/{id:guid}/{isVisit:bool}")]
|
||||
[HttpPost("ClinicalData/UploadClinicalData/{trialId:guid}/{readingClinicalDataId:guid}")]
|
||||
[DisableRequestSizeLimit]
|
||||
public async Task<IResponseOutput> UploadClinicalData(Guid id, bool isVisit)
|
||||
public async Task<IResponseOutput> UploadReadClinicalData(Guid readingClinicalDataId)
|
||||
{
|
||||
var filerelativePath = string.Empty;
|
||||
if (isVisit)
|
||||
|
||||
// 写法一致 使用 _repository
|
||||
var clinicalData = (await _repository.Where<ReadingClinicalData>(x => x.Id == readingClinicalDataId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
var siteid =await _repository.Where<Subject>(x => x.Id == clinicalData.SubjectId).Select(x => x.SiteId).FirstOrDefaultAsync();
|
||||
await FileUploadAsync(async (fileName) =>
|
||||
{
|
||||
var sv = _repository.Where<SubjectVisit>(t => t.Id == id).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefault().IfNullThrowException();
|
||||
await FileUploadAsync(async (fileName) =>
|
||||
{
|
||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId, sv.SiteId, sv.SubjectId, id);
|
||||
//插入临床pdf 路径
|
||||
filerelativePath = relativePath;
|
||||
return serverFilePath;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var subjectId = await _repository.Where<ReadModule>(x => x.Id == id).Select(x =>
|
||||
x.SubjectId
|
||||
).FirstOrDefaultAsync();
|
||||
var subject = await _repository.Where<Subject>(x => x.Id == subjectId).Select(x => new
|
||||
{
|
||||
x.TrialId,
|
||||
x.SiteId,
|
||||
}).FirstOrDefaultAsync();
|
||||
await FileUploadAsync(async (fileName) =>
|
||||
{
|
||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, subject.TrialId, subject.SiteId, subjectId, id);
|
||||
//插入临床pdf 路径
|
||||
filerelativePath = relativePath;
|
||||
return serverFilePath;
|
||||
});
|
||||
}
|
||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetReadClinicalDataPath(_hostEnvironment, fileName, clinicalData.TrialId, siteid, clinicalData.SubjectId, clinicalData.ObjectId, clinicalData.Id);
|
||||
//插入临床pdf 路径
|
||||
filerelativePath = relativePath;
|
||||
return serverFilePath;
|
||||
});
|
||||
|
||||
return ResponseOutput.Ok(filerelativePath);
|
||||
}
|
||||
|
|
|
@ -171,12 +171,11 @@
|
|||
<param name="subjectVisitId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadClinicalData(System.Guid,System.Boolean)">
|
||||
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadReadClinicalData(System.Guid)">
|
||||
<summary>
|
||||
上传临床数据(废弃)
|
||||
上传阅片临床数据
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="isVisit"></param>
|
||||
<param name="readingClinicalDataId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadNoneDicomFile(Microsoft.AspNetCore.Http.IFormCollection,System.Guid,System.Guid)">
|
||||
|
|
|
@ -210,6 +210,26 @@ public static class FileStoreHelper
|
|||
return (serverFilePath, relativePath);
|
||||
}
|
||||
|
||||
|
||||
public static (string PhysicalPath, string RelativePath, string FileRealName) GetReadClinicalDataPath(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid siteId, Guid subjectId, Guid objectId,Guid readingClinicalDataId)
|
||||
{
|
||||
var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment);
|
||||
|
||||
string uploadFolderPath = Path.Combine(rootPath, StaticData.Folder.TrialDataFolder, trialId.ToString(), siteId.ToString(), subjectId.ToString(), "Reading", objectId.ToString(), readingClinicalDataId.ToString(), StaticData.Folder.TreatmenthistoryFolder);
|
||||
|
||||
if (!Directory.Exists(uploadFolderPath)) Directory.CreateDirectory(uploadFolderPath);
|
||||
|
||||
var (trustedFileNameForFileStorage, fileRealName) = FileStoreHelper.GetStoreFileName(fileName);
|
||||
|
||||
|
||||
var relativePath = $"/{StaticData.Folder.IRaCISDataFolder}/{StaticData.Folder.TrialDataFolder}/{trialId}/{siteId}/{subjectId}/Reading/{objectId}/{readingClinicalDataId}/{StaticData.Folder.TreatmenthistoryFolder}/{trustedFileNameForFileStorage}";
|
||||
|
||||
var serverFilePath = Path.Combine(uploadFolderPath, trustedFileNameForFileStorage);
|
||||
|
||||
return (serverFilePath, relativePath, fileRealName);
|
||||
|
||||
}
|
||||
|
||||
//获取临床数据存放路径
|
||||
public static (string PhysicalPath, string RelativePath,string FileRealName) GetClinicalDataPath(IWebHostEnvironment _hostEnvironment, string fileName,Guid trialId,Guid siteId,Guid subjectId,Guid subjectVisitId)
|
||||
{
|
||||
|
|
|
@ -975,6 +975,81 @@
|
|||
获取访视列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.TrialId">
|
||||
<summary>
|
||||
项目ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.ObjectId">
|
||||
<summary>
|
||||
对象ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.SubjectId">
|
||||
<summary>
|
||||
受试者ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.ReadingClinicalDataId">
|
||||
<summary>
|
||||
阅片临床数据ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.Path">
|
||||
<summary>
|
||||
Path
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.FileName">
|
||||
<summary>
|
||||
FileName
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListOutDto.IsVisit">
|
||||
<summary>
|
||||
是否为访视
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.TrialId">
|
||||
<summary>
|
||||
项目ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.ObjectId">
|
||||
<summary>
|
||||
对象ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.SubjectId">
|
||||
<summary>
|
||||
受试者ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.ReadingClinicalDataId">
|
||||
<summary>
|
||||
阅片临床数据ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.Path">
|
||||
<summary>
|
||||
Path
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.FileName">
|
||||
<summary>
|
||||
FileName
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.IsVisit">
|
||||
<summary>
|
||||
是否为访视
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto.ClinicalDataLevel">
|
||||
<summary>
|
||||
临床级别
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.ClinicalDataSetName">
|
||||
<summary>
|
||||
名称
|
||||
|
@ -3507,7 +3582,7 @@
|
|||
<param name="indto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.ReadingClinicalData(System.Guid)">
|
||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.DeleteReadingClinicalData(System.Guid)">
|
||||
<summary>
|
||||
删除
|
||||
</summary>
|
||||
|
@ -3525,9 +3600,30 @@
|
|||
<summary>
|
||||
获取阅片临床数据列表
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.GetReadingClinicalDataPDFList(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataPDFListIndto)">
|
||||
<summary>
|
||||
获取单个阅片临床数据的所有文件
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.AddOrUpdateReadingClinicalDataPDF(IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataPDFDto)">
|
||||
<summary>
|
||||
新增或者修改PDF
|
||||
</summary>
|
||||
<param name="indto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingClinicalDataService.DeleteReadingClinicalDataPDF(System.Guid)">
|
||||
<summary>
|
||||
删除PDF
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Application.Services.ReadingPeriodSetService">
|
||||
<summary>
|
||||
阅片期配置
|
||||
|
|
|
@ -48,7 +48,101 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid ObjectId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class GetReadingClinicalDataPDFListIndto:PageInput
|
||||
{
|
||||
public Guid ReadingClinicalDataId { get; set; }
|
||||
}
|
||||
|
||||
public class GetReadingClinicalDataPDFListOutDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对象ID
|
||||
/// </summary>
|
||||
public Guid ObjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 受试者ID
|
||||
/// </summary>
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阅片临床数据ID
|
||||
/// </summary>
|
||||
public Guid ReadingClinicalDataId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path
|
||||
/// </summary>
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// FileName
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为访视
|
||||
/// </summary>
|
||||
public bool IsVisit { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class AddOrUpdateReadingClinicalDataPDFDto
|
||||
{
|
||||
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对象ID
|
||||
/// </summary>
|
||||
public Guid ObjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 受试者ID
|
||||
/// </summary>
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阅片临床数据ID
|
||||
/// </summary>
|
||||
public Guid ReadingClinicalDataId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path
|
||||
/// </summary>
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// FileName
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为访视
|
||||
/// </summary>
|
||||
public bool IsVisit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 临床级别
|
||||
/// </summary>
|
||||
public ClinicalLevel ClinicalDataLevel { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class GetReadingClinicalDataListOutDto
|
||||
{
|
||||
|
||||
|
|
|
@ -23,13 +23,16 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
||||
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
|
||||
private readonly IRepository<ReadingClinicalDataPDF> _readingClinicalDataPDFRepository;
|
||||
|
||||
public ReadingClinicalDataService(IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository
|
||||
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingClinicalDataPDF> readingClinicalDataPDFRepository
|
||||
)
|
||||
{
|
||||
this._readingClinicalDataRepository = readingClinicalDataRepository;
|
||||
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
|
||||
this._readingClinicalDataPDFRepository = readingClinicalDataPDFRepository;
|
||||
}
|
||||
|
||||
|
||||
|
@ -54,13 +57,14 @@ namespace IRaCIS.Application.Services
|
|||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id:guid}")]
|
||||
public async Task<IResponseOutput> ReadingClinicalData(Guid id)
|
||||
public async Task<IResponseOutput> DeleteReadingClinicalData(Guid id)
|
||||
{
|
||||
await _readingClinicalDataRepository.DeleteFromQueryAsync(x => x.Id == id, true);
|
||||
return ResponseOutput.Result(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取下拉菜单
|
||||
/// </summary>
|
||||
|
@ -82,10 +86,12 @@ namespace IRaCIS.Application.Services
|
|||
return clinicalList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取阅片临床数据列表
|
||||
/// </summary>
|
||||
/// <param name="indto"></param>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<GetReadingClinicalDataListOutDto>> GetReadingClinicalDataList(GetReadingClinicalDataListIndto inDto)
|
||||
|
@ -102,6 +108,44 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取单个阅片临床数据的所有文件
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<PageOutput<GetReadingClinicalDataPDFListOutDto>> GetReadingClinicalDataPDFList(GetReadingClinicalDataPDFListIndto inDto) {
|
||||
|
||||
var result = await _readingClinicalDataPDFRepository.Where(x => x.ReadingClinicalDataId == inDto.ReadingClinicalDataId).ProjectTo<GetReadingClinicalDataPDFListOutDto>(_mapper.ConfigurationProvider)
|
||||
.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataPDFListOutDto.FileName) : inDto.SortField,
|
||||
inDto.Asc);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增或者修改PDF
|
||||
/// </summary>
|
||||
/// <param name="indto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> AddOrUpdateReadingClinicalDataPDF(AddOrUpdateReadingClinicalDataPDFDto indto)
|
||||
{
|
||||
var entity = await _readingClinicalDataPDFRepository.InsertOrUpdateAsync(indto, true);
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 删除PDF
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id:guid}")]
|
||||
public async Task<IResponseOutput> DeleteReadingClinicalDataPDF(Guid id)
|
||||
{
|
||||
await _readingClinicalDataPDFRepository.DeleteFromQueryAsync(x => x.Id == id, true);
|
||||
return ResponseOutput.Result(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -24,8 +24,13 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<ReadingClinicalData, GetReadingClinicalDataListOutDto>()
|
||||
.ForMember(d => d.ClinicalDataLevel, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataLevel))
|
||||
.ForMember(d => d.ClinicalDataLevelName, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataSetName))
|
||||
.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType));
|
||||
|
||||
.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType))
|
||||
.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count()));
|
||||
|
||||
|
||||
|
||||
CreateMap<ReadingClinicalDataPDF, GetReadingClinicalDataPDFListOutDto>();
|
||||
|
||||
|
||||
//.ForMember(d => d.SiteNames, u => u.MapFrom(s => s.ReadingPeriodSites.SelectMany(x => x.Site.SiteName).ToList()));
|
||||
|
||||
|
@ -33,11 +38,14 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<ReadingClinicalData, AddOrUpdateReadingClinicalDataDto>().ReverseMap();
|
||||
|
||||
CreateMap<ReadingClinicalDataPDF, AddOrUpdateReadingClinicalDataPDFDto>().ReverseMap();
|
||||
|
||||
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetAddOrEdit>().ReverseMap();
|
||||
|
||||
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetAddOrEdit>().ReverseMap();
|
||||
|
||||
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>();
|
||||
CreateMap<ClinicalDataTrialSet, ClinicalDataTrialSetView>()
|
||||
.ForMember(d => d.IsUsed, u => u.MapFrom(s => s.ReadingClinicalDataList.Count()>0));
|
||||
CreateMap<ClinicalDataSystemSet, ClinicalDataSystemSetView>();
|
||||
|
||||
CreateMap<PreviousPDF, PreviousPDFAddOrEdit>().ReverseMap();
|
||||
|
|
|
@ -5,6 +5,7 @@ using IRaCIS.Core.Domain.Share;
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using IRaCIS.Core.Domain.Share.Reading;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Core.Domain.Models
|
||||
{
|
||||
|
@ -63,6 +64,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public bool IsConfirm { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
||||
|
||||
|
||||
[ForeignKey("TrialId")]
|
||||
public Trial Trial { get; set; }
|
||||
|
|
|
@ -34,6 +34,18 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public Guid ReadingClinicalDataId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// FileName
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为访视
|
||||
/// </summary>
|
||||
|
@ -54,6 +66,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public Guid CreateUserId { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[ForeignKey("ReadingClinicalDataId")]
|
||||
|
||||
public ReadingClinicalData ReadingClinicalData { get; set; }
|
||||
|
|
Loading…
Reference in New Issue