このページでは、Epic EHR データストアを作成する前に Epic アプリを登録して構成する方法について説明します。組織が独自の Epic アプリを登録します。通常、この手順は Epic アナリストが完了します。
Epic アプリを登録する
Epic on FHIR で Gemini Enterprise 用のアプリを登録し、Epic 環境で使用できるようにします。次の設定を使用します。
| 設定 | 値 |
|---|---|
| アプリケーションの対象者 | 臨床医または管理者権限を持つユーザー |
| 受信 API | Epic API を有効にするに記載されている R4 API |
| 送信 API | なし |
| このアプリは動的クライアントを登録しますか? | × |
| 機密クライアント | はい |
| 永続的なアクセスが必要 | はい |
| ローリング更新トークンを使用する | はい |
| JWK セットの URL | 空白のまま |
| SMART on FHIR のバージョン | R4 |
| SMART スコープのバージョン | SMART v1 |
| FHIR ID 生成スキーム | USCDI FHIR リソースに 64 文字制限の FHIR ID を使用する |
ユーザーの認証の有効期間は、アプリの組織の永続的なアクセス設定によって決まります。有効期限が切れると、ユーザーはコネクタを再度承認します。
リダイレクト URI を設定する
アプリで、次の両方のリダイレクト URI を、表示されているとおりに登録します。
https://vertexaisearch.cloud.google.com/oauth-redirecthttps://vertexaisearch.cloud.google.com/console/oauth/default_oauth.html
Epic API を有効にする
アプリで、次の FHIR リソースの R4 読み取り API と検索 API を有効にします。Patient、Observation、Condition、MedicationRequest、AllergyIntolerance、DiagnosticReport、DocumentReference、Binary、Encounter、ServiceRequest、Coverage、Immunization、Procedure。
Observation や Condition などの一部のリソースには、ラボやバイタルサインなど、カテゴリごとに個別の API があります。ユーザーがクエリできるようにするカテゴリを有効にします。書き込み API を有効にしないでください。
API が有効になっていない場合、その API を使用するアクションのみが失敗します。
クライアント ID とクライアント シークレットを取得する
Epic は、アプリに非本番環境のクライアント ID と本番環境のクライアント ID を発行します。URL が参照する Epic 環境に一致するクライアント ID を使用します。このアプリは機密クライアントであるため、クライアント シークレットも持っています。データストアを作成するときに、クライアント ID とクライアント シークレットを入力します。
Epic エンドポイントを見つける
データストアを作成するには、Epic 環境から 3 つの URL(FHIR R4 ベース URL、承認 URL、トークン URL)が必要です。Epic アナリストが提供できます。FHIR_BASE_URL/.well-known/smart-configuration にある組織の SMART 構成には、認可 URL(authorization_endpoint)とトークン URL(token_endpoint)も一覧表示されます。FHIR_BASE_URL は、FHIR R4 ベース URL に置き換えます。
各 URL は https:// を付けて入力し、末尾にスラッシュを付けないでください。たとえば、Epic の公開サンドボックスでは次の URL が使用されます。
| URL | Epic サンドボックスの例 |
|---|---|
| FHIR R4 ベース URL | https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4 |
| 承認 URL | https://fhir.epic.com/interconnect-fhir-oauth/oauth2/authorize |
| Token URL | https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token |
トラブルシューティング
次の表に、一般的な問題とその解決方法を示します。
| 問題 | 解決策 |
|---|---|
コンソールに次のいずれかのメッセージが表示されます。
|
https:// を含み、末尾にスラッシュを付けない URL を入力します。 |
| コンソールに「更新トークンを取得できませんでした」と表示される。 | Epic アプリで、[Is Confidential Client] と [Requires Persistent Access] を選択し、変更を保存します。次に、 Google Cloud コンソールで [Verify Auth] をもう一度クリックします。 |
| Epic から、リダイレクト URI が一致しないという報告があった。 | リダイレクト URI を設定するに示されているとおりに、両方のリダイレクト URI を登録します。 |
| ログイン時に Epic に「無効な OAuth 2.0 リクエスト」と表示される。 | Epic のログインリンクは 1 回しか使用できないため、ログイン ウィンドウを再読み込みすると、このエラーが表示されます。ウィンドウを閉じて、再読み込みせずにログインを再開します。エラーが続く場合は、リクエストされたスコープの API がアプリにあることを確認します。 |
Epic は invalid_client を返します。 |
クライアント ID またはクライアント シークレットが間違っている、余分なスペースがある、または別の Epic 環境に属している。URL が参照する環境のクライアント ID とクライアント シークレットを入力します。 |
| ログイン ウィンドウが Gemini Enterprise に戻らない、またはログイン後にコネクタが承認されない。 | ログイン ウィンドウを閉じ、Gemini Enterprise を再読み込みして、コネクタを再度承認します。 |
| 1 つのアクションが失敗し、他のアクションは機能する。 | そのアクションの Epic API が有効になっていません。アプリで有効にしてから、ユーザーにコネクタを再度承認してもらいます。 |
| Gemini Enterprise が「申し訳ありませんが、この操作を行う権限がないようです。Please contact an administrator.」というエラー メッセージが表示される。 | ユーザーの Epic 認証が終了しました。ユーザーがコネクタを再度承認します。 |
| Gemini Enterprise は、名前で患者を検索しません。 | 生年月日を追加するか、MRN または Epic 患者 ID を使用します。 |
| Gemini Enterprise から、一部のレコードを取得できなかったことが報告されます。 | Epic のセキュリティにより、これらのレコードはユーザーに表示されません。ユーザーには、Epic で表示が許可されているレコードのみが表示されます。 |
| レポートまたはメモのテキストは利用できません。 | ドキュメントが PDF などのコネクタで読み取れない形式である。Epic でドキュメントを開きます。 |
| 1 つのアプリでのみ承認が失敗し続ける。 | アプリから Epic EHR データストアを削除して再度追加し、コネクタを再度承認します。 |
次のステップ
- Epic EHR でデータストアを作成して構成する。Epic EHR データストアを設定するをご覧ください。