出力とバリデーション
はじめに
出力とバリデーションのセクションでは、Viedoc Designerで実行されたいくつかの項目の設定をまとめており、それらの概要と簡単な更新方法を説明します。
以下の表示と編集が可能です:
ロジカルチェック
ロジカルチェックの一覧には、試験で定義されているすべてのデータチェックとシステムチェックがフォームごとに表示されます。 ロジカルチェックでは、フォームに入力されたデータが真の制約式で指定された範囲内にあるかどうかを確認します。 ロジカルチェックは、Viedoc Designerでフォームと項目を設定するときに定めることができます。 フォーム内のロジカルチェック設定については、フォームの作成と編集をご参照ください。
当該バージョンで実装されているロジカルチェックはフォームごとにグループ化されており、ロジカルチェックごとに次の情報が提供されます
1. 番号。 フォームごとに1から始まります。 番号にカーソルを合わせると、ロジカルチェックIDが表示されます。 ロジカルチェックIDは、フォームのどのフィールドに属し、どのデザインバージョンと改訂版にロジカルチェックが設定されたか、RC_FieldItemOID_Version-number_Revision-number_Counter というように成り立っています。ロジカルチェックをExcelに出力すると、ロジカルチェックIDは範囲チェック出力ID (Range Check OID) の下に表示されます。
2. ロジカルチェックIDが属する項目ID。
3. ロジカルチェックが属する項目の出力ラベル。
4. 真の制約式 - ロジカルチェックの式。ViedocでJavaScriptを使うをご参照ください。
5. クエリメッセージ - Viedoc Clinicを使うサイトユーザーに表示されます。
6. フォームの保存を許可 - 許可するに設定すると、ロジカルチェックが起動されるデータがフォームに保存されている場合、Viedoc Clinicのそれぞれの項目でクエリが発生します。
7. 展開/折りたたみボタン - フォーム内のロジカルチェックを展開または折りたたむことができます。
システムチェックは読み取り専用です。 リストに表示されますが、編集または削除することはできません。
エクセルに出力をクリックすると、全てのロジカルチェック一覧をエクセルに出力できます。
ペンアイコンをクリックすると、ロジカルチェックとそれぞれのフィールドを編集することができます。
ロジカルチェック定義(真の制約式)のエラーは、明確にリストに表示されます。
フォーマット
フォーマットのページでは、より多くのコードリスト項目で使用されている共通のフォーマットを用意することができます。
Viedoc のコードリスト項目は、データ入力時に入力可能な値のコードリストを持つ項目です。その項目は、
- チェックボックス
- ラジオボタン
- ドロップダウンリスト
たとえば、同じコード・リスト値とテキスト(たとえばYes/No)を持つ複数のラジオ・ボタン項目がある場合、デフォルトでは各項目に1つのフォーマット名が割り当てられていますが、ここでは、これらのすべての項目で使用される共通のフォーマットを設定することができます。
これは、レポートや表で項目を使用するときにフォーマット名を指定する必要があるので、特にSAS用にエクスポートするときに便利です。
フォーマットを設定する前に
例えば、以下のようなフォームが定義されていて、4つのラジオボタンの項目が同じ選択肢(Yes/No)であるとします。
フォーマットセクションでは、各項目は同じコードリスト表示テキスト(Yes/No)とコードリスト値(0/1)を持っています。
ODM出力のコードリスト項目
上記の例で項目に共通のフォーマット名を適用する前に、以下の図のようにこれらの項目はODMエクスポート出力に表示されます。各項目はCodeListRef
を使用して異なるコードリストを示しています。
各CodeListには
CodedValueとテキストが表示されます。
CSV/Excel exportのコードリスト項目
データを入力してCSVで出力すると、2つのファイルが追加で作成されます。また、 Excelとして出力すると、さらに2つのシートが作成されます。これらは以下の通りです。
- 項目 - 静的テキスト項目とセクション区切りを除いて、出力のスコープ内で利用可能なすべての項目に関する情報(SubjectId、EventIdなどのメタデータ情報を含む)が含まれます。
- コードリスト -コードリストを持つ項目に関する情報、 ラジオボタン、ドロップダウンリスト、およびチェックボックスが含まれています。
この例では、フォーマットを設定する前の項目シートは次のようになります。
コードリストがある項目には、IDの末尾に「CD」が付いた追加の行があります。 この場合だと、ラジオボタンしかありませんが、チェックボックスおよび/またはドロップダウンリストが含まれる場合もコードに「CD」の行が追加されます。
各コードのデフォルトのフォーマット名(フォーマットを適用する前)はCL_ItemIDFです。
この例では、フォーマットを設定する前のコードリストシートは次のようになります。
参照される各フォーマット名には、各コード値に関する情報が含まれています。 この場合、「はい」は「1」、「いいえ」は「0」のみです。
IEフォームに4つの個別のラジオボタンがある場合、4つの固有のフォーマットがあり、それぞれに2つの異なる値があります。
SASスクリプトファイル
対応するSASスクリプトを含めるオプションをチェックしてCSV出力を行うと、すべてのフォームが別々のファイルにまとめられ、上で簡単に説明した内容とともに“_CodeLists”と “_Items” が取得されます。( SASに出力をご参照ください。)
また、SASファイルであるCSV2SASと_RunMeも含まれています。
_RunMeファイルは非常に小さく、データをSASにインポートするために使用され、つまり、このスクリプトはSASで開かれて実行されます。インポートするファイルへのパスを見つけ、CSV2SASファイルに存在するdoWork関数(マクロ)を使用して実際の作業が開始されます。
CSV2SASスクリプトの中でフォーマットに関連する重要な部分は306行目にあり、コードリストファイルの内容がCreateSasFormats
マクロに渡され、内容を受け取りフォーマットを作成します。
その後、項目ファイル内の項目メタデータを読み込み、SASで該当する項目にフォーマットを適用します。
SASでは、上記の例では、IEのフォームに4つのフォーマットを作成します。
フォーマット名を設定する
Viedoc Designerで試験デザイン設定>出力と検証>フォーマットでフォーマット名を設定するには、4つの項目のうち1つのフォーマット名欄にフォーマット名を入力します。下の画像のように、上の表のフォーマット名のある項目に項目が表示されます。
フォーマット名を決定後すぐにまったく同じ設定(コードリスト名と値)を持つすべての項目にフラグが立てられ、画像のようにリンクをクリックすることで同じフォーマット名を設定することができます。
これは主にSASで使用されるため、Viedocでは以下のようにフォーマット名がSASに準拠しているかどうかを確認しています。
- ユニークでなければならない
- 8文字を超えていない
- 最初の文字は英字(A-Z、a-z)またはアンダースコアで始まる必要がある
- 空白がない
- アンダースコア以外の特殊文字が含まれていない
- 最後のの文字は英字(A-Z、a-z)でなければならない
上記のいずれかが満たされない場合、エラーメッセージが表示されます。
エクセルに出力をクリックしてすべてのフォーマットを出力することができます。
注意! 以下のフォーマットでは、コードリストの値の先頭のゼロは出力に含まれません。
- CSV
- Excel
- 監査ログ(履歴を含む1項目につき1行)
- ODM
したがって、たとえば 001 のようなコードリストの値は、出力では 1 となります。
フォーマット設定後
ODM出力のコードリスト項目
この例の4つの項目すべてに共通のフォーマット名(YESNO)を適用すると、以下の図のようにこれらはODMエクスポート出力に表示されます。各項目はCodeListRef
を使用して同じコードリストを指します。
定義したフォーマットがCodeListに追加されます。
CSV/Excel出力のコードリスト項目
この例では、フォーマットを設定して項目情報を確認した後の唯一の違いは、フォーマット名が「YESNO」に変更されていることです。 4つの項目すべてに共通のフォーマットが1つあります。
この例では、フォーマットを設定するとコードリストシートは次のようになります。
SASフォーマット
Viedoc Designerでフォーマットを適用した後、SASにインポートすると1つのフォーマットのみ作成されます。
フォーマットタイプの変更
また、出力のエクスポート値とフォーマットタイプ(整数/テキスト)を変更することもできます。
ここの例で出力エクスポート値をテキスト値に変更する場合、フォーマットタイプをtextに変更する必要があります。
このアクションは、ODM xmlファイル内の項目のコンテンツを変更しません。
......ただし、定義された出力エクスポート値はAlias
セクションに追加されます。
エクセルファイルの項目シートでは、コードのデータタイプとして "text "が表示されるようになり、コンテンツの長さが変化し、 "YES!" (長さ = 4) and "NO!" (長さ = 3)となりました。
エクセルファイルのコードリストに新しいコード値が追加されました。
そのため、結果として、エクスポート出力の元のコード値は、出力エクスポート値に設定された新しい値に置き換えられたと言えます。(ここでの例では、"0 "と "1 "がそれぞれ "NO!"と "YES!"に置き換えられています)。
OID(出力ID)とラベル
このページでは、フィールドIDを使用するため、既存の表示条件、関数、データチェックに影響を与えることなく、出力IDとラベルを修正および変更できます。
注意! 試験デザインで出力ID(OID)と出力ラベルが定義されている場合、それらはExcel/CSV/SASエクスポートに表示されます。試験デザインで出力ID(OID)と出力ラベルが未定義(空白)のままの場合、設定済みの項目IDとラベルが使用されます。
青いセルは編集可能です。 試験にてユニークで関連性のある出力IDが設定されていること、出力ラベルが長すぎないこと、項目が正しく説明されていることを確認してください。
注意! フィールドIDと出力フィールドラベルが同じだった場合、Viedocは出力フィールドラベルをフィールドラベルに変更します。
以下の様なシナリオで役立ちます:
- デザインで項目に質問文がない場合
- 質問文が長く、エクスポート出力用に短くしたい場合
- より分かりやすいラベルが必要な場合
リスト内の項目(フィールド)は、項目グループごとにグループ化され項目順に並べられます。例えば、以下のフォームの場合は:
...OIDおよびラベルは以下の様になります:
エクセルに出力をクリックしてすべての項目を出力することができます。
前述の例(フォーマット) で、最初の項目(IE01)の出力フィールドラベルを "Inclusion 01"に設定した場合:
...これは、フォーム> 項目の設定> 出力で項目の出力フィールドラベルを設定するのと同じです。
その結果、ODM xmlファイルには、“SASFieldName
” と新しいAliasが追加されいます
。
そのようなAlias
やSASFieldName
がデザインに存在する場合、生成される出力では、質問文とフィールドIDではなく、このラベルとIDが使用されます。
出力されたデータ。 Excelではのように表示されます。
SASでは以下の様に表示されます。