OpenClinica 使用者手冊/自動生成 CRF
下面描述的系統是標準 OpenClinica CRF 的擴充套件,它試圖透過自動化和簡化常見任務,使經驗豐富的 OpenClinica 開發人員更容易使用 OpenClinica。
- 自動生成測試資料
- 自動執行數值資料的範圍驗證(以及驗證錯誤訊息)
- 自動執行變數名稱唯一性和長度檢查(以幫助避免OID 問題)
- 將描述和左項名稱中的內容與呈現分離
- 在單個顯示器上以縮減但可用的尺寸呈現 CRF 表格
然後,你可以:
- 手動將自動生成的測試資料輸入 CRF 以進行測試
或者,你可以
- 設定 Word 合併,將測試資料合併到紙質 CRF 的 Word 版本中以測試系統
- Word 合併還會生成一個帶有程式碼列表的帶標記的 CRF,用於資料分析。
- 一個計算表格,包含名為 Calculations 和 Merge 的表格(與主 OpenClinica 表格分開)
- 可選地,一個紙質 CRF 的 Word 版本,用於將測試資料合併到其中(使用簡單的郵件合併)
資料流如下:
- 計算表格(Calculations 表格上的專案資料)-> OpenClinica 表格
- 計算表格(Merge 表格上的測試資料)-> Word CRF 或紙質 CRF
如果使用多個 Openclinica CRF 來模擬單個紙質 CRF,則可以使用一個額外的表格(最多 256 個數據點)在 Word 合併之前合併 Merge 表格。如果需要超過 256 個點,則必須執行多次 Word 合併。
以下示例文件(適用於 OpenClinica 3.1.2)展示了此頁面上詳細說明的過程
如果有多個 OpenClinica CRF 代表單個紙質 CRF
關於合併資料的更多細節(如果你需要)
計算表格包含兩張表
- Calculations 表格包含用於計算測試資料、範圍限制和錯誤訊息(以及其他內容)的公式。
- Merge 表格引用 Calculations 表格中的測試資料,並自動更新。
這張表格最適合使用寬屏顯示,這樣表格的三個主要部分可以同時可見。這三個主要部分是:
- 左側是內容條目(白色),它是接下來的兩個部分的基礎
- 中間是自動生成的測試資料(橙色和綠色)
- 右側是 CRF 程式碼(黃色)
- 大部分時間都在螢幕外,錯誤檢查部分(粉色)檢查是否有錯誤
在內容條目區域輸入資料時,測試資料將在中間生成,OpenClinica 需要的值將在右側生成。輸入完資料後,你需要將右側(黃色)部分從 Calculations 表格複製並貼上為值到 OpenClinica 表格中的 Items 表格,然後將其上傳到 OpenClinica。
錯誤檢查部分是隱藏在螢幕外的部分,它會捕獲 ITEM_NAMES 是否不唯一,以及是否超過特定長度(在列上方指定)。如果發現錯誤,該行的標題單元格將以紅色突出顯示(滾動到側邊檢視錯誤)。
- 標題:用作 DESCRIPTION 和 LEFT_ITEM_TEXT 的基礎。
- 簡短名稱:通常大寫,加上字首(下面),直接轉換為 ITEM_NAME
- 字首:簡短名稱的兩個字母字首(請參閱 CDISC 的 CDASH 獲取可能的取值)
- 最小值:可接受的最小測試值。用於自動填充測試資料部分和欄位:RESPONSE_TYPE、RESPONSE_LABEL、DATA_TYPE、WIDTH_DECIMAL、VALIDATION 和 VALIDATION_ERROR_MESSAGE。日期測試值應輸入為字串文字(以引號開頭,例如 '24 Apr 2011')
- 最大值:與上面的欄位相同,但這是可接受的最大測試值。
- 小數位數/日期:幫助定義 DATA_TYPE 和 WIDTH_DECIMAL。可能的取值為 ST、DAT、正整數或空(等效於 0)
- 驗證覆蓋:如果你想對欄位使用正則表示式驗證,而不是範圍驗證,你可以在此處指定正則表示式。
- 訊息覆蓋:如果你覆蓋了驗證(在上面的驗證覆蓋中),請指定觸發正則表示式時要顯示的訊息
- 下方附加文字:應該出現在欄位下方的文字(作為附加段落追加到描述中)
- 右側附加文字:應該出現在欄位右側的文字
- 部分 - 與 SECTION_LABEL 同義,除了你只需要標記部分的開始
- 組:GROUP_LABEL 的同義詞
- 單位:與 UNITS 相同
- 列:COLUMN_NUMBER 的同義詞
- 頁碼:PAGE_NUMBER 的同義詞
- 問題:QUESTION_NUMBER 的同義詞
- RESPONSE_TYPE
- RESPONSE_LABEL
- RESPONSE_OPTIONS_TEXT
- RESPONSE_VALUES_OR_CALCULATIONS
- RESPONSE_LAYOUT
- DEFAULT_VALUE
- 必需:REQUIRED 的同義詞
- 右側附加文字:RIGHT_ITEM_TEXT 的同義詞
- 標題:與 HEADER 相同
某些欄位很少使用,在需要修改時可以使用手動更改(不要忘記使用格式突出顯示此修改):SUBHEADER、PARENT_ITEM、PHI
在計算表中,選擇從 C 行到最後一個有效專案名稱的條目之間的所有黃色單元格
在 OpenClinica 電子表格的專案表中,選擇單元格 B1,然後貼上為值
'測試專案 3' 下的文字作為純文字輸入到 '下方附加文字' 列中。
- 由於白色可編輯區域沒有被保護,請避免使用拖放或剪下和貼上操作來移動單元格。相反,請使用複製和貼上,然後刪除舊資料
- 如果需要超過 256 行,可以透過選擇最下面的行並在取消保護表格後(請參閱 Microsoft Excel 填充參考)填充電子表格中更下面的行來擴充套件表格中的行數。
- 可以透過拖放和填充來修復公式
- 它不會建立複雜的測試資料,有時你必須覆蓋特定單元格 - 對其進行不同格式化,以便它們不會意外更改
- 它不會更新節、組或其他表格
- 它不會為所有可能的選中值建立測試資料,只創建極值
- 它不會建立測試計劃,無論是用來測試自身還是用來測試規則或計算
合併表有一個手動輸入的“1 次訪問日期”列,可以在其中更新訪問日期。
- 在嘗試合併資料之前,請確保測試資料工作簿中最上面的表格包含你要匯入的資料(你可能需要重新儲存工作簿)。
- 開啟你的 Word CRF。
- 在 Word 2010 中,選擇郵件選項卡,然後單擊“選擇收件人”,然後單擊“使用現有列表”,並選擇測試資料工作簿。
- 當系統提示你選擇資料來源時,單擊“顯示全部”,然後選擇“透過 DDE 的 MS Excel 工作表 (*.xls)”。DDE 可以防止浮點數出現精度問題,其中 1.99 等數字在合併時顯示為 1.989999999。
如果 DDE 尚未作為資料來源型別提供,則可能需要啟用 DDE。例如,在 Word 2010 中,單擊檔案,選項,然後選擇高階,並在常規部分選中“在開啟時確認檔案格式轉換”複選框。
Word 的合併功能最多提供 256 個欄位(請參閱 如何在 Word 中設計和設定郵件合併地址列表),因此,如果你有超過 256 個數據點,則需要將多個工作簿合併到多個 CRF 中。
你可以使用 X 和 O 來代表紙質 CRF 中的選中和未選中複選框。
使用郵件合併預覽檢查你的欄位是否正常工作。
- 若要列印用於資料輸入的測試資料,請在列印時隱藏註釋,然後執行郵件合併。
- 未合併的 CRF 用作資料分析師的標記 CRF
Word 合併只接受單個寬電子表格作為輸入,因此你可能需要組合來自各個 CRF 工作簿的測試資料。在此電子表格中,資料作為垂直列收集,然後轉置為行,用於 Word 合併。
- 首先,在“test data.xlsx”工作簿中建立表格,並建立對每個 OpenClinica CRF 的計算表中測試資料的引用。
- 其次,在“Combined”表格中,建立訪問日期,然後轉置來自表格的資料
隨著 OpenClinica CRF 中測試資料的更新,“test data.xlsx”也會自動更新
在“test data.xlsx”工作簿中為每個CRF建立工作表,然後建立對ItemName列和測試資料列的引用。 請參考“Test data.xlsx”電子表格中的示例。 資料應如下所示
將CRF工作表轉置到Combined工作表
[edit | edit source]- 切換到Combined工作表,在頂行第一個空白單元格中開始輸入此公式“=TRANSPOSE('”。
- 切換到CRF工作表,選擇要轉置的資料,然後關閉公式的括號。
- 您的公式應如下所示:“=TRANSPOSE('1 Visit'!A1:G10)”
- 切換回Combined工作表,從包含您剛輸入的公式的單元格開始,選擇一個目標區域,該區域的寬度與源區域的長度相同,長度與源區域的寬度相同。
- 要轉置,請選擇該區域,然後按F2,然後按CTRL-SHIFT-Return
對所有可用的CRF重複此操作。
最後:儲存時,請選擇Combined工作表為最上面的工作表。 測試資料工作簿現在將隨著CRF的更新而更新。
未來改進的想法
[edit | edit source]- 計算和合並工作表目前儲存在單獨的電子表格中,目的是將這些資料與OpenClinica看到的資料分開。 如果我們可以確定OpenClinica不受這些附加工作表的影響,那麼我們可以使用單個CRF。 此外,如果Items工作表可以包含計算(它目前無法),那麼Items工作表就可以僅僅是Calculation工作表的引用,而無需任何複製/貼上操作。
- 程式碼列表(RESPONSE_LABELS 和 RESPONSE_OPTIONS)可以儲存在單獨的工作表中,並且可以透過使用簡單的文字引用來包含程式碼列表。
- 可以修改Required欄位以模擬規則,並引用其他欄位,這些欄位會觸發測試資料是否需要以及以什麼值(例如,當欄位A為1時,測試資料應為必填)。


