感覺上海解封有望了锅移,現(xiàn)在迫不及待地想出去跑一圈,看看花花草草非剃,還有廣闊的天地。還要買一只白切雞券坞,買兩罐啤酒恨锚,買漢堡炸雞倍靡,買燒烤,大吃特吃蜗顽,吃飽喝足后繼續(xù)自己的跑步計劃雨让,兩個月沒跑步了忿等。
---------------------------------------------
SV,記錄的是受試者的實際訪視庵寞,我記得我好像寫過兩次關(guān)于SV的東西薛匪,就不多講了,這次就講講我了解的關(guān)于SV的兩種做法古沥。
第一種:按照從小到大的順序設(shè)置VISITNUM岩齿,VISIT苞俘。
比如一個腫瘤試驗設(shè)計是如下流程:
篩選期-周期1-周期2-周期3-周期4.......治療結(jié)束-安全性隨訪-生存隨訪
SV(TV)的VISIT可以直接設(shè)置成上面的訪視,然后對應的VISITNUM是1乞封,2,3歌亲,4,5........(按照排序升序)
注意:VISITNUM不是方案定義的惋鸥,也不是IG上定義的卦绣,我的意思是它的取值不是一定要取多少飞蚓,這個就看你自己設(shè)置的樣式,但是有一點溅漾,就是VISITNUM一定要正確反映試驗的流程著榴。
你不能說治療結(jié)束的VISITNUM是1,然后篩選期的VISITNUM是100暮胧,這明顯不符合邏輯的问麸。
當我們按照升序從小到大寫完TV的時候(一般先寫TV),獲取所有RAW數(shù)據(jù)集(有些數(shù)據(jù)集不需要)的訪視(同時根據(jù)方案確定訪視有哪些)席舍,DM在設(shè)計CRF的時候来颤,訪視的名稱一般是InstanceName或者FOLDERNAME或者就是VISIT疟呐。(下面以InstanceName舉例)
寫好TV之后,VISIT和VISITNUM都有了本讥,然后我們就要寫SV了,同理也是獲取所有raw數(shù)據(jù)集(一般是Finding類的數(shù)據(jù)集色查,有些數(shù)據(jù)集不需要)的InstanceName秧了,然后獲取每個InstanceName的最大最小日期分別做成SVENDTC和SVSTDTC序无,做法跟RFPENDTC有些類似。
所以大家在寫的時候晶通,把所有數(shù)據(jù)集set在一起哟玷,然后利用proc sql 和group by usubjid,InstanceName獲取SVENDTC和SVSTDTC。
但是今天我寫的時候喉脖,發(fā)現(xiàn)這種做法有個缺陷抑月,就是比如某個人某個訪視所有檢查項目都沒做,那么這個人這個訪視的VISIT和VISITNUM在SV中是缺失的菱皆。那么我們后面寫PE,VS,LB這些domain的時候挨稿,根據(jù)日期去SV中匹配VISIT和VISITNUM就是空的京痢。
即使你說我根據(jù)InstanceName,同樣也匹配不到SV中的信息臭家,因為SV中根本就沒有方淤,所以你還得再去匹配TV,這樣明顯太繁瑣了你踩。
所以一開始我說的SV的兩種寫法,同時也是講后面我們寫Finding類的數(shù)據(jù)集如何獲取VISIT和VISITNUM吩谦。這也是一個面試題式廷,會問你平時公司是怎么處理VISIT和VISITNUM芭挽,我了解之后,不同公司做法確實不太一樣策严。
第二種寫法:
一般RAW數(shù)據(jù)集都有InstanceName饿敲,比如周期1-周期2-周期3-周期4,那我就不按從小到大的順序倔韭,比如篩選期我設(shè)為1瓢对,然后其他周期我設(shè)置一種算法,比如周期1的VISITNUM設(shè)為10*1醇疼,周期2的VISITNUM設(shè)為10*2......然后治療結(jié)束訪視的VISITNUM我設(shè)為999秧荆,安全性隨訪的VISITNUM我設(shè)為999埃仪,生存隨訪的VISITNUM我設(shè)為9999。
這樣相當于將方案中定義的每個訪視的VISITNUM固定下來了颁股。不像上面那個從小到大設(shè)置VISITNUM的方法傻丝,假設(shè)周期28的VISITNUM是34,然后你發(fā)現(xiàn)你漏寫了一個訪視亏掀,把周期28一擠,VISITNUM又變成了35了幌氮,就是變來變?nèi)ズ苈闊└没ィ耠S風飄動的蒲公英,沒有自己的位置蔓搞。
同時這樣固定VISITNUM也有一個好處随橘,就是你在后面寫Finding類的數(shù)據(jù)集,可以直接根據(jù)InstanceName算出VISITNUM蒲祈,也就是說你用這種方法求VISIT和VISITNUM萝嘁,不再受TV的VISITNUM影響(但是要保持一致),而是受InstanceName影響酸钦。同時對于某個訪視未做的情況卑硫,我們可以直接根據(jù)InstanceName求出VISITNUM蚕断,而不是像第一種方法那樣可能得連接SV甚至到TV。
總結(jié)一下颜懊,第一種從小到大安排VISITNUM的方法风皿,TV,SV和其他數(shù)據(jù)集的VISIT和VISITNUM都是聯(lián)動的匠璧,TV變了,其他也跟著變了夷恍。
第二種方法:TV一開始就根據(jù)方案和我們設(shè)置好的算法固定好了VISIT和VISITNUM了,后面求VISITNUM和VISIT就受日期和InstanceName影響侄刽。
按理說標準的做法是根據(jù)日期匹配SV里面的VISITNUM和VISIT朋凉,當然具體怎么做,還是根據(jù)你們公司的通用做法杂彭。
對于某個人某個訪視所有檢查未做的情況,可能有人好奇既然這個這個人這個訪視所有檢查未做所计,那VISITNUM和VISIT可不就是為空嗎主胧?講起來好像確實沒錯习勤,但是我看IG上對于未做的情況,依然賦予了VISITNUM姻报。
而且在后面寫listing的時候吴旋,有時候如果只根據(jù)XXdtc排序,輸出的報表并不是按時間順序排序治拿!莫名其妙的就給你順序顛倒了笆焰,即使你數(shù)據(jù)集里面看起來是正常的,可輸出的時候就是順序不對捏检,這時候一般加上VISITNUM就可以解決這個問題不皆。
如果你未做的VISITNUM是空的,一排序能犯,順序更亂了,所以最好還是給他們賦上VISITNUM和VISIT