ステップ5.1: テスト統合ファイルの作成

ヒント:

情報の検索に役立つように、テンプレート内の情報の行番号を指定しました。テンプレートを更新するとき、特に新しい行を追加する場合は、行番号の精度が失われることがあります。その場合は、変更されていないテンプレートを参照として使用できます。
タスク1 一般情報の追加
  1. 任意のエディタで統合テンプレートを開きます。

    Notepad++などの XMLを編集するのに十分なエディタを使用して、ファイルを読みやすくするフォーマットを保持することをお勧めします。

  2. CompanyName要素の値として会社名を指定します。
    3   <CompanyName>your_company_name</CompanyName>

    この名前はどこで使われますか。 この名前は、Oracle Clinical One Digital Gatewayおよび通知電子メールに表示される一意の安全レポートIDの一部としてOracle Clinical One Digital Gatewayによって使用されます。(安全性レポートIDは、Oracle Argus Safetyの「追加情報」タブにも参照IDとして表示されます。)

  3. Oracle Clinical One Digital Gatewayでテスト用のE2B+ R2ファイルを配置し、SFTPサーバーの資格証明キーを追加するSFTPサーバー上のフォルダへのパスを追加します。次に示すように値を追加します。
    8   <SFTPRoot>path_from_home_to_folder</SFTPRoot>
    9   <SFTPUserCredentials>SFTP_credential_key_name</SFTPUserCredentials>
  4. 定数値のプレースホルダを統合するスタディの詳細に置き換えます。
    • DTDFILEPATH (テンプレートの行315): この文字列を、Oracle Argusサーバー上のDTDファイルへのフルパスに置き換えます(たとえば、E:\Argus\InterchangeService\DTDFiles\ich-icsr-v2.1-services.dtd)。
    • COMPANYNAME (テンプレートの行327): 行3で使用した名前に置き換えます。周囲のダッシュ(-)は、Oracle Clinical One Digital Gateway安全レポートIDを構成する要素間のセパレータとして機能するため、削除しないでください。
    • ARGUSSTUDYNAME (テンプレートの行339): Oracle Argus Safety試験ID。Oracle Argus Safetyの値と完全に一致する必要があり、大/小文字が区別されます。テストのために、テスト・スタディのIDを指定できます。
    • MEDICINALPRODUCTNAME (テンプレートの行349): Oracle Argus Safetyライセンスに表示されるとおりに、この文字列を正確な商号に置き換えます。そうしないと、Oracle Argus Safetyは製品を認識せず、統合は失敗します。この情報は、Oracle InFormスタディが送信するように設定されていない場合に必要です。ただし、Oracle InFormによって送信された場合でも指定できます。
      • 調査で1つの医薬品のみを調査している場合は、349行目で文字列MEDICINALPRODUCTNAMEを正確な製品名に置き換えます。
      • 試験で複数の製品を調査している場合は、コードリストを使用して、この試験に使用するすべての製品名をマップできます。コードリスト(コメント行348)を使用するには、次のように更新して製品名を追加し(Oracle Argus Safetyライセンスに表示されるとおり)、行349をコメント・アウトします。
        348   <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.DefaultCodeListMapper" custom-converter-param="INTHUBCODELIST~DRUGSAFETYREPORT_MEDICINALPRODUCTNAME">
        349   <!-- <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.DefaultInitializer" custom-converter-param="MEDICINALPRODUCTNAME"> -->
        350      <a>medicinalProductName[0].value</a>
        351      <b>medicinalproduct.content</b>
        352   </field>

        次に、製品名を保持するOracle InFormコードリストに基づいて、ソース値とターゲット値をOracle Clinical One Digital Gatewayコードリスト(102-105行目)に追加します。

        102   <codelist>
        103      <ID>DRUGSAFETYREPORT_MEDICINALPRODUCTNAME</ID>
        104      <Entry Source="" Description="Medicinal product name" Target=""/>
                 <!-- Duplicate the above line for each product name and add source and target values for each. -->
        105   </codelist>
      • 試験が盲検の場合、製品名の前にBLINDEDを付けます(たとえば、製品名がDrug1275の場合はBLINDEDDrug1275を指定します)。これにより、製品名がOracle Argus Safetyの製品名タブに表示されなくなります。
