Postman を使用して FHIR サービスにアクセスする
この記事では、Postman を使用して Azure Health Data Services の FHIR® サービスにアクセスする手順について説明します。
前提条件
- Azure にデプロイされた FHIR サービス。 詳細については、「FHIR サービスを展開する」を参照してください。
- FHIR サービスにアクセスするための登録済みクライアント アプリケーション。 詳細については、「Microsoft Entra ID にサービス クライアント アプリケーションを登録する」を参照してください。
- FHIR データ共同作成者のアクセス許可 をクライアント アプリケーションとユーザー アカウントに付与します。
- Postman がローカルにインストールされています。 詳細については、「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 アクセス トークンを取得します。 2 つの方法のいずれかを選択します。
クライアント資格情報付与タイプでサービス プリンシパルを使用する
FHIR サービスは Microsoft Entra ID によって保護されています。 既定の認証を無効にすることはできません。 FHIR サービスにアクセスするには、まず Microsoft Entra アクセス トークンを取得する必要があります。 詳細については、「Microsoft ID プラットフォーム アクセス トークン」を参照してください。
新しい POST
要求を作成します:
要求ヘッダーを入力する:
https://login.microsoftonline.com/{{tenantid}}/oauth2/token
[本文] タブを選択し、[x-www-form-urlencoded] を選択します。 キーと値のセクションに次の値を入力します:
- grant_type:
Client_Credentials
- client_id:
{{clientid}}
- client_secret:
{{clientsecret}}
- resource:
{{fhirurl}}
- grant_type:
Note
FHIR サービス対象ユーザー パラメーターが FHIR サービス エンドポイント URL にマップされていないシナリオでは、リソース パラメーターの値を FHIR サービス認証ペインの対象ユーザーの値にマップする必要があります。
- [テスト] タブを選択し、テキスト セクションに以下を入力します:
pm.environment.set("bearerToken", pm.response.json().access_token);
値をコレクションで使用できるようにするには、pm.collectionVariables.set メソッドを使用します。 set メソッドとそのスコープ レベルの詳細については、「スクリプトでの変数の使用」を参照してください。 - [保存] を選択して設定を保存します。
- [Send] を選択します。 Microsoft Entra アクセス トークンを含む応答が表示されます。このトークンは変数
bearerToken
に自動的に保存されます。 その後、すべての FHIR サービス API 要求でそれを使用できます。
アクセス トークンは、https://jwt.ms などのオンライン ツールを使用して調べることができます。 [要求] タブを選択すると、トークン内の各要求の詳細な説明が表示されます。
認可コード付与タイプでユーザー アカウントを使用する
Microsoft Entra アクセス トークンを取得するには、Entra アカウントの資格情報を使用し、一覧表示されている手順に従います。
必要なアクセス許可を持つ Microsoft Entra テナントのメンバーであることを確認します。
クライアント アプリケーションの登録で Web プラットフォームのリダイレクト URL
https://oauth.pstmn.io/v1/callback
を構成したことを確認します。クライアント アプリケーションの登録の [API アクセス許可] で、組織が使用する API から Azure Healthcare APIS に対する User_Impersonation の委任アクセス許可を追加します。
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
クライアント認証: 本文でクライアント資格情報を送信する
ページ下部にある [新しいアクセス トークンの取得] を選択します。
サインインのユーザー資格情報を求められます。
トークンを受け取ります。 [トークンの使用] を選択します。
トークンが 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 データを作成または更新できます。 たとえば、新しい患者を作成したり、既存の患者を更新したりすることができます。
新しい要求を作成し、メソッドを Post に変更し、要求セクションに値を入力します。
{{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 ストレージ アカウントにエクスポートできます。
新しい GET
要求を作成します: {{fhirurl}}/$export?_container=export
認可種類として ベアラー トークン を選択します。 [トークン] セクションに「{{bearerToken}}
」と入力します。 [ヘッダー] を選択して、2 つの新しいヘッダーを追加します:
Accept:
application/fhir+json
Prefer:
respond-async
[Send] を選択します。 202 Accepted
応答が表示されるはずです。 応答の [ヘッダー] タブを選択し、[コンテンツの場所] の値を書き留めます。 この値を使用して、エクスポート ジョブの状態を照会できます。
次のステップ
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。