getDispensationInfo( )

症例の交付履歴に関する詳細情報を取得します。たとえば、最終投与量、交付日およびキット情報などです。

警告:

次の点を考慮します:
  • このヘルパー関数は、盲検解除情報を返す場合があります。したがって、返された情報を注意深く使用して、研究の盲目を保持してください。
  • このヘルパー関数を使用する場合は、ターゲット変数とルール変数を非繰返し(フラット)形式から導出する必要があります。ターゲットまたは変数が繰返しフォーム、2セクション・フォームまたはラボ・フォームを参照している場合、ルールは保存されません。
このルール・ヘルパー関数は、次のユースケースに使用できます。
  • 強制投与量調整の研究では、次の用量またはキット・タイプを決定するために最後の用量を知ることが重要です。症例の最終投与量に関する情報が取得され、高度な交付プロセスが支援されます。
  • 計画された次の用量(例えば、イブプロフェンの20mg)を分配する前に、システムは被験者が必要な日数のために現在の用量にかかっていることをチェックします。この最小期間が満たされていない場合、被験者は次の用量を受けません。このプロセスでは、ヘルパー関数を使用して、最終交付日と投与量を追跡します。

ルールはデータ送信によってトリガーされます。システム・アクションを実行しても、実行するルールはトリガーされません。ここで説明するヘルパー関数によって返されるデータはすべて、ルールが実行される時点です。ルールの実行後に情報が変更された場合、ルールが再実行されることはありません。

構文

getDispensationInfo(referenceVisit, eventInstanceNumber, includeUnscheduleVisits, includeReplacementKit)

パラメータ

ヒント:

現地調達キットおよびサイト・スタッフが記録した投与情報は除外されます。サイト・スタッフによって直接収集された情報(たとえば、テキストとして収集された交付監視)については、getQuestionValue( )ヘルパー関数を使用してデータを個別に取得する必要があります。
パラメータ 必須またはオプション 説明
referenceVisit 必須 ビジット・コンテキストを指定する文字列値または変数名。次のいずれかの値を指定できます。

ターゲットの現在のビジットは、適切な最終投与または次の投与量、または交付ビジットの開始点を決定するために使用されます。

  • 最後: ルール・ターゲットに基づいて、最新の投与量、キット情報、分配日、数量および保留ステータスを返します。lastパラメータはビジット日によって決まります。これには、オプションのパラメータを使用して除外されないかぎり、スケジュール外および置換ビジットが含まれます。

    予定外ビジットが完了していない場合、システムで完了した最後の交付の情報が最後パラメータに対して返されます。

  • 前回すべて: 以前に分配されたすべての用量を、直近の用量を先に逆時順に返します。

    予定外ビジットが完了していない場合、そのビジットのすべての交付情報が前回すべてのパラメータに対して返されます。

  • 変数名: 「変数」セクションに定義されている変数の名前を入力して、特定のビジットに交付された線量を返します。これは、指定された変数定義で選択されたビジットです。

    これには、指定したビジットを指す「ビジット情報」グローバル変数を作成する必要があります。ルール変数の定義を参照してください。

    ノート - 変数名を渡す場合は、eventInstanceNumberを指定する必要があります。下記を参照してください。

eventInstanceNumber オプション referenceVisitとして変数を渡す場合は必須です。

ビジット変数名が指定されている場合の、スケジュールされていないビジットまたはサイクル・ビジットのインスタンス番号を表す整数値。

参照ビジットがサイクルの一部であるか、スケジュールされていないビジットである場合、ヘルパー関数は複数のインスタンスを返します。したがって、取得するオカレンスを識別するには、eventInstanceNumberオブジェクトを渡す必要があります。
includeUnscheduleVisits オプション

Yに設定すると、予定外ビジットが含まれます。デフォルトでは、スケジュールされていないビジットは考慮されます。Nに設定すると、スケジュールされていないビジットは無視されます。ブール値(trueまたはfalse)を返します。含まれる未スケジュール訪問の場合はTrue、除外された未スケジュール訪問の場合はFalseです。

