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

ヒント:

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

    Notepad++などのXMLの編集に適したエディタを使用して、ファイルを読みやすくする書式設定を保持することをお薦めします。

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

    この名前はどこで使用されていますか。この名前は、Oracle Clinical One Digital Gatewayによって、Oracle Clinical One Digital Gatewayおよび通知Eメールに表示される一意の安全性レポートIDの一部として使用されます。(安全性レポート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の「Reaction」タブの「Treatment Received」、「RelatedToStudyConduct」および「PatientHasPriorHistory」チェック・ボックスへの移入に使用されます。
    • HS_TRUE_FALSE: Oracle Argus Safety、製品レベル(進行中など)および患者レベル・インジケータ(BreastFeedingIndicatorなど)のケース・レベルで重大性インジケータを移入するために使用されます。
    • EVENT_LEVEL_YES_NO: Oracle Argus Safetyの「リアクション」タブの「重大性インジケータ」値の移入に使用されます。
    • 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"が結果の値になり、メッセージ・レシーバ識別子の値として送信されます。

  3. Oracle InFormからOracle Argus Safetyに送信される製品名の大文字または小文字:このコンバータは、Oracle Argus Safetyに大文字で記述された製品名を送信するために、テンプレートに示されているように使用します。製品名を小文字で送信するには、コンバータ(テンプレートの行1545)を編集し、コメント(テンプレートの行1544)に示すように、custom-converter-paramパラメータにtoLowerを追加します。
    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 統合ファイルへの変更の保存