タスク2 コードリストのマップ

各コードリスト要素(テンプレートの行14から開始)を編集して、対応するソース値を追加します。Oracle Argus Safetyのターゲット値は、想定される標準のE2B R2コードに基づいてテンプレートにすでに追加されています。

ソース値はどこで取得できますか。 統合する試験の注釈付きスタディ・ブックから、対応するソース値(Oracle InFormコードリストからコード)を取得できます。「コード」列にソース値が表示されます。

注意: Oracle Argus Safetyコードリストをカスタマイズした場合は、対応するターゲット値を確認して、E2B R2標準値から、カスタマイズされたOracle Argus Safetyコードリストの適切なターゲット値に変更する必要もあります。

ヒント:

使用可能なすべてのコードリストを使用していない場合は、この統合に必要ないコードリストをコメント・アウトします。
  1. 次のコードリストに対応するソース値を追加します。

    注意:

    Oracle Argus Safetyは、ターゲット値としてすでに指定されているE2B値のみを受け入れることができるため、ターゲット値は変更しないでください。例外として、Oracle Argus Safetyでカスタム・コードリストを使用していて、それらを適切にマッピングする場合は、カスタム・コードリスト内の値でターゲット値を更新できます。
    • 性別
    • DRUGSAFETYREPORT_ADVERSEEVENTREPORTEDOUTCOME
    • DRUGSAFETYREPORT_ACTIONTAKEN
    • HS_YES_NO_UNKNOWN: Oracle Argus Safetyの「リアクション」タブの「受信したトリートメント」、「RelatedToStudyConduct」および「PatientHasPriorHistory」チェック・ボックスを移入するために使用されます。
    • HS_TRUE_FALSE: Oracle Argus Safety、Productレベル(進行中など)およびPatientレベル・インジケータ(BreastFeedingIndicatorなど)のケース・レベルでSeriousness Indicatorを移入するために使用されます。
    • EVENT_LEVEL_YES_NO: Oracle Argus Safetyの「Reaction」タブに「Seriousness Indicator」値を移入するために使用されます。
    • DRUGSAFETYREPORT_DOSAGEINTERVALUNIT
    • DRUGSAFETYREPORT_SEPARATEDOSAGENUMB
    • DRUGSAFETYREPORT_DOSAGEINTERVALNUM
    • DRUGSAFETYREPORT_UNITOFMEASURE
    • DRUGSAFETYREPORT_ADMINISTRATIONROUTE
  2. (オプション)このデータをOracle InFormで収集し、Oracle Argus Safetyに送信する場合は、次のコードリストに対応するソース値も追加します。

    注意:

    Oracle Argus Safetyは、ターゲット値としてすでに指定されているE2B値のみを受け入れることができます。Oracle Argus Safetyでこれらの値にカスタム・コードリストを使用している場合を除き、ターゲット値は変更しないでください。
    • DRUGSAFETYREPORT_QUALIFICATIONCODE
    • DRUGSAFETYREPORT_AGEGROUP
    • DRUGSAFETYREPORT_TERMHIGHLIGHTED
  3. (オプション)このデータをOracle InFormで収集し、Oracle Argus Safetyに送信する場合は、次のコードリストのソース値とターゲット値の両方を指定します。
    ソース列は、Oracle InFormから送信された値で、ターゲット値はOracle Argus Safetyコードリストの値である必要があります。
    • 職業
    • レース
    • DRUGSAFETYREPORT_DOSAGEFORM
    • DRUGSAFETYREPORT_ADVERSEEVENTSEVERITY
タスク3 正しいSpecialKeyCodeListMapperを含める

