346 lines
22 KiB
Transact-SQL
346 lines
22 KiB
Transact-SQL
-----2022-05-27------------------------
|
||
|
||
update DataInspection set BatchId=Id where BatchId is null
|
||
|
||
update QCChallenge set Code=ChallengeCode
|
||
|
||
update QCChallenge set ChallengeCode='Q'+ RIGHT('00000'+CAST( Code AS nvarchar(50)),5);
|
||
|
||
|
||
|
||
|
||
-----2022-08-11------------------------
|
||
|
||
update [dbo].[Site] set Code= convert(int,RIGHT(SiteCode,4))
|
||
update Site set SiteName= substring(SiteName,1,charindex('医院',SiteName)+1),AliasName=substring(SiteName,charindex('医院',SiteName)+2,30) where SiteName like '%医院%医院'
|
||
|
||
|
||
update Doctor set Physician='Chief Physician',PhysicianCN='主任医师' where RankId='dcbf4d1a-8373-4539-a0ae-1ba76d57bb48'
|
||
update Doctor set Physician='Deputy Chief Physician',PhysicianCN='副主任医师' where RankId='3a6e3335-cea4-4803-a136-d6301883a937'
|
||
update Doctor set RankOther='Professor',RankOtherCN='教授' where RankId='dcbf4d1a-8373-4539-a0ae-1ba76d57bb48'
|
||
update Doctor set RankOther='Associate Professor',RankOtherCN='副教授' where RankId='3a6e3335-cea4-4803-a136-d6301883a937'
|
||
update Doctor set Physician='Staff',PhysicianCN='医师' where RankId='82411c2e-9832-4c6f-a859-e3b6e796760d'
|
||
|
||
|
||
update DataInspection set JsonDetail= replace(cast(JsonDetail as varchar(max)),'Insepection','CommonData')
|
||
|
||
update ReadingClinicalData set FileCount=(select count(*) from ReadingClinicalDataPDF where ReadingClinicalDataId =ReadingClinicalData.Id)
|
||
update NoneDicomStudy set FileCount=(select count(*) from NoneDicomStudyFile where NoneDicomStudyId =NoneDicomStudy.Id)
|
||
|
||
|
||
update DataInspection set CreateUserName= (select UserName from [User] where [User].Id = DataInspection.CreateUserId)
|
||
|
||
update DataInspection set RoleName=(select UserName from [User] INNER join UserType on [User].UserTypeId =UserType.Id where [User].Id=DataInspection.CreateUserId)
|
||
|
||
update DataInspection set CreateUserRealName=(select LastName+' / '+FirstName from [User] where [User].Id=DataInspection.CreateUserId)
|
||
|
||
|
||
update TrialDocUserTypeConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime
|
||
update SystemDocConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime
|
||
update TrialDocUserTypeConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=getdate() where SignFirstViewTime is null
|
||
update SystemDocConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=getdate() where SignFirstViewTime is null
|
||
update TrialDocUserTypeConfirmedUser set IsDeleted=0 where IsDeleted is null
|
||
update SystemDocConfirmedUser set IsDeleted=0 where IsDeleted is null
|
||
|
||
|
||
update EnrollReadingCategory set TrialReadingCriterionId= ISNUll((select top 1 Id from ReadingQuestionCriterionTrial where IsConfirm=1 and TrialId=Enroll.TrialId ) ,'00000000-0000-0000-0000-000000000000')
|
||
FROM EnrollReadingCategory INNER JOIN Enroll ON (EnrollReadingCategory.EnrollId = Enroll.Id)
|
||
|
||
update VisitTask set TrialReadingCriterionId=(select top 1 Id from ReadingQuestionCriterionTrial where IsConfirm=1 and TrialId=VisitTask.TrialId)
|
||
select * from EnrollReadingCategory where TrialReadingCriterionId is null
|
||
select * from VisitTask where TrialReadingCriterionId is null
|
||
|
||
|
||
update Site set Site.Code = (select b.code2 from (select Id,row_number() over(order by Site.SiteName) code2 from Site) b where b.Id =Site.Id)
|
||
update Site set SiteCode= 'S'+ RIGHT('0000'+CAST(Site.Code as varchar(10)),4)
|
||
|
||
--不用同步
|
||
update FrontAuditConfig set ValueCN='任务名称' where Value='TaskName' and ValueCN='访视/阅片期名称' and Code='TaskName'
|
||
update FrontAuditConfig set ValueCN='任务盲态标识' where Value='TaskBlindName' and ValueCN='访视盲态名称' and Code='TaskBlindName'
|
||
|
||
-----------------------------------------之前的-------------------------------------------------------------
|
||
|
||
|
||
|
||
--无序维护sql
|
||
update VisitTask set TaskBlindName='Follow-up'
|
||
from VisitTask
|
||
INNER join ReadingQuestionCriterionTrial on VisitTask.TrialReadingCriterionId=ReadingQuestionCriterionTrial.Id
|
||
INNER join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
where SubjectVisit.IsBaseLine=0 and ReadingQuestionCriterionTrial.IsReadingTaskViewInOrder=0
|
||
|
||
|
||
-- 有序维护sql
|
||
update VisitTask set TaskBlindName='Follow-up '+ cast(sv.rn as varchar)
|
||
from VisitTask
|
||
join ReadingQuestionCriterionTrial on VisitTask.TrialReadingCriterionId=ReadingQuestionCriterionTrial.Id
|
||
--join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
join ( select Id SubjectVisitId, IsBaseLine, ROW_NUMBER() over( partition by SubjectId order by VisitNum asc )-1 rn,VisitNum from SubjectVisit where IsLostVisit=0) sv on VisitTask.SourceSubjectVisitId=sv.SubjectVisitId
|
||
where sv.IsBaseLine=0 and ReadingQuestionCriterionTrial.IsReadingTaskViewInOrder=1
|
||
|
||
update VisitTask set TaskBlindName='Baseline' from VisitTask
|
||
join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id where SubjectVisit.IsBaseLine=1
|
||
|
||
|
||
|
||
|
||
----------------------------------------------修改 ----------------------------------------
|
||
update Dictionary set code =0 where Id='15bb5529-a6fe-439f-5196-08da179a7080'
|
||
update Dictionary set code =1 where Id='0628d7be-afba-4471-5197-08da179a7080'
|
||
update Dictionary set code =2 where Id='41bfec4b-dbfb-401d-5198-08da179a7080'
|
||
update Dictionary set code =-1 where Id='1fac678d-69b6-41c3-5199-08da179a7080'
|
||
go
|
||
|
||
|
||
update ReadingQuestionCriterionTrial set DigitPlaces=DigitPlaces-1 where DigitPlaces is not null
|
||
update ReadingQuestionCriterionTrial set DigitPlaces=-1 where DigitPlaces=3
|
||
|
||
|
||
|
||
|
||
|
||
|
||
--阅片标准维护
|
||
update DataInspection set ObjectRelationParentId3 = (select top 1 TrialReadingCriterionId from SubjectUser where Id =DataInspection.GeneralId) where EntityName='SubjectUser'
|
||
update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from ReadingPeriodSet where Id =DataInspection.GeneralId) where EntityName='ReadingPeriodSet'
|
||
update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from ReadModule where Id =DataInspection.GeneralId) where EntityName='ReadModule'
|
||
update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from TaskConsistentRule where Id =DataInspection.GeneralId) where EntityName='TaskConsistentRule'
|
||
update DataInspection set ObjectRelationParentId3 = (select top 1 TrialReadingCriterionId from VisitTask where Id =DataInspection.GeneralId) where EntityName='VisitTask'
|
||
|
||
update ReadingTableQuestionTrial set DictionaryCode='' where DictionaryCode is null
|
||
|
||
|
||
|
||
|
||
--维护RowInfo的OrderMark
|
||
|
||
select * from ReadingTableAnswerRowInfo
|
||
update ReadingTableAnswerRowInfo set ReadingTableAnswerRowInfo.OrderMark=ReadingQuestionTrial.OrderMark from ReadingQuestionTrial
|
||
inner join ReadingTableAnswerRowInfo on ReadingTableAnswerRowInfo.QuestionId=ReadingQuestionTrial.Id
|
||
|
||
|
||
|
||
delete ReadingTableQuestionAnswer where TableQuestionId in (select id from ReadingTableQuestionTrial where QuestionMark=3)
|
||
go
|
||
delete ReadingTableQuestionTrial where QuestionMark=3
|
||
go
|
||
delete ReadingTableQuestionSystem where QuestionMark=3
|
||
go
|
||
|
||
|
||
------------------------------------2022-12-13----------------------------
|
||
update ReadingQuestionSystem set DefaultValue=''
|
||
update ReadingQuestionTrial set DefaultValue=''
|
||
|
||
----------删除之后要重新同步器官数据
|
||
delete OrganInfo where SystemCriterionId='B0450000-9B8E-98FA-6658-08DA4DAB1FAC'
|
||
delete OrganTrialInfo
|
||
where (select count(1) as num from OrganInfo where OrganInfo.Id = OrganTrialInfo.OrganInfoId) = 0
|
||
|
||
|
||
----2022-12-15
|
||
Update Trial set BlindBaseLineName='Baseline',BlindFollowUpPrefix='Follow-up'
|
||
update DataInspection set VisitTaskId = GeneralId where EntityName='VisitTask'
|
||
|
||
--2022-12-17 维护稽查数据
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('OriginalReReadingTaskId":"',JsonDetail)+26,36) where EntityName='VisitTaskReReading'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='TaskMedicalReview'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='ReadingOncologyTaskInfo'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='ReadingMedicalReviewDialog'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='ReadingTaskQuestionAnswer'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='ReadingTableAnswerRowInfo'
|
||
update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTaskId":"',JsonDetail)+14,36) where EntityName='ReadingMedicineQuestionAnswer'
|
||
|
||
|
||
update DataInspection set SubjectVisitId=null where EntityName='ReadModule'
|
||
update DataInspection set TrialReadingCriterionId=(select TrialReadingCriterionId from VisitTask where Id =VisitTaskId) where VisitTaskId is not null and TrialReadingCriterionId is null
|
||
|
||
|
||
|
||
--稽查bug 数据维护
|
||
|
||
update DataInspection set TrialReadingCriterionId= substring(JsonDetail,CHARINDEX('TrialCriterionId":"',JsonDetail)+19 +
|
||
( DATALENGTH( left( cast([JsonDetail] as VARCHAR(2500)) ,charindex('TrialCriterionId":"',JsonDetail)) )
|
||
-LEN ( left( cast([JsonDetail] as VARCHAR(2500)) ,charindex('TrialCriterionId":"',JsonDetail)) )
|
||
),36) where EntityName='ReadingTableQuestionTrial'
|
||
update DataInspection set TrialReadingCriterionId= substring(JsonDetail,CHARINDEX('ReadingQuestionCriterionTrialId":"',JsonDetail)+34,36) where EntityName='ReadingQuestionTrial'
|
||
update DataInspection set TrialReadingCriterionId= GeneralId where EntityName='ReadingQuestionCriterionTrial'
|
||
|
||
--维护临床数据状态
|
||
update ReadingClinicalData set IsSign=1 where EXISTS(select * from SubjectVisit where Id=ReadingId and IsBaseLine=1 and IsConfirmedClinicalData=1) and IsSign=0
|
||
update ReadingClinicalData set ReadingClinicalDataState=3 where IsSign=1 and ReadingClinicalDataState!=3
|
||
|
||
|
||
|
||
--20221223--发布生产开始
|
||
|
||
|
||
|
||
update DataInspection set Identification='ReadingMedicineQuestionAnswer/Add' , ObjectTypeId='E8250000-3E2C-0016-8166-08DA7E8DFF90',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB' where EntityName='ReadingMedicineQuestionAnswer'
|
||
update DataInspection set ObjectTypeId='A4100000-3E2C-0016-A716-08DA7E8DA9BD',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB' where Identification='ReadingMedicalReview/saveMedicalReviewInfo/TaskMedicalReview/Update'
|
||
update DataInspection set Identification='ReadingMedicalReviewDialog/Add' , ObjectTypeId='D8270000-3E2C-0016-2A14-08DA3EDB77FD',OptTypeId='02FCF476-4089-4B2C-B9BE-08DA0E391693',ModuleTypeId='A4460000-3E2C-0016-F305-08DA7E8C40BB' where EntityName='ReadingMedicalReviewDialog'
|
||
|
||
update DataInspection set Identification='ReadingMedicalReviewDialog/Add/IR' from DataInspection INNER JOIN [User] on DataInspection.CreateUserId = [User].Id where DataInspection.EntityName='ReadingMedicalReviewDialog' and [User].UserTypeEnum=13
|
||
update DataInspection set Identification='ReadingMedicalReviewDialog/Add/MIM' from DataInspection INNER JOIN [User] on DataInspection.CreateUserId = [User].Id where DataInspection.EntityName='ReadingMedicalReviewDialog' and [User].UserTypeEnum=14
|
||
|
||
|
||
|
||
---------修改 ReadingMedicineQuestionAnswer的VisitTaskId
|
||
update ReadingMedicineQuestionAnswer set ReadingMedicineQuestionAnswer.VisitTaskId=TaskMedicalReview.VisitTaskId from TaskMedicalReview
|
||
inner join ReadingMedicineQuestionAnswer on ReadingMedicineQuestionAnswer.TaskMedicalReviewId=TaskMedicalReview.id
|
||
|
||
|
||
|
||
|
||
update frontAuditConfig set DictionaryCode ='' where Code='AuditState' and DictionaryCode='AuditState'
|
||
|
||
----正式环境 修改TrialCode 错误的
|
||
|
||
|
||
|
||
|
||
|
||
----------------------------2023-1-09
|
||
|
||
-- 修改Hospital 的SiteId
|
||
update Hospital set Hospital.SiteId=Site.Id from Site
|
||
inner join Hospital on Hospital.HospitalName=Site.SiteName
|
||
|
||
|
||
---2023 -1-10
|
||
--处理访视
|
||
--基线
|
||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=1 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1) and IsNeedClinicalDataSign=0
|
||
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =0 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=1 and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1) and IsConfirm=1) and IsNeedClinicalDataSign=1
|
||
|
||
--非基线
|
||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=0 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=1 and IsConfirm=1) and IsNeedClinicalDataSign =0
|
||
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =0 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=0 and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=1 and IsConfirm=1) and IsNeedClinicalDataSign =1
|
||
|
||
--处理裁判
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =0,IsClinicalDataSign=0 where VisitTask.ReadingCategory=4
|
||
|
||
--处理肿瘤学
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=5 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=3 and IsConfirm=1)
|
||
|
||
--处理全局
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=2 and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2 and IsConfirm=1)
|
||
|
||
|
||
update VisitTask set IsNeedClinicalDataSign =0 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=2 and not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2 and IsConfirm=1 ) and IsNeedClinicalDataSign=1
|
||
|
||
|
||
-----处理 是否所有临床数据都签名的字段
|
||
--处理访视
|
||
--基线
|
||
update VisitTask set IsClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=1
|
||
and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1))
|
||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ( ClinicalDataLevel=1)
|
||
)
|
||
=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1
|
||
-- 有可能仅仅CRC Subject级别 需要签名 CRC自动签名了 没有PM需要签名的文档 此时应该设置为已签署
|
||
)
|
||
|
||
|
||
--非基线
|
||
update VisitTask set IsClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=0
|
||
and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=1)
|
||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=1)
|
||
=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
|
||
|
||
|
||
|
||
--处理肿瘤学
|
||
|
||
update VisitTask set IsClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=5
|
||
and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=3)
|
||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=3)
|
||
=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
|
||
|
||
|
||
|
||
--处理全局
|
||
|
||
update VisitTask set IsClinicalDataSign =1 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=2 and VisitTask.IsClinicalDataSign =1
|
||
and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2)
|
||
|
||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2)
|
||
=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
|
||
|
||
update VisitTask set IsClinicalDataSign =0 from VisitTask
|
||
inner join ReadingQuestionCriterionTrial on ReadingQuestionCriterionTrial.Id=VisitTask.TrialReadingCriterionId
|
||
inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
||
where VisitTask.ReadingCategory=2 and VisitTask.IsClinicalDataSign =1
|
||
and
|
||
( not EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2)
|
||
|
||
or (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and ClinicalDataLevel=2)
|
||
!=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
|
||
)
|
||
|
||
|
||
--处理字段 IsFrontTaskNeedSignButNotSign
|
||
|
||
UPDATE v SET [v].[IsFrontTaskNeedSignButNotSign] =1
|
||
FROM [VisitTask] AS [v]
|
||
WHERE EXISTS (
|
||
|
||
SELECT 1
|
||
FROM [VisitTask] AS [v0]
|
||
where [v0].SubjectId=v.SubjectId and [v0].TrialReadingCriterionId=V.TrialReadingCriterionId and [v0].TrialId=V.TrialId and EXISTS(
|
||
SELECT 1
|
||
FROM [VisitTask] AS [v1]
|
||
WHERE [v1].SubjectId=v.SubjectId and V1.TrialReadingCriterionId=V.TrialReadingCriterionId and V1.TrialId=V.TrialId and [v1].[IsNeedClinicalDataSign]=1 and V1.IsClinicalDataSign=0 and V1.VisitTaskNum< [v0].[VisitTaskNum]
|
||
|
||
) AND [v0].[Id] = [v].[Id] )
|
||
|
||
|
||
update ReadingClinicalData set IsVisit=1 from ReadingClinicalData INNER JOIN ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId = ClinicalDataTrialSet.Id where ClinicalDataTrialSet.ClinicalDataLevel in (0,1) and ReadingClinicalData.IsVisit=0 |