Epic EHR 監査データをインポートするコネクタを設定する (プレビュー)

データ コネクタを設定して、organizationの Epic Electronic Healthcare Records (EHR) システムでユーザー アクティビティの監査レコードをインポートできます。 Epic EHR システムの監査レコードには、患者の正常性レコードへのアクセスに関連するイベントのレコードが含まれます。 Epic EHR 監査レコードは、Microsoft Purview Insider Risk Management ソリューションで使用して、患者情報への不正なアクセスからorganizationを保護するのに役立ちます。

Epic コネクタの設定は、次のタスクで構成されます。

  • Microsoft Entra IDでアプリを作成して、Epic EHR 監査レコードを含むタブ区切りのテキスト ファイルを受け入れる API エンドポイントにアクセスします。

  • コネクタ スキーマで定義されているすべての必須フィールドを含むテキスト ファイルを作成する。

  • Microsoft Purview ポータルまたはMicrosoft Purview コンプライアンス ポータルで Epic コネクタ インスタンスを作成する。

  • スクリプトを実行して、Epic EHR 監査レコードを API エンドポイントにプッシュします。

  • 必要に応じて、監査レコードをインポートするためにスクリプトを自動的に実行するようにスケジュールします。

プレビューに参加する場合は、 のチーム dcfeedback@microsoft.comにお問い合わせください。

ヒント

E5 のお客様でない場合は、90 日間の Microsoft Purview ソリューション試用版を使用して、Purview の追加機能が組織のデータ セキュリティとコンプライアンスのニーズの管理にどのように役立つかを確認してください。 Microsoft Purview コンプライアンス ポータルのトライアル ハブで今すぐ開始してください。 サインアップと試用期間の詳細については、こちらをご覧ください。

コネクタを設定する前に

  • 手順 3 で Epic コネクタを作成するユーザーには、Data Connector 管理 ロールを割り当てる必要があります。 このロールは、Microsoft Purview ポータルまたはコンプライアンス ポータルの [データ コネクタ ] ページにコネクタを追加するために必要です。 このロールは、既定で複数の役割グループに追加されます。 これらの役割グループの一覧については、「Microsoft Defender for Office 365および Microsoft Purview コンプライアンスのロール」を参照してください。 または、organizationの管理者がカスタム ロール グループを作成し、Data Connector 管理 ロールを割り当ててから、適切なユーザーをメンバーとして追加することもできます。 手順については、以下を参照してください。

  • organizationの Epic EHR システムから (毎日) データを取得またはエクスポートする方法を決定し、手順 2 で説明されているテキスト ファイルを作成する必要があります。 手順 4 で実行したスクリプトは、テキスト ファイル内のデータを API エンドポイントにプッシュします。

  • 手順 4 で実行したサンプル スクリプトは、内部リスク管理ソリューションで使用できるように、Epic EHR 監査レコードをテキスト ファイルからコネクタ API にプッシュします。 このサンプル スクリプトは、Microsoft 標準サポート プログラムまたはサービスではサポートされていません。 サンプル スクリプトは現状のまま提供され、いかなる保証も伴いません。 さらに、Microsoft は、商品性、特定目的への適合性の黙示の保証を含む、一切の黙示の保証をいたしかねます。 本サンプル スクリプトおよびドキュメントの使用または性能に起因するすべてのリスクは、お客様が負うものとします。 サンプル スクリプトおよびドキュメントを使用したこと、または使用できなかったことに伴って生じるいかなる損害 (業務利益の損失、業務の中断、業務情報の損失、金銭上の損失、その他一切の損害) についても、Microsoft、Microsoft に帰属する作者、スクリプトの作成、製造、または納入に関与したその他のすべての人員は、いかなる場合も責めを負わないものとします。

手順 1: Microsoft Entra IDでアプリを作成する