カンマを含むコード・リストがOracle InFormからOracle Argus Safetyに正しく送信されるようにするには、この特定のマッパーを統合ファイルに含めます。これにより、これらのコード・リストにカンマが含まれている場合でも、コード・リストに関連するデータを適切に送信する統合が決定されます。

注意:

既存の統合の場合は、必ず新しいコード・リスト・マッパーで構成ファイルを更新してください。次に、Oracle Clinical One Digital Gatewayで構成ファイルを再アップロードします。
<mapping map-null="false" wildcard="false" trim-strings="true" type="one-way" map-id="PrimaryCountryCodeMap">
                <class-a>oracle.hsgbu.infpub.ebm.com.oracle.xmlns.informtosafety.drugsafetyreport.v1.ReportDrugSafetyReportType</class-a>
                <class-b>oracle.hsgbu.argus.e2b.r2.Safetyreportext</class-b>
            <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.SpecialKeyCodeListMapper" custom-converter-param="INTHUBCODELIST~COUNTRY">
                    <a>primarySourceCountryCode.value</a>
                    <b>safetyreportid.content</b>
                </field> 
            </mapping> 
                    <mapping map-null="false" wildcard="false" trim-strings="true" type="one-way" map-id="IchicsrSafetyReportGenericMap">
                <class-a>oracle.hsgbu.infpub.ebm.com.oracle.xmlns.informtosafety.drugsafetyreport.v1.ReportDrugSafetyReportType</class-a>
                <class-b>oracle.hsgbu.argus.e2b.r2.Safetyreportext</class-b>
                <field map-id="IchicsrSafetyReportPrimarySourceMap">
                    <a>drugSafetyReportPrimarySource</a>
                    <b>primarysource</b>
                    <a-hint>oracle.hsgbu.infpub.ebm.com.oracle.xmlns.informtosafety.drugsafetyreport.v1.DrugSafetyReportPrimarySourceType</a-hint>
                    <b-hint>oracle.hsgbu.argus.e2b.r2.Primarysource</b-hint>
                </field> 
                <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.SpecialKeyCodeListMapper" custom-converter-param="INTHUBCODELIST~COUNTRY">
                    <a>primarySourceCountryCode.value</a>
                    <b>primarysourcecountry.content</b>
                </field>
                          <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.SpecialKeyCodeListMapper" custom-converter-param="INTHUBCODELIST~COUNTRY">
                    <a>occurrenceCountryCode.value</a>
                    <b>occurcountry.content</b>
                </field>
   
タスク4 投与頻度のマップ

これを行う必要がありますか。 投与頻度のコードリストがOracle InFormにあり、この情報をOracle Argus Safetyと共有する場合のみ。

たとえば、Oracle InFormに投与頻度用のコードリストがあり、「1日に2回」の値を「2XD」として保存するとします。Oracle Argus Safetyと共有する情報は2XDになります。ただし、Oracle Argus SafetyではE2B標準が使用されるため、この情報は1つのみではなく3つのフィールドに分割されるため、この例では同じ値2XDを3つの異なるコードリストにマップする必要があります。統合ファイルでこれを表現する方法を次に示します。


   <DRUGSAFETYREPORT_SEPARATEDOSAGENUMB>
      <Entry Target="2" Description="Twice a day" Source="2XD" />
   </DRUGSAFETYREPORT_SEPARATEDOSAGENUMB>
   <DRUGSAFETYREPORT_INTERVALNUMB>
      <Entry Target="1" Description="Twice a day" Source="2XD"/>
   </DRUGSAFETYREPORT_DOSAGEINTERVALNUMB>
   <DRUGSAFETYREPORT_DOSAGEINTERVALUNIT>
      <Entry Target="804" Description="Day" Source = "2XD"/>
   </DRUGSAFETYREPORT_DOSAGEINTERVALUNIT>
タスク5 Oracle Argus Safetyのユーザー定義フィールドへのマップ

これを行う必要がありますか。 Oracle InFormフィールドをOracle Argus Safetyのユーザー定義フィールドにマップする必要がある場合のみ。

