AWS CLI를 사용한 HealthLake 예제 - AWS Command Line Interface

이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.

AWS CLI를 사용한 HealthLake 예제

다음 코드 예제에서는 HealthLake에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시에서는 create-fhir-datastore을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: SigV4-enabled 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: FHIR 지원 HealthLake 데이터 스토어에서 SMART 생성

다음 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)" }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어 생성 및 모니터링을 참조하세요.

다음 코드 예시에서는 delete-fhir-datastore을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 데이터 스토어를 삭제하려면

다음 delete-fhir-datastore 예제에서는 AWS HealthLake에서 데이터 스토어와 모든 콘텐츠를 삭제하는 방법을 보여 줍니다.

aws healthlake delete-fhir-datastore \ --datastore-id (Data store ID)

출력:

{ "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": "DELETING", "DatastoreId": "(Data store ID)" }

자세한 내용은 AWS HealthLake 개발자 안내서의 FHIR 데이터 스토어 <https://docs.aws.amazon.com/healthlake/latest/devguide/working-with-FHIR-healthlake.html> 생성 및 모니터링을 참조하세요.

다음 코드 예시에서는 describe-fhir-datastore을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 데이터 스토어를 설명하려면

다음 describe-fhir-datastore 예제에서는 AWS HealthLake에서 데이터 스토어의 속성을 찾는 방법을 보여 줍니다.

aws healthlake describe-fhir-datastore \ --datastore-id "1f2f459836ac6c513ce899f9e4f66a59"

출력:

{ "DatastoreProperties": { "PreloadDataConfig": { "PreloadDataType": "SYNTHEA" }, "SseConfiguration": { "KmsEncryptionConfig": { "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }, "DatastoreName": "Demo", "DatastoreArn": "arn:aws:healthlake:us-east-1:<AWS Account ID>:datastore/<Data store ID>", "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/<Data store ID>/r4/", "DatastoreStatus": "ACTIVE", "DatastoreTypeVersion": "R4", "CreatedAt": 1603761064.881, "DatastoreId": "<Data store ID>", "IdentityProviderConfiguration": { "AuthorizationStrategy": "AWS_AUTH", "FineGrainedAuthorizationEnabled": false } } }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어 생성 및 모니터링을 참조하세요.

다음 코드 예시에서는 describe-fhir-export-job을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 내보내기 작업을 설명하는 방법

다음 describe-fhir-export-job 예제는 AWS HealthLake 에서 FHIR 내보내기 작업의 속성을 찾는 방법을 보여 줍니다.

aws healthlake describe-fhir-export-job \ --datastore-id (Data store ID) \ --job-id 9b9a51943afaedd0a8c0c26c49135a31

출력:

{ "ExportJobProperties": { "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", "JobStatus": "IN_PROGRESS", "JobId": "9009813e9d69ba7cf79bcb3468780f16", "SubmitTime": "2024-11-20T11:31:46.672000-05:00", "EndTime": "2024-11-20T11:34:01.636000-05:00", "OutputDataConfig": { "S3Configuration": { "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", "KmsKeyId": "arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83" } }, "DatastoreId": "(Data store ID)" } }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어에서 파일 내보내기를 참조하세요.

다음 코드 예시에서는 describe-fhir-import-job을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 가져오기 작업을 설명하는 방법

다음 describe-fhir-import-job 예제에서는 AWS HealthLake를 사용하여 FHIR 가져오기 작업의 속성을 학습하는 방법을 보여 줍니다.

aws healthlake describe-fhir-import-job \ --datastore-id (Data store ID) \ --job-id c145fbb27b192af392f8ce6e7838e34f

출력:

{ "ImportJobProperties": { "InputDataConfig": { "S3Uri": "s3://(Bucket Name)/(Prefix Name)/" { "arrayitem2": 2 } }, "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", "JobStatus": "COMPLETED", "JobId": "c145fbb27b192af392f8ce6e7838e34f", "SubmitTime": 1606272542.161, "EndTime": 1606272609.497, "DatastoreId": "(Data store ID)" } }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어에 파일 가져오기를 참조하세요.

다음 코드 예시에서는 list-fhir-datastores을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 데이터 스토어를 나열하려면

다음 list-fhir-datastores 예제는 명령을 사용하는 방법과 사용자가 AWS HealthLake의 데이터 스토어 상태를 기반으로 결과를 필터링하는 방법을 보여 줍니다.

aws healthlake list-fhir-datastores \ --filter DatastoreStatus=ACTIVE

출력:

{ "DatastorePropertiesList": [ { "PreloadDataConfig": { "PreloadDataType": "SYNTHEA" }, "SseConfiguration": { "KmsEncryptionConfig": { "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }, "DatastoreName": "Demo", "DatastoreArn": "arn:aws:healthlake:us-east-1:<AWS Account ID>:datastore/<Data store ID>", "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/<Data store ID>/r4/", "DatastoreStatus": "ACTIVE", "DatastoreTypeVersion": "R4", "CreatedAt": 1603761064.881, "DatastoreId": "<Data store ID>", "IdentityProviderConfiguration": { "AuthorizationStrategy": "AWS_AUTH", "FineGrainedAuthorizationEnabled": false } } ] }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어 생성 및 모니터링을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListFHIRDatastores 섹션을 참조하세요.

다음 코드 예시에서는 list-fhir-export-jobs을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 FHIR 내보내기 작업을 나열하는 방법

다음 list-fhir-export-jobs 예제에서는 명령을 사용하여 계정과 연결된 내보내기 작업 목록을 보는 방법을 보여 줍니다.

aws healthlake list-fhir-export-jobs \ --datastore-id (Data store ID) \ --submitted-before (DATE like 2024-10-13T19:00:00Z)\ --submitted-after (DATE like 2020-10-13T19:00:00Z )\ --job-name "FHIR-EXPORT" \ --job-status SUBMITTED \ --max-results (Integer between 1 and 500)

출력:

{ "ExportJobPropertiesList": [ { "ExportJobProperties": { "OutputDataConfig": { "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", "S3Configuration": { "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", "KmsKeyId": "(KmsKey Id)" } }, "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", "JobStatus": "COMPLETED", "JobId": "c145fbb27b192af392f8ce6e7838e34f", "JobName": "FHIR-EXPORT", "SubmitTime": "2024-11-20T11:31:46.672000-05:00", "EndTime": "2024-11-20T11:34:01.636000-05:00", "DatastoreId": "(Data store ID)" } } ] }

자세한 내용은 AWS HealthLake 개발자 안내서의 FHIR 데이터 스토어에서 파일 내보내기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListFHIRExportJobs 섹션을 참조하세요.

다음 코드 예시에서는 list-fhir-import-jobs을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 FHIR 가져오기 작업을 나열하는 방법

다음 list-fhir-import-jobs 예제에서는 명령을 사용하여 계정과 연결된 모든 가져오기 작업 목록을 보는 방법을 보여 줍니다.

aws healthlake list-fhir-import-jobs \ --datastore-id (Data store ID) \ --submitted-before (DATE like 2024-10-13T19:00:00Z) \ --submitted-after (DATE like 2020-10-13T19:00:00Z ) \ --job-name "FHIR-IMPORT" \ --job-status SUBMITTED \ -max-results (Integer between 1 and 500)

출력:

{ "ImportJobPropertiesList": [ { "JobId": "c0fddbf76f238297632d4aebdbfc9ddf", "JobStatus": "COMPLETED", "SubmitTime": "2024-11-20T10:08:46.813000-05:00", "EndTime": "2024-11-20T10:10:09.093000-05:00", "DatastoreId": "(Data store ID)", "InputDataConfig": { "S3Uri": "s3://(Bucket Name)/(Prefix Name)/" }, "JobOutputDataConfig": { "S3Configuration": { "S3Uri": "s3://(Bucket Name)/import/6407b9ae4c2def3cb6f1a46a0c599ec0-FHIR_IMPORT-c0fddbf76f238297632d4aebdbfc9ddf/", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/b7f645cb-e564-4981-8672-9e012d1ff1a0" } }, "JobProgressReport": { "TotalNumberOfScannedFiles": 1, "TotalSizeOfScannedFilesInMB": 0.001798, "TotalNumberOfImportedFiles": 1, "TotalNumberOfResourcesScanned": 1, "TotalNumberOfResourcesImported": 1, "TotalNumberOfResourcesWithCustomerError": 0, "TotalNumberOfFilesReadWithCustomerError": 0, "Throughput": 0.0 }, "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)" } ] }

자세한 내용은 AWS HealthLake 개발자 안내서의 FHIR 데이터 스토어에 파일 가져오기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListFHIRImportJobs 섹션을 참조하세요.

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 스토어의 태그를 나열하려면

다음 list-tags-for-resource 예제에서는 지정된 데이터 스토어와 연결된 태그를 나열합니다.

aws healthlake list-tags-for-resource \ --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe"

출력:

{ "tags": { "key": "value", "key1": "value1" } }

자세한 내용은 AWS HealthLake 개발자 안내서의 AWS HealthLake의 리소스에 태그 지정을 참조하세요.

다음 코드 예시에서는 start-fhir-export-job을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 내보내기 작업을 시작하는 방법

다음 start-fhir-export-job 예제에서는 AWS HealthLake를 사용하여 FHIR 내보내기 작업을 시작하는 방법을 보여줍니다.

aws healthlake start-fhir-export-job \ --output-data-config '{"S3Configuration": {"S3Uri":"s3://(Bucket Name)/(Prefix Name)/","KmsKeyId":"arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"}}' \ --datastore-id (Data store ID) \ --data-access-role-arn arn:aws:iam::(AWS Account ID):role/(Role Name)

출력:

{ "DatastoreId": "(Data store ID)", "JobStatus": "SUBMITTED", "JobId": "9b9a51943afaedd0a8c0c26c49135a31" }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어에서 파일 내보내기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조StartFHIRExportJob 섹션을 참조하세요.

다음 코드 예시에서는 start-fhir-import-job을 사용하는 방법을 보여 줍니다.

AWS CLI

FHIR 가져오기 작업을 시작하는 방법

다음 start-fhir-import-job 예제에서는 AWS HealthLake를 사용하여 FHIR 가져오기 작업을 시작하는 방법을 보여줍니다.

aws healthlake start-fhir-import-job \ --input-data-config S3Uri="s3://(Bucket Name)/(Prefix Name)/" \ --job-output-data-config '{"S3Configuration": {"S3Uri":"s3://(Bucket Name)/(Prefix Name)/","KmsKeyId":"arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"}}' \ --datastore-id (Data store ID) \ --data-access-role-arn "arn:aws:iam::(AWS Account ID):role/(Role Name)"

출력:

{ "DatastoreId": "(Data store ID)", "JobStatus": "SUBMITTED", "JobId": "c145fbb27b192af392f8ce6e7838e34f" }

자세한 내용은 AWS HealthLake 개발자 안내서FHIR 데이터 스토어에 파일 가져오기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조StartFHIRImportJob 섹션을 참조하세요.

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 스토어에 태그를 추가하려면

다음 tag-resource 예제에서는 데이터 스토어에 태그를 추가하는 방법을 보여 줍니다.

aws healthlake tag-resource \ --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe" \ --tags '[{"Key": "key1", "Value": "value1"}]'

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS HealthLake개발자 안내서데이터 스토어에 태그 추가를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 스토어에서 태그를 제거하려면

다음 untag-resource 예제에서는 데이터 스토어에서 태그를 제거하는 방법을 보여 줍니다.

aws healthlake untag-resource \ --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/b91723d65c6fdeb1d26543a49d2ed1fa" \ --tag-keys '["key1"]'

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS HealthLake 개발자 안내서데이터 스토어에서 태그 제거를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.