最初の手順は、Microsoft Entra IDで新しいアプリを作成して登録することです。 アプリは、手順 3 で作成した Epic コネクタに対応します。 このアプリを作成すると、Microsoft Entra IDは Epic EHR 監査レコードを含むテキスト ファイルのプッシュ要求を認証できます。 このMicrosoft Entra アプリの作成時に、次の情報を必ず保存してください。 これらの値は、後の手順で使用します。

  • Microsoft Entra アプリケーション ID (アプリ ID またはクライアント ID とも呼ばれます)
  • アプリケーション シークレットMicrosoft Entra (クライアント シークレットとも呼ばれます)
  • テナント ID ( ディレクトリ ID とも呼ばれます)

Microsoft Entra IDでアプリを作成する手順については、「Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください。

手順 2: Epic EHR 監査レコードを含むテキスト ファイルを準備する

次の手順では、organizationの Epic EHR システム内の患者の健康記録への従業員のアクセスに関する情報を含むテキスト ファイルを作成します。 前に説明したように、Epic EHR システムからこのテキスト ファイルを生成する方法を決定する必要があります。 Epic コネクタ ワークフローでは、テキスト ファイル内のデータを必要なコネクタ スキーマでマップするために、タブ区切りの値を持つテキスト ファイルが必要です。 サポートされるファイル形式は、パイプまたはタブで区切られた .txt ファイルです。

注:

監査データを含むテキスト ファイルの最大サイズは 3 GB です。 行の最大数は 500 万です。 また、医療 EHR システムからの関連する監査データのみを含める必要があります。

次の表に、インサイダー リスク管理シナリオを有効にするために必要なフィールドを示します。 これらのフィールドのサブセットは必須です。 これらのフィールドはアスタリスク (*) で強調表示されています。 必須フィールドのいずれかがテキスト ファイルに存在しない場合、ファイルは検証されないため、ファイル内のデータはインポートされません。

フィールド カテゴリ
ACCESS_LOG。ACCESS_TIME*
ACCESS_LOG_METRIC。METRIC_NAME*
ACCESS_LOG。WORKSTATION_ID
ZC_METRIC_GROUP.NAME
ZC_ACCESS_ACTION.NAME
これらのフィールドは、Epic EHR システムのアクセス アクティビティ イベントを識別するために使用されます。
患者。PAT_MRN_ID
患者。PAT_FIRST_NAME*
患者。PAT_MIDDLE_NAME
患者。PAT_LAST_NAME*
患者。ADD_LINE_1*
患者。ADD_LINE_2
患者。都市*
PATIENT.ZIP*
ZC_STATE.NAME
ZC_COUNTRY.NAME
CLARITY_DEP。DEPARTMENT_NAME
これらのフィールドは、患者プロファイル情報を識別するために使用されます。
ZC_BTG_REASON.NAME*
PAT_BTG_AUDIT。BTG_EXPLANATION
これらのフィールドは、制限されたレコードへのアクセスを識別するために使用されます。
Emp。SYSTEM_LOGIN*
CLARITY_EMP。User_id
employee_last_name1
employee_first_name1
これらのフィールドは、家族/近隣/従業員レコードへのアクセスを決定するために必要な住所と名前の一致に関する従業員プロファイル情報を識別するために使用されます。

注:

Epic から関連するログ メトリックのみをエクスポートしていることを確認します。 1このフィールドは、Epic では既定では使用できません。 テキスト ファイルにこのフィールドが含まれるようにエクスポートを構成する必要があります。

手順 3: Epic コネクタを作成する

次の手順では、Microsoft Purview ポータルまたはコンプライアンス ポータルで Epic コネクタを作成します。 手順 4 でスクリプトを実行すると、手順 2 で作成したテキスト ファイルが処理され、手順 1 で設定した API エンドポイントにプッシュされます。 この手順では、コネクタの作成時に生成される JobId を必ずコピーしてください。 スクリプトを実行するときに JobId を使用します。

