次の方法で共有


Postman を使用して FHIR サービスにアクセスする

この記事では、Postman を使用して Azure Health Data Services の FHIR® サービスにアクセスする手順について説明します。

前提条件

  • Azure にデプロイされた FHIR サービス。 詳細については、「FHIR サービスを展開する」を参照してください。
  • Postman がローカルにインストールされています。 詳細については、「Postman で開始する」を参照してください。
  • FHIR サービスへのロール割り当てを行うためのユーザー アクセス管理者ロール。

設定手順

Postman アプリケーションから FHIR サービスにアクセスするには、次の手順を確認します。

  1. Microsoft Entra ID でクライアント アプリケーションを登録 (アプリ登録) する。

  2. FHIR サービスの下で FHIR データ共同作成者ロールを割り当てる。

  3. Postman の設定 - ワークスペース、コレクション、環境を作成する

Microsoft Entra ID でクライアント アプリケーションを登録する

  1. Azure portal で、[Microsoft Entra ID] タイルを選択します。 Azure portal の Microsoft Entra ID セクションを示すスクリーンショット。

  2. [管理] セクションから [アプリの登録] を選択します。 スクリーンショットは、Microsoft Entra ID の [管理] セクションにある [アプリの登録] メニューを示しています。

  3. [新しい登録] を選択します。

  4. アプリ登録用の名前を入力します。 [サポートされているアカウントの種類] で、[この組織ディレクトリのみに含まれるアカウント] を選択します。 [登録] を選択します

新しいアプリ登録の名前を入力するフォームを示すスクリーンショット。

アプリケーション ID (クライアント ID)

新しいアプリケーションを登録すると、[概要] セクションでアプリケーション (クライアント) ID とディレクトリ (テナント) ID を確認できるようになります。 これらの値は後で使用するので、書き留めておきます。Postman 環境を構成する際に必要になります登録済みアプリケーションの [概要] ページを示すスクリーンショット。アプリケーション (クライアント) ID とディレクトリ (テナント) ID が示されています。

認証設定: 機密かパブリックか

  • [認証] を選んで設定を確認します。 [パブリック クライアント フローを許可する] の既定値は [いいえ] です。

  • この既定値をそのままにした場合、アプリケーションの登録は機密クライアント アプリケーションになり、証明書またはシークレットが必要です。 機密クライアント アプリケーションの [パブリック クライアント フローを許可する] が [いいえ] に設定されている認証設定を示すスクリーンショット。

  • 詳細設定の [パブリック クライアント フローを許可する] オプションを既定値から [はい] に変更した場合、アプリケーションの登録はパブリック クライアント アプリケーションになり、証明書またはシークレットは必要ありません。

  • [はい] の値は、モバイル アプリまたはシークレットを格納したくない JavaScript アプリでクライアント アプリケーションを使う場合に便利です。

  • リダイレクト URL が必要なツールの場合は、[プラットフォームの追加] を選んでプラットフォームを構成します。 [プラットフォームの追加] セクションを示すスクリーンショット。

  • Postman の場合は、[モバイル アプリケーションとデスクトップ アプリケーション] を選びます。 [カスタム リダイレクト URI] セクションに、「https://www.getpostman.com/oauth2/callback"」と入力します。 [構成] ボタンを選んで、設定を保存します。 [モバイル アプリケーションとデスクトップ アプリケーション] が選択され、カスタム リダイレクト URI が追加された [プラットフォームの追加] セクションを示すスクリーンショット。

証明書とシークレット

  1. [証明書とシークレット] をクリックします。 [新しいクライアント シークレット] をクリックします。

[証明書とシークレット] セクションで新しいクライアント シークレットを作成するためのフォームを示すスクリーンショット。

  1. [クライアント シークレットの追加][説明] フィールドにシークレットの名前を入力します。 このガイダンスでは、シークレットの有効期限を 6 か月に設定します。 追加をクリックします。