前提条件は何かありますか。 はい。Oracle Argus Safetyにユーザー定義フィールドがあり、Oracle InFormからのデータを移入する場合は、Oracle Central Designerでそのフィールドのカスタム・データ・シリーズを作成し、Oracle Argus Safetyユーザー定義フィールドに適切な別名を使用する必要があります。

テンプレートの「カスタム患者フィールド」セクション(891行目から開始)には、Oracle Argus Safetyが受け入れることができるユーザー定義フィールドごとにマッピングがあり、Oracle Argus Safetyに送信されるターゲット値が有効であることを確認するために、必要な変換がすでに適用されています。

Oracle InFormフィールドを、試験の必要に応じてユーザー定義フィールドにマップします。また、このセクションに、使用しないエントリがある場合は、そのままにしておき、マップせず、削除しないでください。

次に、Oracle Argus Safetyの最初のカスタム日付フィールドのテンプレートの例を示します。

891   <!-- Custom Patient Fields section -->
892   <field>
         <!-- The part in bold below indicates the field type and number for each Argus Safety user-defined field. -->
893      <a map-get-method="getSpecificCustom" key="Cust_Patient_Dt_1">this</a>
894      <b>custpatientdt1Extension.content</b>
895   </field>
これらのフィールドをマッピングするための2つのオプションがあります。
  • 直接マッピング: これは、すでに設定され、値をそのまま送信するデフォルトのマッピングです。テンプレートからの直接マッピングの例を次に示します。
    
    458   <field>
    459      <!-- Below line is for the InForm field whose value is sent to Argus Safety. -->
    460      <a map-get-method="getSpecificCustom" key="Cust_General_Str_1">this</a>
    461      <!-- Below line is for the target Argus Safety field where the unaltered source value is placed. -->
             <b>custgeneralstr1Extension.content</b>
          </field>
    

    ターゲット値についてOracle Argus Safetyにコードリストがある場合を除き、ダイレクト・マッピングを変更する必要はありません。この場合、マッピングを編集してコードリスト・マッピングに変換する必要があります(後述)。

  • コードリスト・マッピング: Oracle InFormのカスタム・フィールドをOracle Argus Safetyのコードリスト値にマップする必要がある場合に使用します。フィールドでOracle InFormのコードリストが使用されていて、Oracle Argus Safetyに送信されるコードとは異なる値が必要な場合は、統合ファイルにOracle Clinical One Digital Gatewayコードリストを追加し、そのカスタム・フィールド・マッピングに新しいコードリストを添付する必要があります。Oracle Clinical One Digital Gateway COUNTRYコードリストがソース値を変換するためにフィールドで使用される例を次に示します:
    <field custom-converter="oracle.hsgub.clnicalone.integration.impl.mapper.DefaultCodeListMapper" custom-converter-param="INTHUBCODELIST~COUNTRY">
       <!-- The part in bold below indicates the field type and number for each Argus Safety user-defined field. -->
       <a map-get-method="getSpecificCustom" key="Cust_Patient_Dt_1">this</a>
       <b>custpatientdt1Extension.content</b>
    </field>

    ヒント:

    (追加のソース値に行を追加して)複数のソース値を同じターゲット値にマッピングできますが、同じソース値を複数のターゲット値にマッピングすることはできません。
タスク6 (オプション)他のマッピング構成の追加

これを行う必要がありますか。 Oracle Argus Safetyと共有するフィールドに特定のニーズがある場合のみ。使用可能なカスタム・コンバータを使用して、Oracle Argus Safetyが受け入れることができるターゲット値にソース値を自動的に変換したり、カスタム・コードリストを使用する場合はカスタム値に変換できます。