使用しているポータルの適切なタブを選択します。 Microsoft Purview ポータルの詳細については、 Microsoft Purview ポータルに関するページを参照してください。 コンプライアンス ポータルの詳細については、「Microsoft Purview コンプライアンス ポータル」を参照してください。

  1. Microsoft Purview ポータルにサインインします。

  2. [設定] [データ コネクタ] > の順に選択します。

  3. [ 個人用コネクタ] を選択し、[ コネクタの追加] を選択します。

  4. 一覧から [ Epic コネクタ] を選択します。

  5. [ 接続のセットアップ] ページで 、次の操作を行い、[ 次へ] を選択します。

    1. 手順 2 で作成した Azure アプリのMicrosoft Entra アプリケーション ID を入力または貼り付けます。
    2. Epic コネクタの名前を入力します。
  6. [ レビュー ] ページで設定を確認し、[完了] を選択してコネクタを作成 します

    コネクタが作成されたことを確認する状態ページが表示されます。 このページには、サンプル スクリプトを実行して Epic EHR 監査レコード データをアップロードするための次の手順を完了するために必要な 2 つの重要な事項が含まれています。

    ジョブ ID を含むページを確認し、GitHub にリンクしてサンプル スクリプトを作成する

    1. ジョブ ID。 次の手順でスクリプトを実行するには、このジョブ ID が必要です。 このページまたはコネクタのポップアップ ページからコピーできます。
    2. 参照スキーマ。 コネクタで受け入れられる Epic システムのフィールドを理解するには、スキーマを参照してください。 これにより、必要なすべての Epic データベース フィールドを含むファイルを作成できます。
    3. サンプル スクリプトへのリンク。 GitHub サイトに移動してサンプル スクリプトにアクセスするには、こちらのリンクを選択します (リンクによって新しいウィンドウが開きます)。 手順 4 でスクリプトをコピーできるように、このウィンドウを開いたままにします。 または、コピー先をブックマークするか、URL をコピーして、スクリプトの実行時にもう一度アクセスすることもできます。 このリンクは、コネクタのポップアップ ページでも使用できます。
  7. [完了] を選択します。

    [コネクタ] タブの一覧に新しい コネクタが 表示されます。

  8. 先ほど作成した Epic コネクタを選択して、コネクタに関するプロパティやその他の情報を含むポップアップ ページを表示します。

まだ作成していない場合は、Azure アプリ IDコネクタ ジョブ ID の値をコピーできます。 次の手順でスクリプトを実行するには、これらが必要です。 また、ポップアップ ページからスクリプトをダウンロードすることもできます (または、次の手順のリンクを使用してダウンロードすることもできます)。

[編集] を選択して、[ファイル マッピング] ページで定義したAzure アプリ ID または列ヘッダー名を変更することもできます。

手順 4: サンプル スクリプトを実行して Epic EHR 監査レコードをアップロードする

Epic コネクタを設定する最後の手順は、テキスト ファイル (手順 1 で作成した) 内のデータを Microsoft クラウドにアップロードするサンプル スクリプトを実行することです。 具体的には、スクリプトによって Epic コネクタにデータがアップロードされます。 スクリプトを実行すると、手順 3 で作成した Epic コネクタによって、Epic EHR 監査レコード データが Microsoft 365 organizationにインポートされ、Insider リスク管理ソリューションなどの他のコンプライアンス ツールからアクセスできるようになります。 スクリプトを実行した後、最新の従業員終了データが Microsoft クラウドにアップロードされるように、タスクをスケジュールして、毎日自動的に実行することを検討してください。 「(省略可能)手順 6: スクリプトを自動的に実行するようにスケジュールする」を参照してください。

注:

前述のように、監査データを含むテキスト ファイルの最大サイズは 3 GB です。 行の最大数は 500 万です。 この手順で実行するスクリプトは、大きなテキスト ファイルから監査データをインポートするのに約 30 分から 40 分かかります。 さらに、スクリプトは大きなテキスト ファイルを 100,000 行の小さなブロックに分割し、それらのブロックを順番にインポートします。

  1. 前の手順から開いたままのウィンドウに移動し、サンプル スクリプトを使用して GitHub サイトにアクセスします。 または、ブックマークされたサイトを開くか、コピーした URL を使用します。 スクリプトにアクセスすることもできます。

  2. [ Raw ] ボタンを選択して、スクリプトをテキスト ビューに表示します。

  3. サンプル スクリプト内のすべての行をコピーし、テキスト ファイルに保存します。

  4. 必要に応じて、organizationのサンプル スクリプトを変更します。

  5. などのEpicConnector.ps1ファイル名サフィックス.ps1を使用して、テキスト ファイルを Windows PowerShell スクリプト ファイルとして保存します。

  6. ローカル コンピューターでコマンド プロンプトを開き、スクリプトを保存したディレクトリに移動します。

  7. 次のコマンドを実行して、テキスト ファイル内の Epic 監査データを Microsoft クラウドにアップロードします。例えば:

    .\EpicConnector.ps1 -tenantId <tenantId> -appId <appId>  -appSecret <appSecret>  -jobId <jobId>  -filePath '<filePath>'
    

