irc-netcore-api/IRaCIS.Core.Domain/SQLFile/Test.sql

308 lines
19 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

-----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]
))