-----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)) --非基线 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) --处理裁判 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) --处理全局 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) -----处理 是否所有临床数据都签名的字段 --处理访视 --基线 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=0 or 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 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 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) --处理字段 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] ))