次の表では、このスクリプトで使用するパラメーターとその必要な値について説明します。 前の手順で取得した情報は、これらのパラメーターの値で使用されます。

パラメーター 説明
tenantId これは、手順 1 で取得した Microsoft 365 organizationの ID です。 Microsoft Entra 管理センターの [概要] ブレードで、organizationのテナント ID を取得することもできます。 これは、organizationを識別するために使用されます。
appId これは、手順 1 のMicrosoft Entra IDで作成したアプリのMicrosoft Entra アプリケーション ID です。 これは、スクリプトが Microsoft 365 organizationにアクセスしようとしたときに認証にMicrosoft Entra IDによって使用されます。
appSecret これは、手順 1 のMicrosoft Entra IDで作成したアプリのMicrosoft Entra アプリケーション シークレットです。 これは認証にも使用されます。
jobId これは、手順 3 で作成した Epic コネクタのジョブ ID です。 これは、Microsoft クラウドにアップロードされた Epic EHR 監査レコードを Epic コネクタに関連付けるために使用されます。
Filepath これは、手順 2 で作成したテキスト ファイル (スクリプトと同じシステムに格納) のファイル パスです。 ファイル パス内のスペースを避けてください。それ以外の場合は、単一引用符を使用します。

各パラメーターの実際の値を使用した Epic コネクタ スクリプトの構文の例を次に示します。

.\EpicConnector.ps1 -tenantId d5723623-11cf-4e2e-b5a5-01d1506273g9 -appId 29ee526e-f9a7-4e98-a682-67f41bfd643e -appSecret MNubVGbcQDkGCnn -jobId b8be4a7d-e338-43eb-a69e-c513cd458eba -filePath 'C:\Users\contosoadmin\Desktop\Data\epic_audit_records.txt'

アップロードが成功した場合、スクリプトは アップロード成功 メッセージを表示します。

注:

実行ポリシーが原因で前のコマンドの実行に問題がある場合は、実行ポリシーの設定に関するガイダンスについては、「 実行ポリシーSet-ExecutionPolicy について」を参照してください。

手順 5: Epic コネクタを監視する

Epic コネクタを作成し、EHR 監査レコードをプッシュした後、Microsoft Purview ポータルまたはコンプライアンス ポータルでコネクタを表示し、状態をアップロードできます。 スクリプトを定期的に自動的に実行するようにスケジュールする場合は、スクリプトが最後に実行された後の現在の状態を表示することもできます。

使用しているポータルの適切なタブを選択します。 Microsoft Purview ポータルの詳細については、 Microsoft Purview ポータルに関するページを参照してください。 コンプライアンス ポータルの詳細については、「Microsoft Purview コンプライアンス ポータル」を参照してください。

  1. Microsoft Purview ポータルにサインインします。

  2. [設定] [データ コネクタ] > の順に選択します。

  3. [ 個人用コネクタ] を選択し、作成した Epic コネクタを選択してポップアップ ページを表示します。 このページには、コネクタに関するプロパティと情報が含まれています。

  4. [ 最終インポート] で、[ ログのダウンロード ] リンクを選択して、コネクタの状態ログを開く (または保存) します。 このログには、スクリプトが実行され、テキスト ファイルから Microsoft クラウドにデータがアップロードされるたびに関する情報が含まれます。

    Epic コネクタ ログ ファイルには、アップロードされたテキスト ファイルの行数が表示されます

    フィールドは RecordsSaved 、アップロードしたテキスト ファイル内の行数を示します。 たとえば、テキスト ファイルに 4 つの行が含まれている場合、スクリプトがテキスト ファイル内のすべての行を正常にアップロードした場合、フィールドの値 RecordsSaved は 4 になります。