[クライアント シークレットの追加] フォームを示すスクリーンショット。[説明] フィールドにシークレットの名前を入力しています。

  1. シークレット ID ではなく、シークレットの値を保存することが重要です。

新しく作成されたクライアント シークレットの値を示すスクリーンショット。

Note

Postman や REST Client などのツールを使って FHIR サービス用のアクセス トークンを取得する場合は、grant_type として client_credentials を使います。

FHIR サービスで FHIR データ共同作成者ロールを割り当てる

このセクションでは、Azure Health Data Services の FHIR® サービスに登録されたアプリケーションに FHIR データ共同作成者ロールを割り当てる手順を示します。

  1. Azure portal で FHIR サービスに移動します。

  2. 左側のメニューで、[アクセス制御 (IAM)] ブレードを選択します。[追加] をクリックし、[ロールの割り当ての追加] を選択します。 ロールの割り当てを追加するオプションが使用できない場合は、この手順を実行するためのアクセス許可を割り当ててもらうよう、Azure 管理者に依頼してください。 ロールの割り当てを追加するオプションが表示された、Azure portal の FHIR サービスのアクセス制御 (IAM) ブレードを示すスクリーンショット。

  3. ロールの割り当ての [追加][ロール] タブで、一覧を下にスクロールし、[FHIR データ共同作成者] を選択します。 続けて、 [次へ] をクリックします。 [ロールの割り当ての追加] ウィンドウを示すスクリーンショット。ロールの一覧が表示され、[FHIR データ共同作成者] ロールが選択されています。

  4. [メンバー] タブで [メンバーの選択] をクリックします。 右側の [選択] フィールドに、Postman サービス クライアント アプリの名前を入力します。 アプリを選びます。 ロールの割り当てプロセスの [メンバー] タブを示すスクリーンショット。Postman サービス クライアント アプリを選択するオプションが表示されています。

  5. 同様に、[選択] にユーザー名を入力します。 アプリの登録と共にリストに追加するユーザーを選択し、[選択] をクリックします。 続けて、 [次へ] をクリックします。 ロールの割り当てプロセスの [メンバー] タブを示すスクリーンショット。ユーザーを選択するオプションが表示されています。

  6. [確認と割り当て] タブで [確認と割り当て] をクリックします。 最後の [確認と割り当て] タブを示すスクリーンショット。ロールの割り当てプロセスを完了するためのボタンが表示されています。

Postman の設定 - ワークスペース、コレクション、環境を作成する。

Postman を初めて使用する場合は、次の手順に従ってワークスペース、コレクション、環境を作成します。

Postman では、自分とチームが API、コレクション、環境、およびその他のコンポーネントを共有できるようにするためのワークスペースの概念が導入されています。 既定の [マイ ワークスペース] または [チーム ワークスペース] を使用するか、自分またはチーム用に新しいワークスペースを作成できます。 ワークスペースの作成を示すスクリーンショット。

次に、関連するすべての REST API 要求をグループ化できる新しいコレクションを作成します。 ワークスペースで [コレクションの作成] を選択します。 既定の名前新しいコレクションを保持するか、名前を変更することができます。 変更は自動的に保存されます。 新しいコレクションの作成を示すスクリーンショット。

Postman コレクションをインポートおよびエクスポートすることもできます。 詳細については、Postman ドキュメント を参照してください。

コレクションのインポートとエクスポートを示すスクリーンショット。

環境変数を作成または更新する

要求では完全な URL を使用できますが、URL やその他のデータを変数に格納することをおすすめします。

FHIR サービスにアクセスするには、次の変数を作成または更新する必要があります。