規定外ビジットは、ルール・ヘルパー関数から除外されないかぎり、(インスタンス番号ではなく)ビジット日に基づいて時系列的に考慮されます。

includeReplacementKit オプション

Yに設定すると、交換キットが含まれます。デフォルトでは、交換キットが考慮されます。Nに設定すると、置換キットは無視されます。ブール値(trueまたはfalse)を返します: 置換キットが含まれている場合はTrue、置換キットを除外する場合はFalse

返品額

ノート:

次の点を考慮します:
  • 複数の訪問からのデータが必要な場合は、前のすべてのパラメータを使用します。次に、getValues()を使用して、特定のビジットの値を検索します。これにより、ルールの効率が向上します。
  • ビジット中に複数のキット・タイプが交付された場合、ヘルパー機能には各キットのリターンが含まれます。
  • lastパラメータで指定された休薬の場合:
    • そのビジットのすべての投与量が保持されている場合、最新の分配投与量を返します。
    • 少なくとも一つの用量を分配した場合、それらの用量を返し、保持用量に「保持用量」を返します。
    • サイトによって記録された投薬情報は、返品に含まれません。これは、ルール設計者が質問から直接取得する必要があります。
    • 非交付ビジットの場合、「前回すべて」パラメータは完了したすべての交付を返し、「最後」パラメータはシステムで完了した最後の交付を返します。
  • ビジットおよび交付日はサイトのローカル・タイム・ゾーンおよびシステム日付書式で返されますが、数学的操作をサポートするために、「デバッグ」ウィンドウにGMTタイムスタンプとともに表示されます。
  • 非交付ビジットの場合、「前回すべて」パラメータはすべての完了済交付を返し、「最後」パラメータはシステムで完了した最終交付を返します。

該当するビジットで交付された各薬物を含むオブジェクトの配列を返します(指定されたパラメータによって異なります)。各オブジェクトには次の形式で次の情報が含まれます。


    {         
"visitName": "visitName",     
"eventInstanceNumber":"eventInstanceNumber",  
"kitType":"kitType",  
"kitDescriptione":"kitDescription",  
"dateDispensed":"dateDispensed", 
"dosage":"dosage",  
"quantity":"quantity", 
"isHeld":"true/false"     
}
各オブジェクトの情報は、次の属性として含まれます。
属性 説明
visitName ビジットの名前。サイクルまたは予定外の番号も含まれます。
eventInstanceNumber 予定外ビジットまたはサイクル番号のインスタンス番号。nullを返すことができます。
kitType 試験デザイナの「調査製品キット・タイプの作成」ダイアログで指定されているキット・タイプを示します。
kitDescription 「調査製品キット・タイプの作成」ダイアログでデザイナによって指定された薬剤名を含む、キットの説明。
dateDispensed キットが交付された日付を示します。nextパラメータについて、まだ発生していない場合、交付日またはキット情報は返されません。
dosage 分配された薬物の投与量。投与量が保持されている場合、これは「null」を返します。
quantity 分配された医薬品の数量。投与量が保持されている場合、これは「null」を返します。
isHeld ブール値(trueまたはfalseの値): 線量が保持されている場合はtrue、分配されている場合はfalseを返します。

例3-94症例ビジットの交付およびキット詳細の取得

var aDesc = null;
function useDispResult(dItem)
{
    logMsg('visitName: '+ dItem.visitName);
    logMsg('eventInstanceNumber: '+ dItem.eventInstanceNumber);
    logMsg('kitType: '+ dItem.kitType);
    logMsg('kitDescription: '+ dItem.kitDescription);
    logMsg('dateDispensed: '+ dItem.dateDispensed);
    logMsg('dosage: '+ dItem.dosage);
    logMsg('quantity: '+ dItem.quantity);
    logMsg('isHeld: '+ dItem.isHeld);
    aDesc = dItem.kitDescription;
    var today = new Date();
    if(dItem.dateDispensed!=null)
    {
       logMsg("diff: " + dateDiffInDays(today, dItem.dateDispensed));
    }
}
var resDisp=getDispensationInfo('vVar', null, 'Y', 'Y');
if(resDisp)
{ 
    resDisp.forEach(useDispResult);
}
return aDesc;