View a markdown version of this page

HealthLake データストアの作成 - AWS HealthLake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HealthLake データストアの作成

CreateFHIRDatastore を使用して、FHIR R4 仕様に準拠した AWS HealthLake データストアを作成します。HealthLake データストアは、FHIR データのインポート、管理、検索、エクスポートに使用されます。Synthea オープンソースの FHIR R4 ヘルスデータをデータストアにインポート (プリロード) することを選択できます。詳細については、「プリロードされたデータ型」を参照してください。

[重要]

HealthLake は、FHIR 上の AWS SigV4 または SMART の 2 種類の FHIR データストア認可戦略をサポートしています。HealthLake FHIR データストアを作成する前に、認可戦略のいずれかを選択する必要があります。詳細については、「データストア認可戦略」を参照してください。

HealthLake データストアを作成すると、FHIR データリポジトリが RESTful API エンドポイントを介して利用可能になります。HealthLake データストアを作成したら、その機能ステートメントをリクエストして、関連するすべての FHIR 関連機能 (動作) を見つけることができます。

データストアを作成したら、その名前、デフォルトの FHIR 検証プロファイル、NLP 設定、分析設定、ID プロバイダー設定を変更できます。暗号化設定は変更できません。詳細については、「データストアの更新」を参照してください。

次のメニューでは、 AWS CLI および AWS SDKsの例と、 の手順を示します AWS マネジメントコンソール。詳細については、「AWS HealthLake API リファレンス」の「CreateFHIRDatastore」を参照してください。

HealthLake データストアを作成するには

アクセス設定に基づいてメニューを選択します AWS HealthLake。

CLI
AWS CLI

例 1: SigV4 対応の HealthLake データストアを作成する

次のcreate-fhir-datastore例は、 AWS HealthLake で新しいデータストアを作成する方法を示しています。

aws healthlake create-fhir-datastore \ --datastore-type-version R4 \ --datastore-name "FhirTestDatastore"

出力:

{ "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "CREATING", "DatastoreId": "(Data store ID)" }

例 2: SMART on FHIR 対応の HealthLake データストアを作成する

次のcreate-fhir-datastore例は、 AWS HealthLake で FHIR 対応データストアに新しい SMART を作成する方法を示しています。

aws healthlake create-fhir-datastore \ --datastore-name "your-data-store-name" \ --datastore-type-version R4 \ --preload-data-config PreloadDataType="SYNTHEA" \ --sse-configuration '{ "KmsEncryptionConfig": { "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:your-account-id:key/your-key-id" } }' \ --identity-provider-configuration file://identity_provider_configuration.json

identity_provider_configuration.json の内容:

{ "AuthorizationStrategy": "SMART_ON_FHIR_V1", "FineGrainedAuthorizationEnabled": true, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\"]}" }

出力:

{ "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "CREATING", "DatastoreId": "(Data store ID)" }

  • API の詳細については、AWS CLI コマンドリファレンスの「CreateFHIRDatastore」を参照してください。

Python
SDK for Python (Boto3)
@classmethod def from_client(cls) -> "HealthLakeWrapper": """ Creates a HealthLakeWrapper instance with a default AWS HealthLake client. :return: An instance of HealthLakeWrapper initialized with the default HealthLake client. """ health_lake_client = boto3.client("healthlake") return cls(health_lake_client) def create_fhir_datastore( self, datastore_name: str, sse_configuration: dict[str, any] = None, identity_provider_configuration: dict[str, any] = None, ) -> dict[str, str]: """ Creates a new HealthLake data store. When creating a SMART on FHIR data store, the following parameters are required: - sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store. - identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store. :param datastore_name: The name of the data store. :param sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store. :param identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store. :return: A dictionary containing the data store information. """ try: parameters = {"DatastoreName": datastore_name, "DatastoreTypeVersion": "R4"} if ( sse_configuration is not None and identity_provider_configuration is not None ): # Creating a SMART on FHIR-enabled data store parameters["SseConfiguration"] = sse_configuration parameters[ "IdentityProviderConfiguration" ] = identity_provider_configuration response = self.health_lake_client.create_fhir_datastore(**parameters) return response except ClientError as err: logger.exception( "Couldn't create data store %s. Here's why %s", datastore_name, err.response["Error"]["Message"], ) raise

次のコードは、SMART on FHIR 対応 HealthLake データストアのパラメータの例を示しています。

sse_configuration = { "KmsEncryptionConfig": {"CmkType": "AWS_OWNED_KMS_KEY"} } # TODO: Update the metadata to match your environment. metadata = { "issuer": "https://ehr.example.com", "jwks_uri": "https://ehr.example.com/.well-known/jwks.json", "authorization_endpoint": "https://ehr.example.com/auth/authorize", "token_endpoint": "https://ehr.token.com/auth/token", "token_endpoint_auth_methods_supported": [ "client_secret_basic", "foo", ], "grant_types_supported": ["client_credential", "foo"], "registration_endpoint": "https://ehr.example.com/auth/register", "scopes_supported": ["openId", "profile", "launch"], "response_types_supported": ["code"], "management_endpoint": "https://ehr.example.com/user/manage", "introspection_endpoint": "https://ehr.example.com/user/introspect", "revocation_endpoint": "https://ehr.example.com/user/revoke", "code_challenge_methods_supported": ["S256"], "capabilities": [ "launch-ehr", "sso-openid-connect", "client-public", ], } # TODO: Update the IdpLambdaArn. identity_provider_configuration = { "AuthorizationStrategy": "SMART_ON_FHIR_V1", "FineGrainedAuthorizationEnabled": True, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": json.dumps(metadata), } data_store = self.create_fhir_datastore( datastore_name, sse_configuration, identity_provider_configuration )
  • API の詳細については、「AWS SDK for Python (Boto3) API リファレンス」の「CreateFHIRDatastore」を参照してください。

注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

SAP ABAP
SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. " iv_datastore_name = 'MyHealthLakeDataStore' oo_result = lo_hll->createfhirdatastore( iv_datastorename = iv_datastore_name iv_datastoretypeversion = 'R4' ). MESSAGE 'Data store created successfully.' TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllinternalserverex INTO DATA(lo_internal_ex). lv_error = |Internal server error: { lo_internal_ex->av_err_code }-{ lo_internal_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_internal_ex. CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex). lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_throttling_ex. ENDTRY.
  • API の詳細については、 AWS SDK for SAP ABAP API リファレンスの「CreateFHIRDatastore」を参照してください。

可用性の例

必要なものが見つからなかった場合。このページの右側サイドバーにあるフィードバックを提供するリンクを使用して、コード例をリクエストします。

メモ

次の手順では、AWS SigV4 認可を持つ HealthLake データストアを作成します。HealthLake コンソールは、FHIR データストアでの SMART の作成をサポートしていません。

AWS SigV4 認可を使用して HealthLake データストアを作成するには
  1. HealthLake コンソールのデータストアの作成ページにサインインします。

  2. データストアの作成を選択します。

  3. データストア設定セクションで、データストア名に名前を指定します。

  4. (オプション) データストア設定セクションの事前ロードサンプルデータで、チェックボックスをオンにして Synthea データを事前ロードします。Synthea データはオープンソースのサンプルデータセットです。詳細については、「HealthLake の Synthea プリロードされたデータ型」を参照してください。

  5. データストアの暗号化セクションで、AWS 所有キーを使用する (デフォルト) または別の AWS KMS キーを選択する (詳細) を選択します。

  6. タグ - オプションセクションでは、データストアにタグを追加できます。データストアのタグ付けの詳細については、「」を参照してくださいHealthLake データストアのタグ付け

  7. データストアの作成を選択します。

    データストアのステータスは、データストアページで確認できます。