変数 説明 ノート
tenantid FHIR サービスがデプロイされている Azure テナント [アプリケーションの登録の概要] にあります
subid FHIR サービスがデプロイされている Azure サブスクリプション [FHIR サービスの概要] にあります
clientid アプリケーション クライアント登録 ID
clientsecret アプリケーション クライアント登録シークレット
fhirurl FHIR サービスの完全な URL (https://xxx.azurehealthcareapis.com など) [FHIR サービスの概要] にあります
bearerToken Microsoft Entra アクセス トークンをスクリプトに格納します 空白のまま

Note

クライアント アプリケーションの登録でリダイレクト URL https://www.getpostman.com/oauth2/callback を構成したことを確認します。

環境変数を示すスクリーンショット。

機能ステートメントを取得する

GET 要求に「{{fhirurl}}/metadata」と入力した後、Send を選択します。 FHIR サービスの機能ステートメントが表示されます。 機能要求パラメーターを示すスクリーンショット。

保存要求を示すスクリーンショット。

Microsoft Entra アクセス トークンを取得する

サービス プリンシパルまたは Microsoft Entra ユーザー アカウントを使用して、Microsoft Entra アクセス トークンを取得します。

クライアント資格情報付与タイプでサービス プリンシパルを使用する

FHIR サービスは Microsoft Entra ID によって保護されています。 既定の認証を無効にすることはできません。 FHIR サービスにアクセスするには、まず Microsoft Entra アクセス トークンを取得する必要があります。 詳細については、「Microsoft ID プラットフォーム アクセス トークン」を参照してください。

新しい POST 要求を作成します:

  1. 要求ヘッダーを入力する: https://login.microsoftonline.com/{{tenantid}}/oauth2/token

  2. [本文] タブを選択し、[x-www-form-urlencoded] を選択します。 キーと値のセクションに次の値を入力します:

    • grant_type: Client_Credentials
    • client_id: {{clientid}}
    • client_secret: {{clientsecret}}
    • resource: {{fhirurl}}

Note

FHIR サービス対象ユーザー パラメーターが FHIR サービス エンドポイント URL にマップされていないシナリオでは、リソース パラメーターの値を FHIR サービス認証ペインの対象ユーザーの値にマップする必要があります。

  1. [テスト] タブを選択し、テキスト セクションに「pm.environment.set("bearerToken", pm.response.json().access_token);」と入力します。 この値をコレクションで利用できるようにするには、pm.collectionVariables.set メソッドを使用します。 set メソッドとそのスコープ レベルの詳細については、「スクリプトでの変数の使用」を参照してください。
  2. [保存] を選択して設定を保存します。
  3. [Send] を選択します。 Microsoft Entra アクセス トークンを含む応答が表示され、それが変数 bearerToken に自動的に保存されるはずです。 その後、すべての FHIR サービス API 要求でそれを使用できます。 送信ボタンを示すスクリーンショット。

アクセス トークンは、https://jwt.ms などのオンライン ツールを使用して調べることができます。 [要求] タブを選択すると、トークン内の各要求の詳細な説明が表示されます。

アクセス トークン要求を示すスクリーンショット。

認可コード付与タイプでユーザー アカウントを使用する

Microsoft Entra アカウント資格情報を使用し、以下に示す手順に従うことで、Microsoft Entra アクセス トークンを取得できます。

  1. 必要なアクセス許可を持つ Microsoft Entra テナントのメンバーであることを確認します。

  2. クライアント アプリケーションの登録で Web プラットフォームのリダイレクト URL https://oauth.pstmn.io/v1/callback を構成したことを確認します。 コールバック URL を示すスクリーンショット。

  3. クライアント アプリケーションの登録の [API アクセス許可] で、組織が使用する API から Azure Healthcare APIS に対する User_Impersonation の委任アクセス許可を追加します。 アプリケーション登録のアクセス許可を示すスクリーンショット。

アプリケーション登録のアクセス許可画面を示すスクリーンショット。

  1. Postman で、コレクションまたは特定の REST 呼び出しの [認可] タブを選択し、[種類] で OAuth 2.0 を選択し、[新しいトークンの構成] セクションで、以下の値を設定します。
    • コールバック URL: https://oauth.pstmn.io/v1/callback

    • 認証 URL: https://login.microsoftonline.com/{{tenantid}}/oauth2/v2.0/authorize

    • アクセス トークン URL: https://login.microsoftonline.com/{{tenantid}}/oauth2/v2.0/token

    • クライアント ID: アプリケーション クライアント登録 ID

    • クライアント シークレット: アプリケーション クライアント登録シークレット

    • スコープ: {{fhirurl}}/.default

    • クライアント認証: 本文でクライアント資格情報を送信する

構成画面を示すスクリーンショット。

  1. ページ下部にある [新しいアクセス トークンの取得] を選択します。

  2. サインイン用のユーザー資格情報を指定します。

  3. トークンを受け取ったら、[トークンの使用] を選択します。

  4. トークンが REST 呼び出しの Authorization ヘッダーにあることを確認します。

https://jwt.ms などのオンライン ツールを使用してアクセス トークンを調べます。 [要求] タブを選択すると、トークン内の各要求の詳細な説明が表示されます。

FHIR サーバーに接続する

Postman を開き、[ワークスペース][コレクション]、使用する [環境] を選択します。 [+] アイコンを選択して、新しい要求を作成します。 新しい要求の作成を示すスクリーンショット。

FHIR サービスで正常性チェックを実行するには、GET 要求に「{{fhirurl}}/health/check」と入力した後、[送信] を選択します。 Status of FHIR service - HTTP Status コード応答が 200 で、OverallStatus が正常であることが確認できるはずです。これは、正常性チェックが正常であることを意味します。

FHIR リソースを取得する

Microsoft Entra アクセス トークンを取得したら、FHIR データにアクセスできます。 新しい GET 要求に「{{fhirurl}}/Patient」と入力します。

認可種類として ベアラー トークン を選択します。 [トークン] セクションに「{{bearerToken}}」と入力します。 [Send] を選択します。 応答として、FHIR リソース内の患者の一覧が表示されます。 ベアラー トークンの選択を示すスクリーンショット。

FHIR リソースを作成または更新する

Microsoft Entra アクセス トークンを取得したら、FHIR データを作成または更新できます。 たとえば、新しい患者を作成したり、既存の患者を更新したりすることができます。

新しい要求を作成し、メソッドを [ポスト] に変更し、要求セクションに値を入力します。

{{fhirurl}}/Patient

認可種類として ベアラー トークン を選択します。 [トークン] セクションに「{{bearerToken}}」と入力します。 [本文] タブを選択します。raw オプションと、JSON を本文形式として選択します。 次のテキストをコピーして本文セクションに貼り付けます。

{
    "resourceType": "Patient",
    "active": true,
    "name": [
        {
            "use": "official",
            "family": "Kirk",
            "given": [
                "James",
                "Tiberious"
            ]
        },
        {
            "use": "usual",
            "given": [
                "Jim"
            ]
        }
    ],
    "gender": "male",
    "birthDate": "1960-12-25"
}

[Send] を選択します。 JSON 応答に新しい患者が表示されます。 新しい患者を作成するための送信ボタンを示すスクリーンショット。

FHIR データをエクスポートする

Microsoft Entra アクセス トークンを取得したら、FHIR データを Azure ストレージ アカウントにエクスポートできます。

エクスポート設定を構成し、Data Lake Storage Gen2 アカウントを作成するには、「エクスポートの設定を構成する」を参照してください。

新しい GET 要求を作成します: {{fhirurl}}/$export?_container=export

認可種類として ベアラー トークン を選択します。 [トークン] セクションに「{{bearerToken}}」と入力します。 [ヘッダー] を選択して、2 つの新しいヘッダーを追加します:

  • Accept: application/fhir+json

  • Prefer: respond-async

[Send] を選択します。 202 Accepted 応答が表示されるはずです。 応答の [ヘッダー] タブを選択し、[コンテンツの場所] の値を書き留めます。 この値を使用して、エクスポート ジョブの状態のクエリを実行できます。 選択した 202 の受け入れ済み応答を示すスクリーンショット。

次のステップ

Postman サンプル クエリのスターター コレクション

Note

FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。