View a markdown version of this page

SDK と の開始方法 AWS CLI - AWS HealthLake

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

SDK と の開始方法 AWS CLI

インストールと設定

インストールと設定の手順については、「 のインストール AWS CLI」を参照してください。

ステップ 1: 変換プロファイルを作成する

AWS スタータープロファイルから開始 (CCDA のみ)

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CCDA \ --profile-name "My CCDA Profile" \ --source '{"StarterProfile": {"StarterProfileName": "ccda-starter-kit-v1"}}'

サンプルデータから開始 (CSV のみ)

プロファイルの作成:

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CSV \ --profile-name "Patient CSV Mapping" \ --source '{"SampleData": {"S3Uri": "s3://my-bucket/samples/patient-data.csv"}}'

AI エージェントを実行して、最初の YAML マッピングを作成します。

エージェントと新しい会話を開始し、新しい会話 ID を取得します。API を再度呼び出します。今回は、前のレスポンスと実際のリクエストから ConversationId を渡します。CSV プロファイルの場合、エージェントは作成時に指定したサンプルファイルを分析し、YAML マッピングを生成します。

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CSV \ --conversation-id "00154593-c867-4e4c-b870-25fb5237e54f" \ --input-message '{"Body": "Generate a profile to convert my CSVs into FHIR.", "Type": "normal"}'

同じ ConversationId を使用して会話を続行し、マッピングを複数のターンにわたって絞り込みます (例:「RACE_CD 列を FHIR 拡張機能にマッピングする」)。エージェントから変更の確認を求められた場合は、「Type」:「confirmation_response」と応答します。

ローカルマッピングから開始する

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CCDA \ --profile-name "CI/CD Profile" \ --source '{"ProfileMapping": {"ProfileMapping": {"Resources/Patient.vm": "#set($patient = $input)..."}}}'

既存のプロファイルからクローンを作成する

aws healthlake create-data-transformation-profile \ --region us-east-1 \ --source-format CCDA \ --profile-name test-profile-clone \ --source '{"ExistingVersionedProfileId": {"ProfileId": "e41af4b891d6f9211b42b90435cf0cea", "Version": 0}}'

レスポンス:

{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "Version": 0, "SourceFormat": "CCDA", "TargetFormat": "FHIR_R4", "ProfileName": "My CCDA Profile", "LastUpdatedAt": "2026-07-01T12:00:00Z" }

プロファイルはドラフト状態 (バージョン 0) で作成されます。

ステップ 2: AI エージェントでプロファイルをカスタマイズする (オプション)

エージェントと新しい会話を開始し、新しい会話 ID を取得します。もう一度 API を呼び出し、今度は ConversationId を渡します。

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --conversation-id "conv-a1b2c3d4-e5f6-7890" \ --input-message '{"Body": "Add a mapping for Medication resources", "Type": "normal"}'

レスポンス:

{ "chatOutput": { "body": "I can help you add a Medication resource mapping. Which CCDA section should I map from?", "type": "options", "optionsList": ["Medications Section", "Discharge Medications", "Immunizations"] }, "conversationId": "conv-a1b2c3d4-e5f6-7890" }

返された conversationId で会話を続行します。

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --input-message '{"body": "Medications Section", "type": "confirmation_response"}' \ --conversation-id "conv-a1b2c3d4-e5f6-7890"

ステップ 3: 同期変換でテストする (オプション)

同期変換エンドポイントは REST 専用です。公開する前に、サンプルドキュメントに対してプロファイルをテストします。

curl -X POST "https://datatransformation.healthlake.us-west-2.amazonaws.com/transform-data" \ --aws-sigv4 "aws:amz:us-west-2:healthlake" \ --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \ -H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "InputData": {"CcdaInput": "<?xml version=\"1.0\"?><ClinicalDocument>...</ClinicalDocument>"}, "DriftDetectionEnabled": true }'

レスポンス:

{ "TransformedData": "{\"resourceType\":\"Bundle\",\"type\":\"collection\",\"entry\":[...]}", "DriftReport": "{\"coverageRate\":0.95,\"unmappedElements\":[...]}" }
  • TransformedData: JSON エンコードされた FHIR バンドル文字列として変換された FHIR リソース。

  • DriftReport: DriftDetectionEnabled が true の場合にのみ表示されます。カバレッジ率とマッピングされていないソース要素を示す JSON エンコードされたドリフトレポート。

注記

ProvenanceEnabled のデフォルトは true です。リクエストで「ProvenanceEnabledリソースが生成されます。

ステップ 4: プロファイルを公開する

aws healthlake publish-data-transformation-profile \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --change-description "Initial release - Patient, Observation, Medication mappings"

公開すると、イミュータブルバージョン (v1) が作成されます。ドラフトは編集可能であり、一括ジョブは自動的に最新の公開バージョンを使用します。

ステップ 5: データを FHIR に変換する

データ変換エージェントには、ソースデータを FHIR R4 に変換する 3 つの方法があります。

1. 同期変換

curl -X POST "https://datatransformation.healthlake.us-west-2.amazonaws.com/transform-data" \ --aws-sigv4 "aws:amz:us-west-2:healthlake" \ --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \ -H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "InputData": {"CcdaInput": "<?xml version=\"1.0\"?><ClinicalDocument>...</ClinicalDocument>"}, "DriftDetectionEnabled": true }'

2. Amazon S3 への一括変換ジョブを実行する

aws healthlake start-data-transformation-job \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --input-data-config '{"S3Uri": "s3://my-source-bucket/ccda-files/", "SourceFormat": "CCDA"}' \ --output-data-config '{"S3Configuration": {"S3Uri": "s3://my-output-bucket/fhir-output/", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd1234"}}' \ --data-access-role-arn "arn:aws:iam::123456789012:role/DTA-DataAccessRole" \ --client-token "unique-token-$(date +%s)" \ --job-name "cardiology-batch-july" \ --drift-detection-enabled

ジョブをモニタリングします。

# Check status aws healthlake describe-data-transformation-job \ --region us-west-2 \ --job-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" # List recent completed jobs aws healthlake list-data-transformation-jobs \ --region us-west-2 \ --job-status COMPLETED \ --submitted-after "2026-07-01T00:00:00Z"

3. 一括変換ジョブを実行して HealthLake データストアに取り込む

ソースファイルを変換し、生成された FHIR リソースを 1 つのステップで HealthLake データストアに直接ロードするには、変換プロファイルフィールドで既存の StartFHIRImportJob API を使用します。

aws healthlake start-fhir-import-job \ --region us-west-2 \ --datastore-id "your-datastore-id" \ --input-data-config '{"S3Uri": "s3://my-source-bucket/ccda-files/"}' \ --job-output-data-config '{"S3Configuration": {"S3Uri": "s3://my-output-bucket/import-output/", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd1234"}}' \ --data-access-role-arn "arn:aws:iam::123456789012:role/DTA-DataAccessRole" \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --input-format "CCDA" \ --drift-detection-enabled \ --job-name "cardiology-import-july" \ --client-token "import-$(date +%s)"

これにより、2 フェーズのジョブが開始されます。まず、サービスは公開されたプロファイルを使用してソースファイルを変換し、次に結果の FHIR リソースをデータストアに取り込みます。取り込みが完了すると、データは FHIR REST API を介してすぐにクエリできます。

ジョブをモニタリングします。

aws healthlake describe-fhir-import-job \ --region us-west-2 \ --datastore-id "your-datastore-id" \ --job-id "returned-job-id"
注記

データストアは ACTIVE 状態である必要があります。Provenance はデフォルトで有効になっています。データアクセスロールには、スタンドアロンジョブと同じ Amazon S3 と AWS KMS アクセス許可が必要です。