添加项目文件。
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class SubjectDTO: SubjectCommand
|
||||
{
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
public int StudyCount { get; set; }
|
||||
|
||||
public int VisitCount { get; set; }
|
||||
public int PlanVisitCount { get; set; }
|
||||
public string Modalities { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public string Code { get; set; }//患者匿名编码
|
||||
public string Name { get; set; }
|
||||
public int Age { get; set; }
|
||||
public string Sex { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public string MedicalNo { get; set; }
|
||||
public int Status { get; set; }
|
||||
public string Reason { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectQueryModel: SubjectDTO
|
||||
{
|
||||
public DateTime? CreateTime { get; set; }
|
||||
public DateTime? UpdateTime { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectQueryParam : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string Code { get; set; } = string.Empty;
|
||||
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
public string Sex { get; set; } = string.Empty;
|
||||
|
||||
public Guid? SiteId { get; set; }
|
||||
//public Guid? SubjectVisitId { get; set; } = Guid.Empty;
|
||||
public int? Status { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class SubjectSelect
|
||||
{
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Code { get; set; }
|
||||
|
||||
public string Sex { get; set; }
|
||||
|
||||
public int Age { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
///后台 工作量审核视图模型
|
||||
/// </summary>
|
||||
public class WorkLoadDetailDTO : WorkloadDTO
|
||||
{
|
||||
public DateTime CreateTime { get; set; }
|
||||
public string ChineseName { get; set; }
|
||||
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string Code { get; set; }
|
||||
public string Indication { get; set; }
|
||||
public int RowIntId { get; set; }
|
||||
public Guid RowGuid { get; set; }
|
||||
public string YearMonthStr { get; set; }
|
||||
|
||||
public string WorkTimeStr => YearMonthStr;
|
||||
|
||||
public bool IsLock { get; set; } = false;
|
||||
}
|
||||
|
||||
public class WorkLoadDetailViewModel : WorkloadDTO
|
||||
{
|
||||
public DateTime CreateTime { get; set; }
|
||||
public string ChineseName { get; set; }
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string Code { get; set; }
|
||||
public string Indication { get; set; }
|
||||
|
||||
public Guid RowGuid { get; set; }
|
||||
public string YearMonthStr { get; set; }
|
||||
|
||||
public bool IsLock { get; set; } = false;
|
||||
public string DeclareTimeStr => CreateTime.ToString("yyyy-MM-dd");
|
||||
|
||||
public string WorkTimeStr => WorkTime.ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class CalculatePaymentDTO : WorkloadDTO
|
||||
{
|
||||
public string TrialCode { get; set; }
|
||||
public decimal? TrialAdditional { get; set; }
|
||||
public decimal AdjustmentMultiple { get; set; }
|
||||
//public double RankPrice { get; set; }
|
||||
public decimal PersonalAdditional { get; set; }
|
||||
public decimal TimepointPrice { get; set; }
|
||||
public decimal TimepointIn24HPrice { get; set; }
|
||||
public decimal TimepointIn48HPrice { get; set; }
|
||||
public decimal AdjudicationPrice { get; set; }
|
||||
public decimal AdjudicationIn24HPrice { get; set; }
|
||||
public decimal AdjudicationIn48HPrice { get; set; }
|
||||
public decimal GlobalPrice { get; set; }
|
||||
public decimal TrainingPrice { get; set; }
|
||||
public decimal DowntimePrice { get; set; }
|
||||
public decimal RefresherTrainingPrice { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工作量审核数据库查询模型
|
||||
/// </summary>
|
||||
public class WorkloadDTO
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public Guid DoctorId { get; set; }
|
||||
|
||||
public int DataFrom { get; set; }
|
||||
|
||||
public DateTime WorkTime { get; set; }
|
||||
|
||||
public int Training { get; set; }
|
||||
|
||||
public int Downtime { get; set; }
|
||||
|
||||
public int Timepoint { get; set; }
|
||||
|
||||
public int TimepointIn24H { get; set; }
|
||||
|
||||
public int TimepointIn48H { get; set; }
|
||||
|
||||
public int Adjudication { get; set; }
|
||||
|
||||
public int AdjudicationIn24H { get; set; }
|
||||
|
||||
public int AdjudicationIn48H { get; set; }
|
||||
|
||||
public int Global { get; set; }
|
||||
public int RefresherTraining { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工作量分页列表模型 医生端查询模型
|
||||
/// </summary>
|
||||
public class WorkLoadQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public int WorkLoadFromStatus { get; set; } // 关联枚举
|
||||
public DateTime? SearchBeginDateTime { get; set; }
|
||||
public DateTime? SearchEndDateTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 后台查询模型
|
||||
/// </summary>
|
||||
public class WorkLoadStatsQueryDTO : PageInput
|
||||
{
|
||||
public Guid? TrialId { get; set; }
|
||||
public Guid? DoctorId { get; set; } = Guid.Empty;
|
||||
public List<int> WorkLoadFromStatus { get; set; } = new List<int>(); // 关联枚举
|
||||
public DateTime? SearchBeginDateTime { get; set; }
|
||||
public DateTime? SearchEndDateTime { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class WorkLoadDetailQueryDTO
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public Guid DoctorId { get; set; } = Guid.Empty;
|
||||
public string YearMonthStr { get; set; }
|
||||
}
|
||||
|
||||
public class CalculateDoctorAndMonthDTO
|
||||
{
|
||||
[Required(ErrorMessage = "需要有效的时间")]
|
||||
public DateTime CalculateMonth { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "需要有效的医生列表")]
|
||||
public List<Guid> NeedCalculateReviewers { get; set; }
|
||||
}
|
||||
|
||||
public class WorkLoadDoctorQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
}
|
||||
|
||||
public class WorkLoadCommand : WorkloadDTO
|
||||
{
|
||||
public Guid CreateUserId { get; set; }
|
||||
public int CreateUserType { get; set; }
|
||||
public Guid UpdateUserId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class ExistWorkloadViewModel
|
||||
{
|
||||
public bool IsExist { get; set; }
|
||||
public WorkloadDTO WorkLoad { get; set; }
|
||||
}
|
||||
|
||||
public class WorkloadCommand : WorkloadDTO
|
||||
{
|
||||
}
|
||||
|
||||
public class WorkloadExistQueryDTO
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid DoctorId { get; set; }
|
||||
public DateTime WorkDate { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class WorkLoadAndTrainingDTO
|
||||
{
|
||||
|
||||
public Guid DoctorId { get; set; }/*=Guid.Empty;*/
|
||||
public string Code { get; set; }
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string ChineseName { get; set; }
|
||||
|
||||
public DateTime? EnrollTime { get; set; }
|
||||
|
||||
public int ReviewerReadingType { get; set; }
|
||||
|
||||
public string EnrollTimeStr => EnrollTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
public DateTime? UpdateTime { get; set; }
|
||||
|
||||
public string UpdateTimeStr => UpdateTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
public int TrainingTimes { get; set; }
|
||||
public int Downtime { get; set; }
|
||||
|
||||
//读片点
|
||||
public int Timepoint { get; set; }
|
||||
public int TimepointIn24H { get; set; }
|
||||
public int TimepointIn48H { get; set; }
|
||||
|
||||
//裁判阅片
|
||||
public int Adjudication { get; set; }
|
||||
public int AdjudicationIn24H { get; set; }
|
||||
public int AdjudicationIn48H { get; set; }
|
||||
|
||||
//全局阅片
|
||||
public int Global { get; set; }
|
||||
|
||||
public int RefresherTraining { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class WorkLoadAndAgreementDTO : WorkLoadAndTrainingDTO
|
||||
{
|
||||
public Guid AgreementId { get; set; }
|
||||
|
||||
public string AgreementPath { get; set; }
|
||||
|
||||
public string AgreementFileName => AgreementPath?.Split('/').Last();
|
||||
|
||||
public string AgreementFullPath => SystemConfig.RootUrl + AgreementPath;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// 影像采集规范
|
||||
/// </summary>
|
||||
public class TrialAttachmentCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public string Type { get; set; }
|
||||
|
||||
public string DocumentName { get; set; }
|
||||
public string DocumentPath { get; set; }
|
||||
public string DocumentFullPath
|
||||
{
|
||||
get { return SystemConfig.RootUrl + DocumentPath; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class AcquisitionSpecificationDTO : TrialAttachmentCommand
|
||||
{
|
||||
public string TrialCode { get; set; }
|
||||
public string Indication { get; set; }
|
||||
public string OptUserName { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
public class ImageAcquisitionSpecificationQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class TrialInterviewDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public string Stage { get; set; }
|
||||
public string InterViewTime { get; set; }
|
||||
public string Description { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
public class InterviewQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string Keyword { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class TrialResearchCenterDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public string MainCenter { get; set; }
|
||||
public DateTime OptTime { get; set; }
|
||||
public int State { get; set; }
|
||||
}
|
||||
|
||||
public class TrialResearchCenterDetailDTO : TrialResearchCenterDTO
|
||||
{
|
||||
public string TrialCode { get; set; }
|
||||
public string TrialName { get; set; }
|
||||
public string ResearchCenterName { get; set; }
|
||||
}
|
||||
|
||||
public class TrialCenterQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid CenterId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts.Trial.DTO
|
||||
{
|
||||
public class RevenusVerifyQueryDTO
|
||||
{
|
||||
public DateTime BeginDate { get; set; } = DateTime.Now;
|
||||
public DateTime EndDate { get; set; } = DateTime.Now;
|
||||
|
||||
}
|
||||
|
||||
public class AnalysisVerifyQueryDTO
|
||||
{
|
||||
public DateTime BeginDate { get; set; } = DateTime.Now;
|
||||
public DateTime EndDate { get; set; } = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
public class AnalysisNeedLockDTO
|
||||
{
|
||||
public string YearMonth { get; set; }
|
||||
|
||||
public string ReviewerCode { get; set; }
|
||||
|
||||
public string ReviewerName { get; set; }
|
||||
|
||||
public string ReviewerNameCN { get; set; }
|
||||
}
|
||||
|
||||
public class AnalysisVerifyResultDTO
|
||||
{
|
||||
public List<MonthlyResult> MonthVerifyResult = new List<MonthlyResult>();
|
||||
|
||||
public List<RevenusVerifyDTO> RevenuesVerifyList = new List<RevenusVerifyDTO>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class MonthlyResult
|
||||
{
|
||||
public string YearMonth { get; set; }
|
||||
public List<string> ReviewerNameList = new List<string>();
|
||||
public List<string> ReviewerNameCNList = new List<string>();
|
||||
public List<string> ReviewerCodeList = new List<string>();
|
||||
}
|
||||
|
||||
|
||||
public class RevenusVerifyDTO
|
||||
{
|
||||
public string TrialCode { get; set; }
|
||||
|
||||
public bool Training { get; set; } = false;
|
||||
|
||||
public bool Downtime { get; set; } = false;
|
||||
|
||||
public bool Global { get; set; } = false;
|
||||
|
||||
public bool Timepoint { get; set; } = false;
|
||||
|
||||
public bool TimepointIn24H { get; set; } = false;
|
||||
|
||||
public bool TimepointIn48H { get; set; } = false;
|
||||
|
||||
public bool Adjudication { get; set; } = false;
|
||||
|
||||
public bool AdjudicationIn24H { get; set; } = false;
|
||||
|
||||
public bool AdjudicationIn48H { get; set; } = false;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class TrialRevenuesPriceDTO
|
||||
{
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
public decimal Timepoint { get; set; }
|
||||
public decimal TimepointIn24H { get; set; }
|
||||
public decimal TimepointIn48H { get; set; }
|
||||
public decimal Adjudication { get; set; }
|
||||
public decimal AdjudicationIn24H { get; set; }
|
||||
public decimal AdjudicationIn48H { get; set; }
|
||||
public decimal RefresherTraining { get; set; }
|
||||
|
||||
public decimal Global { get; set; }
|
||||
public decimal Training { get; set; }
|
||||
public decimal Downtime { get; set; }
|
||||
}
|
||||
|
||||
public class TrialRevenuesPriceDetialDTO : TrialRevenuesPriceDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string TrialCode { get; set; }
|
||||
public string Indication { get; set; }
|
||||
public int Expedited { get; set; }
|
||||
public string ReviewMode { get; set; }
|
||||
public string Cro { get; set; }
|
||||
}
|
||||
public class TrialRevenuesPriceQueryDTO : PageInput
|
||||
{
|
||||
public string KeyWord { get; set; }
|
||||
public Guid? CroId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class TrialDTO : TrialDbModel
|
||||
{
|
||||
|
||||
public string ReviewType { get; set; }
|
||||
|
||||
public string Criterion { get; set; }
|
||||
|
||||
public string CRO { get; set; }
|
||||
|
||||
public string Sponsor { get; set; }
|
||||
|
||||
public int TrialStatus { get; set; }
|
||||
public string TrialStatusStr { get; set; } = string.Empty;
|
||||
|
||||
public DateTime? CreateTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class TrialDbModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string Indication { get; set; } = string.Empty;
|
||||
|
||||
public string Phase { get; set; } = string.Empty;
|
||||
public Guid? ReviewTypeId { get; set; } = Guid.Empty;
|
||||
public Guid? CriterionId { get; set; } = Guid.Empty;
|
||||
public Guid? CROId { get; set; } = Guid.Empty;
|
||||
public Guid? SponsorId { get; set; } = Guid.Empty;
|
||||
public Guid? ReviewModeId { get; set; } = Guid.Empty;
|
||||
public string Note { get; set; } = string.Empty;
|
||||
public string TurnaroundTime { get; set; } = string.Empty;
|
||||
public int ExpectedPatients { get; set; }
|
||||
public int TimePointsPerPatient { get; set; }
|
||||
public int GRRReviewers { get; set; }
|
||||
public int TotalReviewers { get; set; }
|
||||
public string ReviewProtocol { get; set; } = string.Empty;
|
||||
public string MessageFromClient { get; set; } = string.Empty;
|
||||
public string ReviewProtocolName { get; set; } = string.Empty;
|
||||
public string MessageFromClientName { get; set; } = string.Empty;
|
||||
public int? Expedited { get; set; }
|
||||
public int AttendedReviewerType { get; set; }
|
||||
|
||||
public bool VisitPlanConfirmed { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public class TrialDetailDTO : TrialDTO
|
||||
{
|
||||
public TrialDetailDTO()
|
||||
{
|
||||
ModalityIds = new List<Guid>();
|
||||
ModalityList = new List<string>();
|
||||
}
|
||||
|
||||
|
||||
public string ReviewMode { get; set; }
|
||||
|
||||
public string ReviewProtocolFullPath => SystemConfig.RootUrl + ReviewProtocol;
|
||||
|
||||
public string MessageFromClientFullPath => SystemConfig.RootUrl + MessageFromClient;
|
||||
public string SowFullPath => SystemConfig.RootUrl + SowPath;
|
||||
public List<string> ModalityList { get; set; } //成像设备 多选
|
||||
public List<Guid> ModalityIds { get; set; }
|
||||
|
||||
//统计字段
|
||||
public string SowName { get; set; }
|
||||
public string SowPath { get; set; }
|
||||
|
||||
public bool IsLocked { get; set; }
|
||||
public int EnrollStatus { get; set; }
|
||||
|
||||
//public bool LockTrialCode { get; set; }
|
||||
|
||||
//public int Submitted { get; set; }
|
||||
//public int Approved { get; set; }
|
||||
//public int Trained { get; set; }
|
||||
//public int Reading { get; set; }
|
||||
|
||||
public int SubjectCount { get; set; }
|
||||
//public int VisitCount { get; set; }
|
||||
public int StudyCount { get; set; }
|
||||
public int SiteCount { get; set; }
|
||||
}
|
||||
|
||||
public class TrialAndTrialStateVieModel
|
||||
{
|
||||
public TrialDetailDTO TrialView { get; set; }
|
||||
|
||||
public int TrialMaxState { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class TrialCommand : TrialDbModel
|
||||
{
|
||||
public Guid UserId { get; set; }
|
||||
public List<Guid> ModalityIds { get; set; } = new List<Guid>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class TrialQueryDTO : PageInput
|
||||
{
|
||||
public TrialQueryDTO()
|
||||
{
|
||||
ModalityIds = new List<Guid>();
|
||||
}
|
||||
|
||||
public Guid? CriterionId { get; set; } = Guid.Empty;
|
||||
public Guid? SponsorId { get; set; } = Guid.Empty;
|
||||
public Guid? CROId { get; set; } = Guid.Empty;
|
||||
|
||||
public Guid? ReviewTypeId { get; set; } = Guid.Empty;
|
||||
public List<Guid> ModalityIds { get; set; }
|
||||
|
||||
public string Code { get; set; } = string.Empty;
|
||||
|
||||
public string Indication { get; set; } = string.Empty;
|
||||
public string Phase { get; set; } = string.Empty;
|
||||
public string TrialStatus { get; set; }
|
||||
|
||||
public DateTime? BeginDate { get; set; }
|
||||
public DateTime? EndDate { get; set; }
|
||||
public int? Expedited { get; set; }
|
||||
public int? AttendedReviewerType { get; set; }
|
||||
}
|
||||
|
||||
public class ReviewerTrialQueryDTO : PageInput
|
||||
{
|
||||
public string Code { get; set; } = string.Empty;
|
||||
public string Indication { get; set; } = string.Empty;
|
||||
public int? EnrollStatus { get; set; }
|
||||
public int? Expedited { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class TrialByStatusQueryDTO : PageInput
|
||||
{
|
||||
public Guid DoctorId { get; set; }
|
||||
public int Status { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
|
||||
|
||||
public class TrialSiteSelect
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
}
|
||||
|
||||
public class UserTrialDTO: UserTrialCommand
|
||||
{
|
||||
public Guid SiteId { get; set; }
|
||||
public string Phone { get; set; }
|
||||
//public Guid OrganizationTypeId { get; set; }
|
||||
//public string OrganizationType { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
}
|
||||
|
||||
public class SiteCRCCommand : UserTrialCommand
|
||||
{
|
||||
//public Guid OrganizationTypeId { get; set; }
|
||||
//public string OrganizationType { get; set; }
|
||||
|
||||
public Guid SiteId { get; set; } = Guid.Empty;
|
||||
}
|
||||
|
||||
public class UserTrialCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid UserTypeId { get; set; }
|
||||
public string UserType { get; set; }
|
||||
|
||||
public Guid OrganizationId { get; set; }
|
||||
public string OrganizationName { get; set; }
|
||||
|
||||
public string OrganizationType { get; set; }
|
||||
public Guid OrganizationTypeId { get; set; }
|
||||
|
||||
|
||||
public string UserRealName { get; set; }
|
||||
public string UserName { get; set; }
|
||||
|
||||
}
|
||||
public class SiteCrcDTO : UserTrialDTO
|
||||
{
|
||||
//public Guid SiteId { get; set; } = Guid.Empty;
|
||||
//public string Phone { get; set; }
|
||||
//public Guid OrganizationTypeId { get; set; }
|
||||
//public string OrganizationType { get; set; }
|
||||
public string Site { get; set; }
|
||||
public string City { get; set; }
|
||||
public string Country { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class SiteStatDTO
|
||||
{
|
||||
public Guid SiteId { get; set; } = Guid.Empty;
|
||||
public string Site { get; set; }
|
||||
public string City { get; set; }
|
||||
public string Country { get; set; }
|
||||
//public int VisitCount { get; set; }
|
||||
//public int PlanVisitCount { get; set; }
|
||||
public int UserCount { get; set; }
|
||||
public int StudyCount { get; set; }
|
||||
public int SubjectCount { get; set; }
|
||||
|
||||
public List<UserTrialDTO> UserList=new List<UserTrialDTO>();
|
||||
}
|
||||
|
||||
public class UserSelectionModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string RealName { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class TrialMaintenanceQuery
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
public Guid? UserTypeId { get; set; } = Guid.Empty;
|
||||
}
|
||||
public class UserTrialListQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
public Guid? UserTypeId { get; set; } = Guid.Empty;
|
||||
}
|
||||
|
||||
public class SiteCrcQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string UserRealName { get; set; } = string.Empty;
|
||||
|
||||
//public Guid? OrganizationTypeId { get; set; } = Guid.Empty;
|
||||
//public Guid SiteId { get; set; } = Guid.Empty;
|
||||
|
||||
public string SiteName { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class VisitStageSelectDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
public int VisitDay { get; set; }
|
||||
}
|
||||
|
||||
public class VisitStageDTO: VisitPlanCommand
|
||||
{
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
public class VisitPlanCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
public int VisitDay { get; set; }
|
||||
public string Description { get; set; }
|
||||
public bool NeedGlobal { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class VisitPlanQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string Keyword { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,318 @@
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Dynamic;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
|
||||
public class SubjectVisitDTO : SubjectVisitCommand
|
||||
{
|
||||
public int StudyCount { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectVisitNewDTO : SubjectVisitDTO
|
||||
{
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
|
||||
|
||||
public string SubjectCode { get; set; }
|
||||
public string SubjectName { get; set; } = string.Empty;
|
||||
|
||||
public string SiteName { get; set; }
|
||||
|
||||
public string SiteCode { get; set; }
|
||||
|
||||
//public Guid VisitPlanId { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class SubjectVisitSearchDTO : PageInput
|
||||
{
|
||||
public string SubjectInfo { get; set; }
|
||||
|
||||
public string VisitPlanInfo { get; set; }
|
||||
|
||||
public Guid? SubjectId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid? SiteId { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectVisitSelectDTO
|
||||
{
|
||||
public Guid GuidId{get;set;}=Guid.NewGuid();
|
||||
public Guid SubjectVisitId { get; set; } = Guid.Empty;
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; } = string.Empty;
|
||||
|
||||
public string SVUPDES { get; set; } = string.Empty;
|
||||
|
||||
//public Guid VisitStageId { get; set; } = Guid.Empty;
|
||||
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
|
||||
|
||||
//public bool IsSubjectVisit { get; set; } = false;
|
||||
|
||||
public bool StudyUploaded { get; set; }
|
||||
|
||||
|
||||
|
||||
public List<SubjectVisitStudyDTO> StudyList=new List<SubjectVisitStudyDTO>();
|
||||
}
|
||||
public class SubjectVisitCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
|
||||
public bool InPlan { get; set; } = true;
|
||||
|
||||
public bool StudyUploaded { get; set; } = false;
|
||||
|
||||
|
||||
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; } = string.Empty;
|
||||
public int VisitDay { get; set; }
|
||||
public string SVUPDES { get; set; } = string.Empty;
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
}
|
||||
|
||||
public class SubjectVisitStudyDTO
|
||||
{
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public string StudyCode { get; set; }
|
||||
|
||||
public string Modalities { get; set; }
|
||||
|
||||
public int Status { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class ArchiveStudyCommand
|
||||
{
|
||||
|
||||
public Guid? AbandonStudyId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
//public Guid? VisitStageId { get; set; }
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
public string Comment { get; set; } = string.Empty;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class StudyCommand
|
||||
{
|
||||
public Guid Id { get; set; } = Guid.Empty;
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class StudyEditCommand: StudyCommand
|
||||
{
|
||||
public Guid VisitStageId { get; set; }
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
public string Comment { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class StudyStatDTO
|
||||
{
|
||||
|
||||
public int StudyCount { get; set; }
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
public int VisitDay { get; set; }
|
||||
public string Description { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class DistributeReviewerStudyStatusDTO
|
||||
{
|
||||
public string NameCN { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string ReviewerCode { get; set; }
|
||||
public string StudyCode { get; set; }
|
||||
|
||||
public int Status { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class StudyStatusQueryDTO:PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid? ReviewerId { get; set; }
|
||||
|
||||
public int? StudyStatus { get; set; }
|
||||
}
|
||||
|
||||
|
||||
//public class StudyDTO
|
||||
//{
|
||||
|
||||
// public SubjectVisitInfo SubjectVisit { get; set; }=new SubjectVisitInfo();
|
||||
// public StudyInfo Study { get; set; }=new StudyInfo();
|
||||
|
||||
// public SiteInfo Site { get; set; }=new SiteInfo();
|
||||
|
||||
// public QAInfo QA { get; set; }=new QAInfo();
|
||||
|
||||
// public class SubjectVisitInfo
|
||||
// {
|
||||
// public Guid SubjectVisitId { get; set; }
|
||||
// public double VisitNum { get; set; }
|
||||
// public string VisitName { get; set; }
|
||||
// }
|
||||
|
||||
// public class StudyInfo
|
||||
// {
|
||||
// public Guid Id { get; set; }
|
||||
// public Guid TrialId { get; set; }
|
||||
// public string StudyCode { get; set; }
|
||||
// public int StudyStatus { get; set; }
|
||||
// public DateTime? StudyDate { get; set; }
|
||||
// public string Modalities { get; set; }
|
||||
// public int SeriesCount { get; set; }
|
||||
// public int InstanceCount { get; set; }
|
||||
// }
|
||||
|
||||
|
||||
// public class SiteInfo
|
||||
// {
|
||||
// public Guid SiteId { get; set; }
|
||||
// public string SiteName { get; set; }
|
||||
// }
|
||||
|
||||
|
||||
// public class QAInfo
|
||||
// {
|
||||
// public Guid SubjectId { get; set; }
|
||||
// public string SubjectCode { get; set; }
|
||||
// public string SubjectName { get; set; }
|
||||
// public int SubjectAge { get; set; }
|
||||
// public string SubjectSex { get; set; }
|
||||
// public string PatientName { get; set; }
|
||||
// public string PatientAge { get; set; }
|
||||
// public string PatientSex { get; set; }
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
|
||||
public class VerifyStudyUploadResult
|
||||
{
|
||||
public bool AllowUpload { get; set; }
|
||||
|
||||
public StudyDTO StudyInfo { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class StudyDTO
|
||||
{
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
public int VisitDay { get; set; }
|
||||
|
||||
public string SVUPDES { get; set; }
|
||||
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
|
||||
|
||||
public Guid Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public string StudyCode { get; set; }
|
||||
public int StudyStatus { get; set; }
|
||||
public DateTime? StudyDate { get; set; }
|
||||
public string Modalities { get; set; }
|
||||
public int SeriesCount { get; set; }
|
||||
public int InstanceCount { get; set; }
|
||||
|
||||
public bool IsDoubleReview { get; set; }
|
||||
|
||||
public string StudyDescription { get; set; }
|
||||
|
||||
public string BodyPartExamined { get; set; }
|
||||
|
||||
public string Comment { get; set; }
|
||||
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
//public List<DistributeReviewer> DistributeReviewers { get; set; }=new List<DistributeReviewer>();
|
||||
|
||||
|
||||
public Guid SiteId { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
|
||||
public string StudyId { get; set; } //这个Id是dicom文件中的Id
|
||||
public Guid SubjectId { get; set; }
|
||||
public string SubjectCode { get; set; }
|
||||
public string SubjectName { get; set; }
|
||||
public int SubjectAge { get; set; }
|
||||
public string SubjectSex { get; set; }
|
||||
public string PatientId { get; set; }
|
||||
public string PatientName { get; set; }
|
||||
public string PatientAge { get; set; }
|
||||
public string PatientSex { get; set; }
|
||||
public string AccessionNumber { get; set; } = string.Empty;
|
||||
public string PatientBirthDate { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class DistributeReviewer
|
||||
{
|
||||
public Guid StudyId { get; set; }
|
||||
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string NameCN { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public int Status { get; set; }
|
||||
}
|
||||
|
||||
public class StudyQueryDTO : PageInput
|
||||
{
|
||||
public Guid? SubjectId { get; set; }
|
||||
|
||||
public Guid? SiteId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public string SubjectInfo { get; set; }
|
||||
|
||||
public string VisitPlanInfo { get; set; }
|
||||
|
||||
public Guid? SubjectVisitId { get; set; }
|
||||
public int? Status { get; set; }
|
||||
|
||||
public DateTime? StudyTimeBegin { get; set; }
|
||||
|
||||
public DateTime? StudyTimeEnd { get; set; }
|
||||
|
||||
public DateTime? UpdateTimeBegin { get; set; }
|
||||
|
||||
public DateTime?UpdateTimeEnd { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ITrialEnrollmentService
|
||||
{
|
||||
/// <summary>入组流程-筛选医生 [select]</summary>
|
||||
IResponseOutput SelectReviewer(Guid userId, Guid trialId, Guid[] doctorIdArray);
|
||||
|
||||
/// <summary>入组流程-向CRO提交医生[Submit]</summary>
|
||||
IResponseOutput SubmitReviewer(Guid userId, Guid trialId, Guid[] doctorIdArray, int commitState);
|
||||
|
||||
/// <summary>入组流程-CRO确定医生名单 [ Approve]</summary>
|
||||
IResponseOutput ApproveReviewer(Guid userId, Guid trialId, Guid[] doctorIdArray, int auditState);
|
||||
|
||||
/// <summary>入组流程-向CRO提交医生[Submit]</summary>
|
||||
IResponseOutput ConfirmReviewer(Guid userId, Guid trialId, Guid[] doctorIdArray, int confirmState);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.Dicom.DTO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface IStudyService
|
||||
{
|
||||
/// <summary> 根据项目Id,医生Id,获取受试者访视点(不分页)</summary>
|
||||
IEnumerable<StudyStatDTO> GetStudyStatList(Guid trialId, Guid subjectId, Guid siteId);
|
||||
|
||||
|
||||
bool UpdateReUploadNewStudyCode(Guid studyId,Guid newStudyId);
|
||||
|
||||
VerifyStudyUploadResult VerifyStudyAllowUpload(string studyInstanceUid, Guid trialId, Guid? studyId);
|
||||
|
||||
PageOutput<StudyDTO> GetStudyList(StudyQueryDTO queryDto);
|
||||
|
||||
/// <summary> 添加或更新访视点</summary>
|
||||
Task<IResponseOutput> UpdateStudyBinding(StudyEditCommand param);
|
||||
|
||||
/// <summary> 删除项目访视计划</summary>
|
||||
IResponseOutput DeleteStudy(Guid id);
|
||||
|
||||
DicomTrialSiteSubjectInfo GetSaveToDicomInfo(StudyCommand dicomAddtionalCommand);
|
||||
Guid AddSubjectVisit(Guid subjectId,Guid siteId, Guid visitStageId, DateTime? SVSTDTC, DateTime? SVENDTC);
|
||||
void UpdateSubjectLatestInfo(Guid subjectId, Guid trialId);
|
||||
|
||||
bool UpdateSubjectVisit(Guid subjectVisitId, DateTime? SVSTDTC, DateTime? SVENDTC);
|
||||
|
||||
bool DistributeStudy(StudyReviewerCommand studyReviewer);
|
||||
|
||||
IResponseOutput EditStudyReviewer(StudyReviewerEditCommand studyReviewerEditCommand);
|
||||
|
||||
List<ReviewerDistributionDTO> GetReviewerListByTrialId(Guid trialId);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 更新Study 表中的Status,并且往 StudyStatusDetail详情表中插入一条状态变化记录
|
||||
/// </summary>
|
||||
/// <param name="studyStatusDetailDTO"></param>
|
||||
bool UpdateStudyStatus(StudyStatusDetailCommand studyStatusDetailDTO, string optUserName);
|
||||
bool UpdateStudyModaliyAndComment(Guid studyId,string modaliy,string comment);
|
||||
|
||||
bool UpdateStudyStatus(List<StudyStatusDetailCommand> studyStatus, string optUserName);
|
||||
|
||||
List<StudyStatusDetailDTO> GetStudyStatusDetailList(Guid studyId);
|
||||
|
||||
|
||||
PageOutput<DistributeReviewerStudyStatusDTO> GetDistributeStudyList(StudyStatusQueryDTO studyStatusQueryDto);
|
||||
|
||||
IEnumerable<RelationVisitDTO> GetRelationVisitList(decimal visitNum, string tpCode);
|
||||
|
||||
List<SubjectVisitStudyDTO> GetSubjectVisitStudyList(Guid trialId, Guid siteId, Guid subjectId, Guid subjectVisitId);
|
||||
Task<bool> DicomAnonymize(Guid studyId,string optuserName);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ITrialAttachmentService
|
||||
{
|
||||
IResponseOutput AddOrUpdateSpecification(TrialAttachmentCommand model,Guid userId);
|
||||
IResponseOutput DeleteSpecification(Guid Id);
|
||||
|
||||
IEnumerable<AcquisitionSpecificationDTO> GetSpecificationList(
|
||||
Guid trialId,string type);
|
||||
|
||||
|
||||
///// <summary>
|
||||
///// 获取采集规范列表
|
||||
///// </summary>
|
||||
///// <param name="param"></param>
|
||||
///// <returns></returns>
|
||||
//PageOutput<AcquisitionSpecificationDTO> GetSpecificationList(ImageAcquisitionSpecificationQueryDTO param);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.Trial.DTO;
|
||||
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ITrialRevenuesPriceVerificationService
|
||||
{
|
||||
//List<RevenusVerifyDTO> GetRevenuesVerifyResultList(RevenusVerifyQueryDTO param);
|
||||
|
||||
AnalysisVerifyResultDTO GetAnalysisVerifyList(RevenusVerifyQueryDTO param);
|
||||
|
||||
List<RevenusVerifyDTO> GetTrialRevenuesVerifyResultList(RevenusVerifyQueryDTO param);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ITrialService
|
||||
{
|
||||
bool TrialExpeditedChange { get; set; }
|
||||
//查询
|
||||
TrialDetailDTO GetTrialInfoAndLockState(Guid projectId);
|
||||
int GetTrialExpeditedState(Guid trialId);//获取项目加急状态
|
||||
|
||||
|
||||
int GetTrialMaxState(Guid trialId);
|
||||
|
||||
IResponseOutput ConfirmTrialVisitPlan(Guid trialId);
|
||||
//添加项目基本信息
|
||||
IResponseOutput AddOrUpdateTrial(TrialCommand addTrialModel, Guid userId);
|
||||
|
||||
//手动变更项目状态
|
||||
IResponseOutput UpdateTrialStatus(Guid trialId, string statusStr);
|
||||
//删除
|
||||
IResponseOutput DeleteTrial(Guid trialId);
|
||||
//获取分页项目 列表 多条件查询
|
||||
PageOutput<TrialDetailDTO> GetTrialList(TrialQueryDTO searchModel, Guid userId);
|
||||
|
||||
List<Guid> GetTrialEnrollmentReviewerIds(Guid trialId);
|
||||
|
||||
PageOutput<TrialDetailDTO> GetReviewerTrialListByEnrollmentStatus(
|
||||
TrialByStatusQueryDTO param);
|
||||
|
||||
PageOutput<TrialDetailDTO> GetTrialListByReviewer(ReviewerTrialQueryDTO searchModel, Guid userId);
|
||||
IResponseOutput UpdateEnrollStatus(Guid trialId, int status);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface IUserTrialService
|
||||
{
|
||||
|
||||
IEnumerable<TrialSiteSelect> GetTrialSiteSelect(Guid trialId);
|
||||
|
||||
|
||||
/// <summary>获取项目的维护人员列表 </summary>
|
||||
PageOutput<UserTrialDTO> GetUserTrialList(UserTrialListQueryDTO param);
|
||||
|
||||
IEnumerable<UserTrialDTO> GetMaintenanceUserList(TrialMaintenanceQuery param);
|
||||
|
||||
/// <summary> 获取可供选择的运维人员列表</summary>
|
||||
IEnumerable<UserSelectionModel> GetUserSelectionList(Guid userTypeId,Guid institutionId);
|
||||
|
||||
/// <summary> 添加或更新运维人员</summary>
|
||||
IResponseOutput AddOrUpdateUserTrial(UserTrialCommand param);
|
||||
|
||||
/// <summary> 删除运维人员</summary>
|
||||
IResponseOutput DeleteUserTrial(Guid param);
|
||||
|
||||
|
||||
/// <summary>获取负责研究中心CRC列表</summary>
|
||||
PageOutput<SiteStatDTO> GetSiteCRCList(SiteCrcQueryDTO param);
|
||||
|
||||
/// <summary> 添加或更新CRC人员</summary>
|
||||
IResponseOutput AddOrUpdateSiteCRC(SiteCRCCommand param);
|
||||
|
||||
|
||||
/// <summary> 删除CRC人员</summary>
|
||||
IResponseOutput DeleteSiteCRC(Guid id);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface IVisitPlanService
|
||||
{
|
||||
/// <summary> 分页获取项目访视计划</summary>
|
||||
PageOutput<VisitStageDTO> GetTrialVisitStageList(VisitPlanQueryDTO param);
|
||||
|
||||
|
||||
|
||||
IEnumerable<VisitStageSelectDTO> GetTrialVisitStageSelect(Guid trialId);
|
||||
|
||||
|
||||
/// <summary> 根据项目Id,获取项目访视计划(不分页)</summary>
|
||||
IEnumerable<VisitStageDTO> GetVisitStageList(Guid trialId);
|
||||
|
||||
/// <summary> 添加或更新运维人员</summary>
|
||||
IResponseOutput AddOrUpdateVisitStage(VisitPlanCommand param);
|
||||
|
||||
/// <summary> 删除项目访视计划</summary>
|
||||
IResponseOutput DeleteVisitStage(Guid id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class ImageQACommand
|
||||
{
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public Guid? ParentId { get; set; }
|
||||
public String CommunicationRecord { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class ImageQaDTO: ImageQACommand
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class StudyQAView
|
||||
{
|
||||
List<ImageQaDTO> ImageQAList =new List<ImageQaDTO>();
|
||||
|
||||
List<Guid> DictionayIds=new List<Guid>();
|
||||
|
||||
//List<string> Qa
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
public class ImageCommand
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SubjectId { get; set; } = Guid.Empty;
|
||||
public Guid SiteId { get; set; } = Guid.Empty;
|
||||
public Guid SubjectVisitId { get; set; } = Guid.Empty;
|
||||
public string TrialCode { get; set; }
|
||||
}
|
||||
|
||||
public class ImageDetailDTO : ImageCommand
|
||||
{
|
||||
public int? State { get; set; }
|
||||
public DateTime StudyDate { get; set; } = DateTime.Now;
|
||||
public string Modalities { get; set; } = string.Empty;
|
||||
public Guid StudyId { get; set; } = Guid.Empty;
|
||||
public string ImageNo { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public string SubjectCode { get; set; }//受试者编号
|
||||
public string SiteName { get; set; }
|
||||
public string MedicalNo { get; set; }
|
||||
public string Period { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
public class ImageQueryDTO : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public string SubjectCode { get; set; } = string.Empty;
|
||||
public Guid SubjectVisitId { get; set; } = Guid.Empty;
|
||||
public int State { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface IImageQAService
|
||||
{
|
||||
IResponseOutput AddOrUpdateImageQA(ImageQACommand qaCommand);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface IImageService
|
||||
{
|
||||
IResponseOutput AddImage(ImageCommand model,Guid userId);
|
||||
IResponseOutput DeleteImage(Guid id);
|
||||
//PageOutput<ImageDetailDTO> GetImageList(ImageQueryDTO param);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.Dicom.DTO;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts.DTO
|
||||
{
|
||||
|
||||
public class QARecordCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public Guid QATemplateId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public string Note { get; set; }
|
||||
|
||||
public DateTime? DeadlineTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class QARecordWithUser: QARecordCommand
|
||||
{
|
||||
public string UserName { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
public int ReplyCount { get; set; }
|
||||
}
|
||||
|
||||
public class QADictionaryCommand
|
||||
{
|
||||
|
||||
public string Note { get; set; }
|
||||
public Guid DictionaryId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class QADictionaryDTO : QADictionaryCommand
|
||||
{
|
||||
public string DictionaryValue { get; set; }
|
||||
}
|
||||
|
||||
public class QADicView
|
||||
{
|
||||
public Guid QARecordId { get; set; }
|
||||
public string DictionaryValue { get; set; }
|
||||
public string Note { get; set; }
|
||||
public Guid DictionaryId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class QAToalCommand
|
||||
{
|
||||
public Guid StudyId { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public QARecordCommand QARecord { get; set; }
|
||||
|
||||
public List<QADictionaryCommand> QADictionaryList { get; set; } = new List<QADictionaryCommand>();
|
||||
|
||||
}
|
||||
|
||||
public class QADTO
|
||||
{
|
||||
public List<QARecordDTO> QARecordList { get; set; } = new List<QARecordDTO>();
|
||||
public StudySubjectInfoDTO StudySubjectInfo { get; set; }
|
||||
public AcquisitionSpecificationDTO Specification { get; set; }
|
||||
}
|
||||
|
||||
public class QARecordDTO
|
||||
{
|
||||
public QARecordWithUser QARecord { get; set; }
|
||||
|
||||
public List<QADicView> QADictionaryList { get; set; } = new List<QADicView>();
|
||||
|
||||
}
|
||||
|
||||
public class StudySubjectInfoDTO
|
||||
{
|
||||
public int StudyStatus { get; set; }
|
||||
public string SubjectCode { get; set; }
|
||||
public string SubjectName { get; set; }
|
||||
public int SubjectAge { get; set; }
|
||||
public string SubjectSex { get; set; }
|
||||
|
||||
public string PatientName { get; set; } = string.Empty;
|
||||
public string PatientAge { get; set; } = string.Empty;
|
||||
public string PatientSex { get; set; } = string.Empty;
|
||||
|
||||
public string Modalities { get; set; }
|
||||
|
||||
public int SeriesCount { get; set; }
|
||||
|
||||
public int InstanceCount { get; set; }
|
||||
|
||||
public string Comment { get; set; }
|
||||
public string QAComment { get; set; }
|
||||
public bool Anonymize { get; set; }
|
||||
|
||||
|
||||
public decimal VisitNum { get; set; }
|
||||
public string VisitName { get; set; } = string.Empty;
|
||||
public DateTime? SVSTDTC { get; set; }
|
||||
public DateTime? SVENDTC { get; set; }
|
||||
public bool InPlan { get; set; }
|
||||
|
||||
|
||||
}
|
||||
public class QADialogCommand
|
||||
{
|
||||
public string TalkContent { get; set; }
|
||||
public Guid QARecordId { get; set; }
|
||||
public Guid? ParentId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class DialogDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string TalkContent { get; set; }
|
||||
//public Guid QARecordId { get; set; }
|
||||
public string From { get; set; }
|
||||
public string To { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
public string PreviousContent { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
public class DialogNode
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid ParentId { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
public string UserName { get; set; }
|
||||
|
||||
public string TalkContent { get; set; }
|
||||
public Guid QARecordId { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts.DTO
|
||||
{
|
||||
public class QATemplateCommand
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
}
|
||||
|
||||
public class QATemplateDTO: QATemplateCommand
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class QATemplateQueryDTO : PageInput
|
||||
{
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
public class QATemplateItemSelect: QATemplateItemDTO
|
||||
{
|
||||
public bool IsSelect { get; set; }
|
||||
}
|
||||
|
||||
public class QATemplateItemDTO
|
||||
{
|
||||
public string DictionaryValue { get; set; }
|
||||
|
||||
public Guid DictionaryId { get; set; }
|
||||
}
|
||||
|
||||
public class QATemplateConfigCommand
|
||||
{
|
||||
public Guid DictionaryId { get; set; }
|
||||
|
||||
public Guid QATemplateId { get; set; }
|
||||
|
||||
public bool IsSelect { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
public interface IQADictionaryService
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.DTO;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
public interface IQARecordService
|
||||
{
|
||||
|
||||
|
||||
IResponseOutput AddOrUpdateQARecord(QAToalCommand qaTotalCommand);
|
||||
|
||||
IResponseOutput DeleteQARecord(Guid qaQARecordId);
|
||||
|
||||
QADTO GetQARecordList(Guid studyId,Guid trialId);
|
||||
|
||||
IResponseOutput AddQAReply(QADialogCommand qaDialogCommand);
|
||||
|
||||
IResponseOutput DeleteQAReply(Guid qaReplyId);
|
||||
|
||||
List<DialogDTO> GetQaRecordDialogList(Guid qaRecordId);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
public interface IQATemplateDictionaryService
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.DTO;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
public interface IQATemplateService
|
||||
{
|
||||
IResponseOutput AddOrUpdateQATemplate(QATemplateCommand qaTemplateCommand);
|
||||
|
||||
IResponseOutput DeleteQATemplate(Guid qaTemplateId);
|
||||
|
||||
PageOutput<QATemplateDTO> GetQaTemplateList(QATemplateQueryDTO qaTemplateQuery);
|
||||
|
||||
List<QATemplateItemDTO> GetQaTemplateItemsById(Guid qaTemplateId);
|
||||
|
||||
List<QATemplateDTO> GetQaTemplateSelectList();
|
||||
|
||||
List<QATemplateItemSelect> GetQaTemplateConfigList(Guid qaTemplateId);
|
||||
|
||||
IResponseOutput ConfigQATemplate(QATemplateConfigCommand qaTemplateConfigCommand);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ISubjectService
|
||||
{
|
||||
IResponseOutput AddOrUpdateSubject(SubjectCommand model);
|
||||
IResponseOutput DeleteSubject(Guid id);
|
||||
PageOutput<SubjectQueryModel> GetSubjectList(SubjectQueryParam param);
|
||||
|
||||
List<SubjectSelect> GetSubjectListBySiteId(Guid siteId, Guid trialId);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts.Trial
|
||||
{
|
||||
public interface ISubjectVisitService
|
||||
{
|
||||
|
||||
PageOutput<SubjectVisitNewDTO> GetVisitList(SubjectVisitSearchDTO subjectVisitSearch);
|
||||
|
||||
|
||||
IEnumerable<SubjectVisitDTO> GetSubjectVisitList(Guid trialId, Guid subjectId);
|
||||
|
||||
List<SubjectVisitSelectDTO> GetSubjectVisitSelectList(Guid trialId, Guid siteId, Guid subjectId);
|
||||
|
||||
IResponseOutput AddOrUpdateSV(SubjectVisitCommand svCommand);
|
||||
|
||||
|
||||
IResponseOutput DeleteSV(Guid id);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Application.Interfaces
|
||||
{
|
||||
public interface ITrialWorkloadService
|
||||
{
|
||||
/// <summary>
|
||||
/// 上传入组后的Ack-SOW
|
||||
/// </summary>
|
||||
IResponseOutput UploadReviewerAckSOW(Guid userId, Guid trialId, ReviewerAckDTO attachmentViewModel);
|
||||
|
||||
/// <summary>
|
||||
/// 删除Ack-SOW
|
||||
/// </summary>
|
||||
IResponseOutput DeleteReviewerAckSOW(Guid trialId, Guid doctorId, Guid attachmentId);
|
||||
|
||||
IResponseOutput UpdateReviewerReadingType(Guid trialId, Guid doctorId, int type);
|
||||
|
||||
/// <summary>
|
||||
/// 获取某个项目入组的医生工作量统计列表
|
||||
/// </summary>
|
||||
PageOutput<WorkLoadAndAgreementDTO> GetTrialEnrollmentWorkloadStats(WorkLoadDoctorQueryDTO doctorSearchModel);
|
||||
|
||||
PageOutput<WorkLoadDetailDTO> GetEnrollmentWorkloadStatsDetail(
|
||||
WorkLoadStatsQueryDTO workLoadSearch);
|
||||
|
||||
List<WorkLoadDetailViewModel> GetReviewerWorkLoadListDetail(
|
||||
WorkLoadDetailQueryDTO workLoadSearch);
|
||||
|
||||
/// <summary> 判断医生是否存在当天的工作量数据 </summary>
|
||||
IResponseOutput<ExistWorkloadViewModel> WorkloadExist(WorkloadExistQueryDTO param);
|
||||
IResponseOutput AddOrUpdateWorkload(WorkloadCommand workLoadAddOrUpdateModel, Guid userId);
|
||||
IResponseOutput DeleteWorkload(Guid id);
|
||||
WorkloadDTO GetWorkloadDetailById(Guid id);
|
||||
}
|
||||
}
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IRaCIS.Application.ViewModels
|
||||
{
|
||||
#region TP
|
||||
public class WorkloadTPDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public string SubjectCode { get; set; }
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
public decimal VisitNum { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public string StudyCode { get; set; }
|
||||
public string TimepointCode { get; set; }
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerCode { get; set; }
|
||||
public string ReviewerFirstName { get; set; }
|
||||
public string ReviewerLastName { get; set; }
|
||||
public string ReviewerChineseName { get; set; }
|
||||
public int Status { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Global
|
||||
public class WorkloadGlobalDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
public Guid VisitId { get; set; }
|
||||
public string VisitName { get; set; }
|
||||
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public string SubjectCode { get; set; }
|
||||
public decimal VisitNum { get; set; }
|
||||
|
||||
public string GlobalCode { get; set; }
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerCode { get; set; }
|
||||
public string ReviewerFirstName { get; set; }
|
||||
public string ReviewerLastName { get; set; }
|
||||
public string ReviewerChineseName { get; set; }
|
||||
public int Status { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region AD
|
||||
public class WorkloadADDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public string SiteName { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public string SubjectCode { get; set; }
|
||||
public string ADCode { get; set; }
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerCode { get; set; }
|
||||
public string ReviewerFirstName { get; set; }
|
||||
public string ReviewerLastName { get; set; }
|
||||
public string ReviewerChineseName { get; set; }
|
||||
public int Status { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
public Guid Global1Id { get; set; }
|
||||
public Guid Global2Id { get; set; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
public class WorkloadDistributionQueryParam : PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; } = Guid.Empty;
|
||||
public Guid? SiteId { get; set; } = Guid.Empty;
|
||||
public string SubjectCode { get; set; } = string.Empty;
|
||||
public string WorkloadCode { get; set; } = string.Empty;
|
||||
public string Reviewer { get; set; } = string.Empty;
|
||||
public int? Status { get; set; }
|
||||
public int? GroupId { get; set; } = 0;
|
||||
}
|
||||
|
||||
public class WorkloadTPInfo
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
}
|
||||
public class WorkloadTPCommand
|
||||
{
|
||||
public List<WorkloadTPInfo> TpList { get; set; } = new List<WorkloadTPInfo>();
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerName { get; set; }
|
||||
}
|
||||
|
||||
public class WorkloadGlobalInfo
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public decimal VisitNum { get; set; }
|
||||
}
|
||||
public class WorkloadGlobalCommand
|
||||
{
|
||||
public List<WorkloadGlobalInfo> GlobalList { get; set; } = new List<WorkloadGlobalInfo>();
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerName { get; set; }
|
||||
}
|
||||
public class WorkloadAdCommand
|
||||
{
|
||||
public List<Guid> IdList { get; set; } = new List<Guid>();
|
||||
public Guid ReviewerId { get; set; }
|
||||
public string ReviewerName { get; set; }
|
||||
}
|
||||
|
||||
//public class WorkloadDistributionUpdateCommand
|
||||
//{
|
||||
// public Guid Id { get; set; }
|
||||
// public Guid? ReviewerId { get; set; }
|
||||
//}
|
||||
|
||||
public class WorkloadDetailDTO
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid WorkloadId { get; set; }
|
||||
public string OptUserName { get; set; }
|
||||
public DateTime OptTime { get; set; }
|
||||
public string ReviewerFirstName { get; set; }
|
||||
public string ReviewerLastName { get; set; }
|
||||
public string ReviewerChineseName { get; set; }
|
||||
public int Status { get; set; }
|
||||
}
|
||||
|
||||
//public class WorkloadDetailQueryParam
|
||||
//{
|
||||
// public int WorkloadType { get; set; } //1-tp,2-global,3-ad
|
||||
// public Guid WorkloadId { get; set; }
|
||||
|
||||
//}
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using IRaCIS.Application.ViewModels;
|
||||
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
public interface IWorkloadDistributionService
|
||||
{
|
||||
PageOutput<WorkloadTPDTO> GetWorkloadTPList(WorkloadDistributionQueryParam param);
|
||||
IResponseOutput DistributeTP(WorkloadTPCommand workloadTPCommand);
|
||||
IResponseOutput UpdateDistributeTP(Guid tpId, Guid ReviewerId, Guid studyId);
|
||||
|
||||
PageOutput<WorkloadGlobalDTO> GetWorkloadGlobalList(WorkloadDistributionQueryParam param);
|
||||
IResponseOutput DistributeGlobal(WorkloadGlobalCommand workloadGlobalCommand);
|
||||
IResponseOutput UpdateDistributeGlobal(Guid tpId, Guid ReviewerId,Guid subjectId, decimal visitNum);
|
||||
|
||||
PageOutput<WorkloadADDTO> GetWorkloadADList(WorkloadDistributionQueryParam param);
|
||||
bool DistributeAD(WorkloadAdCommand workloadTPCommand);
|
||||
bool UpdateDistributeAD(Guid tpId, Guid ReviewerId);
|
||||
|
||||
IResponseOutput<List<WorkloadDetailDTO>> GetWorkloadDetail(Guid WorkloadId);
|
||||
|
||||
IResponseOutput UpdateGlobalStatus(Guid globalId);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user