カスタム・コンバータを使用すると、次のことができます。
  1. デフォルト・フィールドが空白の場合に送信される代替フィールドの指定: このコンバータは、マップ済のOracle InFormフィールド(デフォルト・フィールド)が特定の状況で空白のままになり、かわりに代替フィールドを使用してデータを記録できる場合に使用します。

    テンプレートでは、国外への出張中に症例で有害事象が発生した場合に対処するためにすでに使用されているため、出所国は空白のままになり、かわりに発生国が指定されます。この場合、コンバータとのフィールド・マッピングによって、発生国が指定されていない場合に送信するソース国が識別されます。

             
          <!-- Below line is the mapping for default field -->
    525   <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.DefaultCodeListMapper" custom-converter-param="INTHUBCODELIST~COUNTRY">
    526         <a>occurrenceCountryCode.value</a> <!-- Default InForm field. -->
    527         <b>safetyreportid.content</b>
                <!-- Above line is the field in Argus Safety that is mapped to both the default and the alternate field. -->
    528   </field>
    
          <!-- Use below field mapping tag to map an alternate field to an Argus Safety field that already has a default field mapped to it. -->
          <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.DefaultNVLInitializer">
             <a>primarySourceCountryCode.value</a> <!-- Alternate InForm field to send only if default is null. -->
             <b>safetyreportid.content</b>
             <!-- Above line is field in Argus Safety that is mapped to both the default and the alternate field. -->
          </field>
    
  2. 1つのOracle InFormフィールドを別のOracle InFormフィールドに接頭辞として追加します。このコンバータを使用して、あるOracle InFormフィールドの値を別のOracle InFormフィールドの値の接頭辞として追加し、結果の値をOracle Argus Safetyと共有します。次に、メッセージの受信者識別子にサイトの国コードの接頭辞を付け、連結された値のセパレータとして:: を使用するテンプレートの例を示します。
    541   <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.DefaultConcatenator" custom-converter-param="::">
    542      <a>primarysourcecountry.content</a> <!-- The value of this field will be added as a prefix to the value of the second field. -->
    543      <b>messagereceiveridentifier.content</b> <!-- This is the field that will be sent to Argus Safety, if mapped. -->
    544   </field>

    たとえば、プライマリ・ソース国がUSで、メッセージ・レシーバ識別子がINFARG_01の場合、前述のマッピングに従ってUS::INFARG_01が結果の値になり、messagereceiveridentifier値として送信されます。

  3. Oracle InFormからOracle Argus Safetyに送信される製品名を大文字にするか小文字にするか:このコンバータは、大文字で記述された製品名をOracle Argus Safetyに送信するためにテンプレートに示されているように使用します。製品名を小文字で送信するには、コメント(テンプレートの行1545)に示すように、コンバータを編集し(テンプレートの行1545)、custom-converter-paramパラメータにtoLowerを追加します(テンプレートの行1544)。
    1544 <!-- custom-converter-param "toUpper" capitalizes all characters and "toLower" decapitalizes all characters  -->
    1545      <field custom-converter="oracle.hsgbu.clinicalone.integration.impl.mapper.CaseConverter" custom-converter-param="toUpper"> 
    1546          <a>this</a> 
    1547          <b>medicinalproduct.content</b> 
    1548      </field>		

    注意:

    デフォルトでは、このケース・コンバータは、Oracle Argus Safetyに送信されるすべての製品名を大文字にします。
タスク7 Oracle InFormからの部分的な安全性症例説明を処理するための統合の構成

部分的なナレーティブ・データがOracle Clinical One Digital Gatewayによって適切に処理されるように、このタグを統合構成ファイルに含めることをお薦めします。このタグは、すべてのカスタム・コンバータおよび追加のマッピング要素の後に、構成ファイルの最後に含める必要があります。タグはtrueまたはfalseに設定できます。

         
1721      </p:Mappings>
1722 <p:Schedule>
1723 <p:retrycount>2</p:retrycount>
1724 </p:Schedule>
1725 <p:Notifications/>
<!–- Change the tag value to false, if needed -->
1726 <p:ProceedOnFailures>true</p:ProceedOnFailures>
1727 </p:Integration>
タスク8 統合ファイルへの変更の保存