179 lines
5.2 KiB
C#
179 lines
5.2 KiB
C#
using System;
|
|
using IRaCIS.Core.Infrastructure.Extention;
|
|
using IRaCIS.Core.Domain.Share;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using Org.BouncyCastle.Bcpg.OpenPgp;
|
|
|
|
namespace IRaCIS.Application.Contracts
|
|
{
|
|
public class SubjectCommand
|
|
{
|
|
public Guid? Id { get; set; }
|
|
public string Code { get; set; } = String.Empty;
|
|
|
|
public int? Age { get; set; }
|
|
public string Sex { get; set; } = string.Empty;
|
|
public Guid SiteId { get; set; }
|
|
public Guid TrialId { get; set; }
|
|
public string MedicalNo { get; set; } = string.Empty;
|
|
|
|
public string ShortName { get; set; } = string.Empty;
|
|
|
|
public string Height { get; set; } = string.Empty;
|
|
|
|
public string Weight { get; set; } = string.Empty;
|
|
|
|
public DateTime? BirthDate { get; set; }
|
|
public DateTime? SignDate { get; set; }
|
|
|
|
public bool IsUrgent { get; set; }
|
|
|
|
public DateTime? FirstGiveMedicineTime { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
//public DateTime? OutEnrollmentTime { get; set; }
|
|
//public DateTime? VisitOverTime { get; set; }
|
|
//public SubjectStatus Status { get; set; }
|
|
//public string Reason { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
}
|
|
|
|
public class SubjectStatusChangeCommand
|
|
{
|
|
[NotDefault]
|
|
public Guid SubjectId { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
[NotDefault]
|
|
public Guid SiteId { get; set; }
|
|
|
|
public SubjectStatus Status { get; set; }
|
|
public DateTime? OutEnrollmentTime { get; set; }
|
|
public DateTime? VisitOverTime { get; set; }
|
|
public string Reason { get; set; } = string.Empty;
|
|
|
|
public Guid? FinalSubjectVisitId { get; set; }
|
|
}
|
|
|
|
|
|
public class TrialSubjectConfig
|
|
{
|
|
public string SubjectCodeRule { get; set; } = string.Empty;
|
|
public bool IsNoticeSubjectCodeRule { get; set; }
|
|
public bool IsHaveFirstGiveMedicineDate { get; set; }
|
|
public bool IsEnrollementQualificationConfirm { get; set; }
|
|
public bool IsHaveSubjectAge { get; set; }
|
|
public string OutEnrollmentVisitName { get; set; } = string.Empty;
|
|
public bool VisitPlanConfirmed { get; set; }
|
|
|
|
public bool IsSubjectSexView { get; set; } = false;
|
|
public bool IsSubjectExpeditedView { get; set; } = false;
|
|
|
|
public bool IsPDProgressView { get; set; }
|
|
|
|
public string VisitBaseDataDes { get; set; }
|
|
|
|
public bool IsSubjectSecondCodeView { get; set; } = false;
|
|
}
|
|
|
|
|
|
|
|
|
|
public class SubjectQueryView: SubjectCommand
|
|
{
|
|
|
|
public DateTime? OutEnrollmentTime { get; set; }
|
|
public DateTime? VisitOverTime { get; set; }
|
|
public SubjectStatus Status { get; set; }
|
|
public string Reason { get; set; } = string.Empty;
|
|
|
|
|
|
//public int? StudyCount { get; set; }
|
|
//public int? VisitCount { get; set; }
|
|
//public int? PlanVisitCount { get; set; }
|
|
|
|
|
|
//public int? InPlanDicomStudyUploadCount { get; set; }
|
|
//public int? OutPlanDicomStudyUploadCount { get; set; }
|
|
//public int? InPlanNoneDicomStudyUploadCount { get; set; }
|
|
//public int? OutPlanNoneDicomStudyUploadCount { get; set; }
|
|
|
|
public Guid? FinalSubjectVisitId { get; set; }
|
|
|
|
public int? TotalVisitCount => OutPlanVisitCount + InPlanVisitCount;
|
|
public int? TotalVisitSubmmitCount => OutPlanVisitSubmmitCount + InPlanVisitSubmmitCount;
|
|
|
|
public int? OutPlanVisitCount { get; set; }
|
|
public int? OutPlanVisitSubmmitCount { get; set; }
|
|
|
|
public int? InPlanVisitCount { get; set; }
|
|
public int? InPlanVisitSubmmitCount { get; set; }
|
|
|
|
public string? FinalSubjectVisitName { get; set; }
|
|
|
|
|
|
public int? MissingSubmmitCount { get; set; }
|
|
|
|
public int? LostVisitCount { get; set; }
|
|
|
|
public DateTime? CreateTime { get; set; }
|
|
public DateTime? UpdateTime { get; set; }
|
|
public string SiteName { get; set; } = string.Empty;
|
|
public string TrialSiteCode { get; set; } = string.Empty;
|
|
|
|
public string LatestVisitName { get; set; } = string.Empty;
|
|
|
|
public string LatestBlindName { get; set; } = string.Empty;
|
|
|
|
public bool IsMissingImages => MissingSubmmitCount > 0;
|
|
|
|
public Guid LatestSubmitSubjectVisitId { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public class SubjectQueryParam : PageInput
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
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 SubjectStatus? Status { get; set; }
|
|
}
|
|
|
|
|
|
public class SubjectSelect
|
|
{
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public string Name => LastName + " / " + FirstName;
|
|
public string FirstName { get; set; } = string.Empty;
|
|
public string LastName { get; set; } = string.Empty;
|
|
|
|
public string Code { get; set; } = string.Empty;
|
|
|
|
public string Sex { get; set; } = string.Empty;
|
|
|
|
public int? Age { get; set; }
|
|
public SubjectStatus Status { get; set; }
|
|
|
|
public DateTime? FirstGiveMedicineTime { get; set; }
|
|
|
|
public string MRN { get; set; } = string.Empty;
|
|
}
|
|
}
|