手順 4 でスクリプトを実行していない場合は、[ 最後のインポート] にスクリプトをダウンロードするためのリンクが表示されます。 スクリプトをダウンロードし、次の手順に従ってスクリプトを実行できます。

(省略可能)手順 6: スクリプトを自動的に実行するようにスケジュールする

Epic EHR システムの最新の監査レコードをインサイダー リスク管理ソリューションなどのツールで使用できるようにするには、スクリプトを毎日自動的に実行するようにスケジュールすることをお勧めします。 また、同じテキスト ファイル内の Epic 監査レコード データを同様の (同じではない場合) スケジュールで更新し、従業員による患者レコード アクセス アクティビティに関する最新情報が含まれるようにする必要もあります。 目標は、Epic コネクタがインサイダー リスク管理ソリューションで使用できるように、最新の監査レコードをアップロードすることです。

Windows のタスク スケジューラ アプリを使用すると、毎日スクリプトを自動的に実行できます。

  1. ローカル コンピューターで、[Windows スタート ] ボタンを選択し、「 タスク スケジューラ」と入力します。

  2. タスク スケジューラ アプリを選択して開きます。

  3. [アクション] セクションで、[タスクの作成] を選択します

  4. [ 全般 ] タブで、スケジュールされたタスクのわかりやすい名前を入力します。たとえば、 Epic コネクタ スクリプトなどです。 オプションの説明を追加することもできます。

  5. [ セキュリティ オプション] で、次の操作を行います。

    1. コンピューターにログオンしたときにのみスクリプトを実行するか、ログオンした場合に実行するかを決定します。
    2. [ 最高の特権で実行] チェック ボックスがオンになっていることを確認します。
  6. [トリガー] タブ 選択し、[ 新規] を選択し、次の操作を行います。

    1. [ 設定] で [ 毎日 ] オプションを選択し、スクリプトを初めて実行する日付と時刻を選択します。 スクリプトは、指定した時刻に毎日実行されます。
    2. [ 詳細設定] で、[ 有効] チェック ボックスがオンになっていることを確認します。
    3. OK を選択します。
  7. [ アクション ] タブを選択し、[ 新規] を選択し、次の操作を行います。

    Epic コネクタ スクリプトの新しいスケジュールされたタスクを作成するためのアクション設定。

    1. [ アクション ] ドロップダウン リストで、[ プログラムの開始] が選択されていることを確認します。
    2. [ プログラム/スクリプト ] ボックスで [ 参照] を選択し、次の場所に移動し、パスがボックスに表示されるように選択します:C:.0.exe。
    3. [ 引数の追加 (省略可能)] ボックスに、手順 4 で実行したのと同じスクリプト コマンドを貼り付けます。 たとえば、.\EpicConnector.ps1 -tenantId "d5723623-11cf-4e2e-b5a5-01d1506273g9" -appId "c12823b7-b55a-4989-faba-02de41bb97c3" -appSecret "MNubVGbcQDkGCnn" -jobId "e081f4f4-3831-48d6-7bb3-fcfab1581458" -filePath "C:\Epic\audit\records.txt" のように指定します。
    4. [ Start in (省略可能)] ボックスに 、手順 4 で実行したスクリプトのフォルダーの場所を貼り付けます。 たとえば、C:\Epic\audit です。
    5. [ OK] を 選択して、新しいアクションの設定を保存します。
  8. [ タスクの作成 ] ウィンドウで、[ OK] を 選択してスケジュールされたタスクを保存します。 ユーザー アカウントの資格情報を入力するように求められる場合があります。

    新しいタスクがタスク スケジューラ ライブラリに表示されます。

    医療コネクタ スクリプトの新しいタスクがタスク スケジューラ ライブラリに表示されます。

    スクリプトが最後に実行され、次回実行がスケジュールされている時刻が表示されます。 タスクをダブルクリックして編集できます。

    また、コンプライアンス センターの対応する Epic コネクタのポップアップ ページでスクリプトが最後に実行された時刻を確認することもできます。